MCPcopy Create free account
hub / github.com/Tencent/libpag / CreateGLProgram

Function CreateGLProgram

src/rendering/filters/utils/FilterHelper.cpp:106–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104}
105
106unsigned CreateGLProgram(tgfx::Context* context, const std::string& vertex,
107 const std::string& fragment) {
108 auto vertexShader = LoadGLShader(context, GL_VERTEX_SHADER, vertex);
109 if (vertexShader == 0) {
110 return 0;
111 }
112 auto fragmentShader = LoadGLShader(context, GL_FRAGMENT_SHADER, fragment);
113 if (fragmentShader == 0) {
114 return 0;
115 }
116 auto gl = tgfx::GLFunctions::Get(context);
117 auto programHandle = gl->createProgram();
118 gl->attachShader(programHandle, vertexShader);
119 gl->attachShader(programHandle, fragmentShader);
120 gl->linkProgram(programHandle);
121 int success;
122 gl->getProgramiv(programHandle, GL_LINK_STATUS, &success);
123 if (!success) {
124 char infoLog[512];
125 gl->getProgramInfoLog(programHandle, 512, nullptr, infoLog);
126 gl->deleteProgram(programHandle);
127 }
128 gl->deleteShader(vertexShader);
129 gl->deleteShader(fragmentShader);
130 return programHandle;
131}
132
133void ActiveGLTexture(tgfx::Context* context, int unitIndex, const tgfx::GLTextureInfo* sampler) {
134 if (sampler == nullptr) {

Callers 1

MakeMethod · 0.85

Calls 1

LoadGLShaderFunction · 0.85

Tested by

no test coverage detected