1. When passing data to a uniform in a shader, the ID of the shader must be bound first, that is, gluseProgram (ID), and the operation must be next to each other. If another shader is bound in the middle, then the data passed will have problems.

2, Normal =mat3(transpose(inverse(model)) *aNormal; 2, Normal =mat3(transpose(inverse))*aNormal;

3. In matrix transformation, generally scale ->; Rotation – & gt; Translation, in turn, transform the modelMat = modelData scale rotate translate * * *, but when using GLM library of built-in method, need to write, in turn, see https://blog.csdn.net/wangdingqiaoit/article/details/51531002 specific reasons, at the same time is highly recommended to see the great god of the tutorial.

Error :gl.h included before glew.h :gl.h included before glew.h: error:gl.h included before glew.h gl/glew.h> Put it on top.

Reproduced in: https://www.cnblogs.com/stigerzergold/p/10965005.html

### Read More:

- OpenGL learning — problems encountered in compiling OpenGL program for the first time
- Record of problems encountered in using vs2017
- Problems encountered in vs2015 configuration using OpenGL environment
- Problems and solutions in learning opengl
- Summary of problems encountered in compiling opengl code
- OpenGL learning notes: Problems and Solutions
- Problems encountered in configuring OpenGL development environment in vs2015
- Problems encountered in running OpenGL
- Some problems and solutions in learning opengl in vs2017
- Small problems encountered in compiling OpenGL under VS2010
- Record the problems encountered when VTK is used with QT
- Summary of problems encountered in using OpenGL in QT
- Configuration of OpenGL under CodeBlocks and solutions to problems encountered
- Summary of problems encountered by CodeBlocks + OpenGL
- Android learning notes 03: some problems and solutions in the learning process
- OpenGL Usage Summary (including problems encountered and solutions)
- Problems in the second day of Android learning
- OpenGL learning notes and other learning thinking
- Problems in learning Aidl
- Problems encountered in VTK installation