MCPcopy Create free account
hub / github.com/android/ndk-samples / createShader

Function createShader

gles3jni/app/src/main/cpp/gles3jni.cpp:43–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43GLuint createShader(GLenum shaderType, const char* src) {
44 GLuint shader = glCreateShader(shaderType);
45 if (!shader) {
46 checkGlError("glCreateShader");
47 return 0;
48 }
49 glShaderSource(shader, 1, &src, NULL);
50
51 GLint compiled = GL_FALSE;
52 glCompileShader(shader);
53 glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
54 if (!compiled) {
55 GLint infoLogLen = 0;
56 glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLen);
57 if (infoLogLen > 0) {
58 GLchar* infoLog = (GLchar*)malloc(infoLogLen);
59 if (infoLog) {
60 glGetShaderInfoLog(shader, infoLogLen, NULL, infoLog);
61 ALOGE("Could not compile %s shader:\n%s\n",
62 shaderType == GL_VERTEX_SHADER ? "vertex" : "fragment", infoLog);
63 free(infoLog);
64 }
65 }
66 glDeleteShader(shader);
67 return 0;
68 }
69
70 return shader;
71}
72
73GLuint createProgram(const char* vtxSrc, const char* fragSrc) {
74 GLuint vtxShader = 0;

Callers 1

createProgramFunction · 0.85

Calls 1

checkGlErrorFunction · 0.70

Tested by

no test coverage detected