我想渲染場景中的一對點燈,但無法獲得實際燈光照亮。我開始工作的唯一的光線是平行光最初點亮的情景:Point Light not rendering
其中顯示了兩塊石頭是因爲這兩個點光源相同的位置。我玩弄了漫反射,顏色和衰減值,但得到了相同的結果。但是,無論是改變光的氛圍時,顏色改變:
我的內GLSL的計算是正確的,我的制服是正確讀取爲好。但不知何故,我失去了我的瀰漫強度。 m_pointLight[0].DiffuseIntensity
未註冊更改,但如果使用註釋AmbientIntensity
,則場景呈紅色。
m_scale += 0.0057f;
// changing the value makes scene red
m_pointLight[0].AmbientIntensity = 0.5f;
// changing the value does nothing
m_pointLight[0].DiffuseIntensity = 1.5f;
// light color is red
m_pointLight[0].Color = glm::vec3(1.0f, 0.0f, 0.0f);
// position of light (same as rock)
m_pointLight[0].Position = glm::vec3(3.0f, 1.0f, FieldDepth * (cosf(m_scale) + 1.0f)/2.0f);
// Light decay
m_pointLight[0].Attenuation.Linear = 0.01f;
也許你沒有正確設置光線的位置 –
@ratchetfreak我硬編碼的燈光位置,並添加了一個實際的相機,所以我可以看到實時發生的事情。當我像在圖片中一樣移動時,我得到了相同的結果。紅色和藍色留在相機視圖的左側和右側,而不是停留在原地。 – SpicyWeenie
然後你設置光*相機空間*而不是*對象空間* –