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

Function Init

test/browser/test_sdl_gl_read.c:51–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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