1:创建Shader glCreateShader
2:指定Shader源代码 glShaderSource
3:编译Shader glCompileShader
4:获取shader状态 glGetShaderiv
5:如果出错 就 获取shader日志信息 glGetShaderInfoLog
顶点Shader和片段Shader 上面的都走一遍(前5点)
6:创建程序 glCreateProgram
7:加载顶点Shader和片段Shader glAttachShader
8:链接程序 glLinkProgram
9:检查链接程序状态 glGetProgramiv
10:如果出错 就 获取程序日子信息 glGetProgramInfoLog
class ShaderId{
public:
ShaderId(){id=-1;};
public:
int id;
};
class ShaderVeual{//编译vs和fs后保存的id
public:
ShaderVeual(){_programId=-1;}
public:
int _programId;
ShaderId _vertex; //记录顶点Shader ID
ShaderId _fragment;//记录片段Shader ID
};
virtual ShaderVeual createProgram(const char* vertex,const char* fragment){
ShaderVeual program;
bool error = true;
GLchar messages[256];
do{
if(vertex){//顶点Shader
//创建Shader (GL_VERTEX_SHADER 顶点Shader,GL_FRAGMENT_SHADER 片段Shader)
program._vertex.id = glCreate