#include #include #include #include #define WINDSIZEX 100 #define WINDSIZEY 100 GLuint shader, program; GLint compiled, linked; const GLchar *shaderSrc[] = { "void main() \n" "{ \n" " gl_FragColor = gl_Color; \n" "} \n" }; void init(void) { shader = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB); glShaderSourceARB(shader, 1, shaderSrc, NULL); program = glCreateProgramObjectARB(); glAttachObjectARB(program, shader); glCompileShaderARB(shader); glGetObjectParameterivARB(shader, GL_OBJECT_COMPILE_STATUS_ARB, &compiled); if (!compiled) { GLint length; GLchar* log; // glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length); log = (GLchar*)malloc(1024); glGetInfoLogARB(shader, 1024, &length, log); printf("compile log = %s\n", log); }else printf("success\n"); } void initi1(void) { program = glCreateProgram(); shader = glCreateShader(GL_FRAGMENT_SHADER); glAttachShader(program, shader); glShaderSource(shader, 1, shaderSrc, NULL); glCompileShader(shader); glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled); if (!compiled) { GLint length; GLchar* log; glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length); log = (GLchar*)malloc(length); glGetShaderInfoLog(shader, length, &length, log); printf("compile log = %s\n", log); }else printf("success\n"); } static void test(void) { } void display(void) { glViewport(0, 0, WINDSIZEX, WINDSIZEY); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, WINDSIZEX, 0, WINDSIZEY); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); test(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(WINDSIZEX, WINDSIZEY); glutInitWindowPosition(100, 100); glutCreateWindow(argv[0]); init(); glutDisplayFunc(display); glutMainLoop(); return 0; }