MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / Init

Function Init

test/browser/test_sdl_gl_mapbuffers.c:52–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50}
51
52int Init ()
53{
54 GLbyte vShaderStr[] =
55 "attribute vec4 vPosition; \n"
56 "void main() \n"
57 "{ \n"
58 " gl_Position = vPosition; \n"
59 "} \n";
60
61 GLbyte fShaderStr[] =
62 "precision mediump float;\n"\
63 "void main() \n"
64 "{ \n"
65 " gl_FragColor = vec4 ( 0.0, 0.0, 1.0, 1.0 );\n"
66 "} \n";
67
68 GLuint vertexShader;
69 GLuint fragmentShader;
70 GLint linked;
71
72 vertexShader = LoadShader ( GL_VERTEX_SHADER, (const char *)vShaderStr );
73 fragmentShader = LoadShader ( GL_FRAGMENT_SHADER, (const char *)fShaderStr );
74
75 programObject = glCreateProgram ( );
76 if ( programObject == 0 )
77 return 0;
78
79 glAttachShader ( programObject, vertexShader );
80 glAttachShader ( programObject, fragmentShader );
81 glBindAttribLocation ( programObject, 0, "vPosition" );
82 glLinkProgram ( programObject );
83 glGetProgramiv ( programObject, GL_LINK_STATUS, &linked );
84 if ( !linked )
85 {
86 GLint infoLen = 0;
87 glGetProgramiv ( programObject, GL_INFO_LOG_LENGTH, &infoLen );
88 if ( infoLen > 1 )
89 {
90 char* infoLog = malloc (sizeof(char) * infoLen );
91 glGetProgramInfoLog ( programObject, infoLen, NULL, infoLog );
92 printf ( "Error linking program:\n%s\n", infoLog );
93 free ( infoLog );
94 }
95 glDeleteProgram ( programObject );
96 return GL_FALSE;
97 }
98
99 glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f );
100 return GL_TRUE;
101}
102
103static const int kNegativeTest = 0;
104static const int kPositiveTest = 1;

Callers 1

mainFunction · 0.70

Calls 4

printfFunction · 0.85
LoadShaderFunction · 0.70
mallocFunction · 0.50
freeFunction · 0.50

Tested by

no test coverage detected