occt: master 8f8fe4a9

Author Committer Branch Timestamp Parent
kgv bugmaster master 2021-01-24 15:31:54 master 776302d4
Affected Issues  0032083: Visualization, TKOpenGl - PBR rendering is unavailable on Apple A12 Bionic (iPad)
Changeset 0032083: Visualization, TKOpenGl - PBR rendering is unavailable on Apple A12 Bionic (iPad)

Added "#define occLight_Index(theId) 0" workaround allowing to compile
a single light source PBR shading program on OpenGL ES 2.0,
as it disallows non-constant index expressions (even trivially deducable at compile-time).

PBR lookup table is now automatically resized to RGBA format
when RG texture format is unsupported (OpenGL ES 2.0).

OpenGl_ShaderManager now allows compiling PBR shaders
using WebGL 1.0 + GL_EXT_shader_texture_lod extension.

PBR IBL baking GLSL program has been redisigned to use
if/else to avoid non-constant index expressions.
Diffuse baking implements packing float values into a temporary RGBA8 texture
as a fallback solution on WebGL 1.0 implementations supporting float textures
but not as FBO render targets.

OpenGl_PBREnvironment now uses GL_FRAMEBUFFER instead of GL_DRAW_FRAMEBUFFER
for compatibility with OpenGL ES 2.0.
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_PBREnvironment.cxx Diff File
mod - src/OpenGl/OpenGl_PBREnvironment.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff File
mod - src/OpenGl/OpenGl_Texture.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.hxx Diff File
mod - src/OpenGl/OpenGl_TextureFormat.cxx Diff File
mod - src/OpenGl/OpenGl_TextureFormat.hxx Diff File
mod - src/OpenGl/OpenGl_View.cxx Diff File
mod - src/Shaders/Declarations.glsl Diff File
mod - src/Shaders/DirectionalLightShadow.glsl Diff File
mod - src/Shaders/PBREnvBaking.fs Diff File
mod - src/Shaders/PBREnvBaking.vs Diff File
mod - src/Shaders/Shaders_Declarations_glsl.pxx Diff File
mod - src/Shaders/Shaders_DirectionalLightShadow_glsl.pxx Diff File
mod - src/Shaders/Shaders_PBREnvBaking_fs.pxx Diff File
mod - src/Shaders/Shaders_PBREnvBaking_vs.pxx Diff File