1
我正在嘗試在場景中建立聚光燈,以便對圖形類進行介紹。該任務指定我必須在modernGL中做所有事情,因此我無法使用任何遺留問題。將光世界空間座標轉換爲眼圖座標
我一直在閱讀OpenGL 4.0着色語言手冊以獲得這方面的幫助,但我無法弄清楚如何獲取燈光的眼睛座標。我知道我希望燈光在世界空間中的位置和方向,並且我試圖通過以下方式將它們轉換到眼睛空間。
//mv = inverse(mv);
vec3 light = vec3(vec4(0.0, 15.0, 0.0, 1.0) * mv);
vec3 direction = vec3(vec4(0.0, -1.0, 0.0, 1.0) * mv);
當MV由
glm::mat4 modelview_matrix = glm::lookAt(glm::vec3(window.camera.x, window.camera.y, window.camera.z), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 1.0f, 0.0f));
產生我的模型視圖矩陣沒有它的任何變換。正如你所看到的,我試圖乘以模型視圖和模型視圖的逆來獲得眼睛空間。我確信這些都不起作用,因爲當我移動到對象的反面時,我的對象上的高光突出顯示。 (也就是說,如果我在看的是,光我不應該看到鏡面高光的物體的對面)
工作感謝 – JME 2013-03-17 01:58:51
@JohnathonEnder我可以問你爲什麼試圖將你的光座標轉換成眼睛空間?另外,如果它幫助你,接受答案呢? – Xymostech 2013-03-17 02:00:05
@NicolBolas你說得對。我刪除了那一點。 – Xymostech 2013-03-17 18:11:01