1
如何確定我需要做什麼變換來填充整個窗口現代 OpenGL。舉例來說,我有一個800 x 600窗口,兩個三角形頂點的座標是從-1和1延伸的。如果沒有任何類型的變換,這些座標將填充800 x 600窗口,因爲OpenGL的座標從-1延伸到1如果我想使用標準的MVP轉換呢?我如何確定需要完成什麼才能填滿整個窗口。考慮以下代碼:使方塊填滿整個窗口
glm::mat4 projectionMatrix = glm::perspective(60.0f, 4.f/3.f, 0.1f, 100.0f); // gluPerspective equivalent for those who may not know about glm
glm::mat4 viewMatrix = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -5.0f));;
glm::mat4 modelMatrix = glm::mat4(1.0f);
具有相同的座標。我現在可以在窗戶中間的某處找到一個方形。假設我不改變投影矩陣,需要對View和Model矩陣做出什麼樣的改變?我理解矩陣數學,但不瞭解它與窗口座標本身的關係。
任何人都可以幫助我理解這一點嗎?
我從來沒有能夠正確的工作。爲什麼不這樣做:glm :: mat4 projectionMatrix = glm :: ortho(0.f,800.f,0.f,600.f,-1.f,1.f); glm :: mat4 viewMatrix = glm :: translate(glm :: mat4(1.0f),glm :: vec3(0.0f,0.0f,0.0f));;;;;;;;;;;####################################################################### glm :: mat4 modelMatrix = glm :: mat4(1.0f)顯示上述座標的正方形?謝謝! – foobar5512