opengl 矩阵变换
opengl 坐标系的变换如下图:
我们给我们的图形,设置好顶点坐标后,通过Model Matrix 变换为世界坐标,然后 view Matrix相机坐标,Projection Matrix 屏幕坐标x,y ∈(-1,1)。
矩阵变换的结果是把三维的世界最终裁剪为二维的屏幕,数学的说法就是从一个集合到另一个集合的映射。
#include "glew.h"
#include <glfw3.h>
#include "common/loadShader.h"
#include "glm.hpp"
#include "ext.hpp"
int main(void)
{
GLFWwindow* window;
/* Initialize the library */
if (!glfwInit())
return -1;
/* Create a windowed mode window and its OpenGL context */
window = glfwCreateWindow(480, 320, "Hello World", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
/* Make the window's context current */
glfwMakeContextCurrent(window);
// Needed in core profile
if( glewInit() != GLEW_OK)
{
glfwTerminate();
return -1;
}
// An array of 3 vectors which represents 3 ver

这篇博客介绍了OpenGL中的矩阵变换,包括模型矩阵、视图矩阵和投影矩阵的使用。通过实例展示了如何进行平移、旋转和缩放操作,并将这些变换组合成ModelViewProjection矩阵,用于在shader中更新顶点位置,实现三维图形在屏幕上的正确绘制。
最低0.47元/天 解锁文章
1334

被折叠的 条评论
为什么被折叠?



