1. 正射投影
step1. 创建一个正射投影矩阵,GLM的内置函数glm::ortho:
glm::ortho(float left, float right, float bottom, float top, float zNear, float zFar);
left: 视口左坐标
right:视口右坐标
bottom:视口下坐标
top:视口上坐标
zNear:近平面
zFar:远平面
eg. glm::ortho(0.0f, 800.0f, 0.0f, 600.0f, 0.1f, 100.0f);
2. 透视(Perspective)
创建一个透视投影矩阵创建了一个定义了可视空间的大平截头体,任何在这个平截头体以外的东西最后都不会出现在裁剪空间体积内,并且将会受到裁剪。
glm::perspective(float fovy, float aspect, float zNear, float zFar);
fovy: 视锥上下面之间的夹角
aspect: 视口宽高比,第三、四个参数分别为近平面和远平面的深度。
zNear:近平面
zFar:远平面
eg. glm::mat4 proj = glm::perspective(glm::radians(45.0f), (float)width/(float)height, 0.1f, 100.0f);