颜色 - LearnOpenGL CN 这部分是OpenGL光照部分的学习笔记,内容比较杂乱
绘制出光源模型
LearnOpenGL中给的是正方形的光源模型,这里修改成了球形的光源,更符合一些。
【生成球形顶点坐标】之前提到过,用两个欧拉角可以生成一个方向向量,这里一个欧拉角从0到2π被等分成N份,另一个欧拉角从0到π被等分成N份。如下图,可以看到这两个欧拉角正好可以全覆盖整个球形的表面。
然后用和上一篇笔记一样的方法,把欧拉角转换为3D空间的坐标,并取每4个相邻的顶点构成的矩形创建两个三角形的顶点索引。
// 创造球型光源顶点 // 生成球的顶点 int Y_SEGMENTS = 50; int X_SEGMENTS = 50; vector<float> sphereVertices; vector<int> sphereIndices; float PI = 3.1415926535; for (int y = 0;y <= Y_SEGMENTS;y++) { for (int x = 0;x <= X_SEGMENTS;x+&#