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

Function Init

test/browser/test_sdl2_gl_read.c:50–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

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