初学OpenGL

     下学期是本科最后一个学期了,毕业设计选的题目是OpenGL三维动态场景的绘制。以前从没有接触过这方面的东西。于是去图书馆借了几本书。作为入门,打算读一下:OpenGL超级宝典和OpenGL红宝书。其他的就有选择的读一下。

      目前读了一部分。里面有大量关于矩阵变换的,比如模型矩阵,视图矩阵,投影矩阵,模型视图投影矩阵。模型矩阵是用来操作视景体的,视图矩阵是操作照相机(也即观察者视角)的,这两个矩阵本质上是作用是相同的;比如在坐标系中,对于投影矩阵变换将视景体沿x轴负向移动距离6,对于视图矩阵变换将视景体沿x轴正向移动距离6,这两种变换的视觉效果是相同的。而投影矩阵的作用是将视景体从固定坐标系投射到屏幕坐标系中。这几种变换基于矩阵,并且可以通过将矩阵相乘而合成对应两者的效果,比如模型矩阵与视图矩阵合成得到模型视图矩阵,在与投影矩阵合成得到模型视图投影矩阵。书上是这么说的,不过没有给出严格的数学证明,因此有机会得找找这方面的证明看看,以更好的理解变换。宏观上的理解,得以微观上的机制为基础,不然只能是一知半解。里面还有一个问题不太明白:顶点法向量。根据书上说的,顶点法向量是以该顶点为顶点的所有面的法向量的合成。那么问题是:OpenGL微观上渲染三维图形都是用面的吗?如果微观上的机制不是面而是顶点的话,那么一个顶点周围有很多顶点,必然导致很多面,如此会不会降低渲染的速度呢?还有一个问题是比如渲染一个平面三角形,在着色器里提供三角形的容器,以及为三个顶点选的颜色,渲染的时候,除了三个顶点外,三角形的内部那部分的颜色是怎么计算的呢?因为只为三个顶点设置了颜色。中间那部分是不是在光栅化的时候已经给颜色在内部设置好了呢?

   初学OpenGL,希望能够顺利!

你可能感兴趣的:(矩阵,OpenGL,初学,渲染,法向量)