1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00

0032105: Visualization, TKOpenGl - PBR flat shading GLSL program compilation error on OpenGL ES 2.0

OpenGl_ShaderManager::defaultGlslVersion() - fixed combining two extensions in header.
This commit is contained in:
kgv 2021-02-02 00:41:01 +03:00 committed by bugmaster
parent e1d17cebe2
commit 8df3104cd2

View File

@ -1764,6 +1764,7 @@ int OpenGl_ShaderManager::defaultGlslVersion (const Handle(Graphic3d_ShaderProgr
} }
else else
{ {
TCollection_AsciiString aGles2Extensions;
if (theProgram->IsPBR()) if (theProgram->IsPBR())
{ {
if (myContext->IsGlGreaterEqual (3, 0)) if (myContext->IsGlGreaterEqual (3, 0))
@ -1772,8 +1773,8 @@ int OpenGl_ShaderManager::defaultGlslVersion (const Handle(Graphic3d_ShaderProgr
} }
else if (myContext->CheckExtension ("GL_EXT_shader_texture_lod")) else if (myContext->CheckExtension ("GL_EXT_shader_texture_lod"))
{ {
theProgram->SetHeader ("#extension GL_EXT_shader_texture_lod : enable\n" aGles2Extensions += "#extension GL_EXT_shader_texture_lod : enable\n"
"#define textureCubeLod textureCubeLodEXT"); "#define textureCubeLod textureCubeLodEXT\n";
} }
} }
if ((theBits & OpenGl_PO_WriteOit) != 0 if ((theBits & OpenGl_PO_WriteOit) != 0
@ -1802,9 +1803,14 @@ int OpenGl_ShaderManager::defaultGlslVersion (const Handle(Graphic3d_ShaderProgr
} }
else if (myContext->oesStdDerivatives) else if (myContext->oesStdDerivatives)
{ {
theProgram->SetHeader ("#extension GL_OES_standard_derivatives : enable"); aGles2Extensions += "#extension GL_OES_standard_derivatives : enable\n";
} }
} }
if (!aGles2Extensions.IsEmpty())
{
theProgram->SetHeader (aGles2Extensions);
}
} }
#endif #endif