C++和OpenGL实现3D游戏编程【连载16】——详解三维坐标转二维屏幕坐标(向量和矩阵操作实战)
🔥C++和OpenGL实现3D游戏编程【目录】
1、本节课要实现的内容
在上一课我们了解了着色器,了解了部分核心模式编程内容,从中接触到了线性代数中向量和矩阵相关知识,我们已经能够感受到向量和矩阵在OpenGL编程中的重要性。特别是后期用去了解融合、光照效果,构建自己的三维世界,都需要大量向量和矩阵的相关知识。本节会就一些线性代数的基础知识进行了解和应用,并实现三维坐标向二维屏幕坐标的转换,这是后期实现鼠标选中物体功能的铺垫。但本文并非对线性代数进行专业的介绍,而是学习计算机图形学必备知识的了解及实战应用。
2、线性代数相关
线性代数是代数学的一个分支,主要处理线性关系问题,作为一个独立的分支在20世纪才形成,然而它的历史却非常久远。在线性代数发展过程中,向量概念的引入,形成了向量空间的概念。凡是线性问题都可以用向量空间的观点加以讨论。因此,向量空间及其线性变换,以及