GLuint set_shaders() { GLint vertComplied, fragComplied; char *vs, *fs; GLuint v,f,p; v = glCreateShader(GL_VERTEX_SHADER); f = glCreateShader(GL_FRAGMENT_SHADER); vs = read_shader_program("gsm4.vert"); fs = read_shader_program("gsm4.frag"); //~ printf("%s\n",vs); //~ printf("%s\n",fs); glShaderSource(v,1,(const char **)&vs,NULL); glShaderSource(f,1,(const char **)&fs,NULL); free(vs); free(fs); glCompileShader(v); glCompileShader(f); p = glCreateProgram(); glAttachShader(p,f); glAttachShader(p,v); glLinkProgram(p); glUseProgram(p); printf("shader is OK%d\n",p); return (p); }
unsigned int set_shaders(){ GLint vertCompiled, fragCompiled; char *vs, *fs; GLuint v, f, p; v = glCreateShader(GL_VERTEX_SHADER); f = glCreateShader(GL_FRAGMENT_SHADER); vs = read_shader_program("teapot.vert"); fs = read_shader_program("teapot.frag"); glShaderSource(v,1,(const char **)&vs,NULL); glShaderSource(f,1,(const char **)&fs,NULL); free(vs); free(fs); glCompileShader(v); glCompileShader(f); p = glCreateProgram(); glAttachShader(p,f); glAttachShader(p,v); glLinkProgram(p); return(p); }