坐标系统
《Unity Shader入门精要》自学笔记(二)矩阵、空间以及获取变换矩阵思路的总结
乐乐大佬这本书真的很适合入门,不仅讲的清楚,图配的也很有助于理解
这两章基本没有什么新知识,基本是在复习之前的东西(我日怎么这么快两年就过去了)
glm::ortho(left, right, bot, top, near, far);
glm::perspective(glm::radians(FOV), (float)width/(float)height, near, far);
唯一不大明白的是,我的代码明明之前 2D 的时候要转置一下变换矩阵,但是进入 3D 引入 MVP 变换之后,反而不转置才能得到正确结果,不知道是哪里漏掉了什么
Z-Buffer
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
摄像机
摄像机矩阵
文章中介绍了一种构造摄像机矩阵的方法,很巧妙,看起来和乐乐书中提到的两种构造摄像机矩阵的方法中的第一种是一个意思,当时还不明白到底是怎么做到的,现在才知道原来是借了个向量做 cross
由相机的Transform属性得到它3个坐标轴在世界空间中的表示,然后根据前面的方法得出观察变换矩阵
最后要记得乘个 S z S_z Sz = -1的矩阵缩放矩阵来给