记录OPENGL学习中遇到的问题

1,向shader中的uniform传递数据时,必须先绑定shader的ID,即glUseProgram(ID),而且必须是挨着操作的,如果中间又绑定了另外一个shader,那么此时传递的数据就会有问题。

2,顶点着色器给片段着色器传递的法向量,需要左乘模型矩阵的逆转矩阵即Normal =mat3(transpose(inverse(model)))*aNormal;

3,在矩阵变换时,一般按照缩放->旋转->平移依次变换即modelMat=translate*rotate*scale*modelData,但是在使用glm库的内置方法时,需要反过来写,具体原因见https://blog.csdn.net/wangdingqiaoit/article/details/51531002,同时强烈推荐看这位大神的教程。

4,有时程序运行时会报error:gl.h included before glew.h,一般是多处用到gl/glew.h库,且调用顺序不对造成的,解决办法就是在所有引入此库的地方,将#include <gl/glew.h>放在最上面。

猜你喜欢

转载自www.cnblogs.com/stigerzergold/p/10965005.html