2011-09-08 27 views
3

我製作了三個光源和一個立方體立方體上沒有光斑

我在臉上看不到光斑。它看起來像是整個多邊形點亮。 而且我不知道這個posible和cube是否需要更多的多邊形或mayby燈光設置是不好的。 我使用的設置。

glShadeModel(GL_SMOOTH); 
glLightf(GL_LIGHT2, GL_SPOT_CUTOFF, 150.0f); 
glLightf(GL_LIGHT2, GL_SPOT_EXPONENT, 15.0f); 
+1

你是否已經完成了'glEnable(GL_LIGHTING);'?另外,是否還有更多相關代碼可供您使用? – ssell

+2

嘗試使用除多維數據集以外的東西 - 球體或[茶壺](http://pyopengl.sourceforge.net/documentation/manual/glutSolidTeapot.3GLUT.html)。只有8個垂直方向的立方體幾乎看不到任何每個頂點的閃電。見[#2這裏](http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall/)。 –

回答

8

請記住,固定功能照明方程只在三角形的頂點進行評估並在片段內插。除非您使用GL_DOT3_RGB貼圖進行創意,否則不需要每像素照明。

因此,如果你想看到你的立方體一個不錯的聚光燈亮點,你需要讓他們更接近像素大小來細分立方體的表面:

Subdivision Example

編輯:還記得通過合理的每頂點法線。如果沒有它們,照明效果不好:)

+0

請參閱[OpenGL常見陷阱:2.可憐的Tessellation傷害燈光:](http://www.opengl.org/archives/resources/features/KilgardTechniques/oglpitfall/) – Sardathrion

相關問題