2016-01-24 36 views
1

我想學習使用OpenGL。我在使用glm :: perspective時遇到問題。每當我將它放入變換矩陣中時,窗口中都不會顯示任何內容。我究竟做錯了什麼?如何在GLM中使用透視圖?

shader代碼:

//vertex shader 
#version 450 core 
layout (location = 0) 
in vec3 position; 
uniform mat4 transform; 
void main(){ 
gl_Position =transform*vec4(position.xyz, 1.0); 
} 

代碼,確定什麼樣的價值勻變速(變換)等於:

glm::mat4 transform; 
transform = glm::perspective(45.0f, (float)900/(float)600, 0.1f, 100.0f); 
transform = glm::translate(transform, glm::vec3(cos(time)/2, sin(time)/2,0.0f)); 
transform = glm::rotate(transform(GLfloat)time, glm::vec3(sin(time), cos(time*2), 0.0f));` 

它正常工作,直到我把GLM ::角度部分在那裏。那麼它在窗口中根本不顯示。

+1

你試圖渲染什麼位置?鑑於您的視角矩陣,您確定它們*應該*可見嗎? –

+0

作爲一個良好的習慣,在原點處繪製一個單位立方體作爲參考。讓它以透視的方式呈現,其他人則會更容易。 – prabindh

回答

0

可能太晚了,但glm :: perspective的第一個參數是弧度。我假設你打算輸入45度