OpenGL (三)--一个"HelloWorld"的执行全过程
阅读时间约5-8分钟
2251862-a6406ce7d9ba66c9.gif
控件键盘来移动,其实这就是一个OpenGL的hello world
前言
依旧老规矩带着问题来阅读
- 渲染之前都做了哪些准备?
- 如何进行刷新?
- 矩阵和3d动画的关系?
伪代码流程
看似很复杂,但是静下心来看逻辑还是很清晰的(至少我这么认为/调皮)。
其中涉及到的坐标系
2251862-801678ae0c9d2878.png
需要注意的点:
- 如果是以顶点为核心进行移动,一般是以某个顶点开始计算,然后再公共多边形关系来计算其他点。
- 如果是以矩阵的方式进行移动,我们可以当
原点
为起始点,来进行计算。
矩阵
为了方便描述3D图形,会通过x,y,z来表示。 但是为了做3D图像的平移和旋转又提出了一个新的概念:齐次坐标(W)。w可以简单理解为观察者距离物体的距离。所以在矩阵中会表示为{x,y,z,w},看起来像是4维坐标。
后序
具体代码就不展示了,如果有需要可以留言。