occt: master 67312b79

Author Committer Branch Timestamp Parent
iko apn master 2019-06-20 06:53:20 master f4a7308f
Affected Issues  0030700: Visualization, TKOpenGl - support PBR Metallic-Roughness shading model
Changeset 0030700: Visualization, TKOpenGl - support PBR Metallic-Roughness shading model

Metallic-Roughness shading model Graphic3d_TOSM_PBR has been implemented.
New materials descriptors Graphic3d_PBRMaterial have been added to Graphic3d_MaterialAspect.
PBR shading model requires OpenGL 3.0+ or OpenGL ES 3.0+ hardware.
Environment cubemap is expected to be provided for realistic look of metallic materials.

occLight_IsHeadlight() now returns bool instead of int.
Avoid using lowp for enumerations to workaround occLight_IsHeadlight()
ignorance on Adreno 308 caused by some GLSL optimizator bugs.

OpenGl_Texture::EstimatedDataSize() - fixed estimation for Cubemap textures.
OpenGl_Sampler::applySamplerParams() - fixed uninitialized GL_TEXTURE_WRAP_R in case of GL_TEXTURE_CUBE_MAP target.
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d_BSDF.cxx Diff File
mod - src/Graphic3d/Graphic3d_BSDF.hxx Diff File
mod - src/Graphic3d/Graphic3d_CubeMap.hxx Diff File
mod - src/Graphic3d/Graphic3d_CView.hxx Diff File
mod - src/Graphic3d/Graphic3d_MaterialAspect.cxx Diff File
mod - src/Graphic3d/Graphic3d_MaterialAspect.hxx Diff File
add - src/Graphic3d/Graphic3d_PBRMaterial.cxx Diff File
add - src/Graphic3d/Graphic3d_PBRMaterial.hxx Diff File
mod - src/Graphic3d/Graphic3d_RenderingParams.hxx Diff File
mod - src/Graphic3d/Graphic3d_ShaderProgram.cxx Diff File
mod - src/Graphic3d/Graphic3d_ShaderProgram.hxx Diff File
mod - src/Graphic3d/Graphic3d_TextureParams.cxx Diff File
mod - src/Graphic3d/Graphic3d_TextureParams.hxx Diff File
mod - src/Graphic3d/Graphic3d_TypeOfLimit.hxx Diff File
mod - src/Graphic3d/Graphic3d_TypeOfShadingModel.hxx Diff File
mod - src/Image/Image_Color.hxx Diff File
mod - src/Image/Image_Format.hxx Diff File
mod - src/Image/Image_PixMap.cxx Diff File
mod - src/Media/Media_Frame.cxx Diff File
mod - src/OpenGl/FILES Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_FrameBuffer.cxx Diff File
mod - src/OpenGl/OpenGl_GlFunctions.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.cxx Diff File
mod - src/OpenGl/OpenGl_LayerList.cxx Diff File
mod - src/OpenGl/OpenGl_Material.hxx Diff File
add - src/OpenGl/OpenGl_PBREnvironment.cxx Diff File
add - src/OpenGl/OpenGl_PBREnvironment.hxx Diff File
mod - src/OpenGl/OpenGl_Sampler.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderProgram.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderProgram.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderStates.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_View.cxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/Shaders/Declarations.glsl Diff File
mod - src/Shaders/DeclarationsImpl.glsl Diff File
mod - src/Shaders/FILES Diff File
add - src/Shaders/PBRCookTorrance.glsl Diff File
add - src/Shaders/PBRDistribution.glsl Diff File
add - src/Shaders/PBREnvBaking.fs Diff File
add - src/Shaders/PBREnvBaking.vs Diff File
add - src/Shaders/PBRFresnel.glsl Diff File
add - src/Shaders/PBRGeometry.glsl Diff File
add - src/Shaders/PBRIllumination.glsl Diff File
mod - src/Shaders/PhongShading.fs Diff File
mod - src/Shaders/Shaders_DeclarationsImpl_glsl.pxx Diff File
mod - src/Shaders/Shaders_Declarations_glsl.pxx Diff File
add - src/Shaders/Shaders_PBRCookTorrance_glsl.pxx Diff File
add - src/Shaders/Shaders_PBRDistribution_glsl.pxx Diff File
add - src/Shaders/Shaders_PBREnvBaking_fs.pxx Diff File
add - src/Shaders/Shaders_PBREnvBaking_vs.pxx Diff File
add - src/Shaders/Shaders_PBRFresnel_glsl.pxx Diff File
add - src/Shaders/Shaders_PBRGeometry_glsl.pxx Diff File
add - src/Shaders/Shaders_PBRIllumination_glsl.pxx Diff File
mod - src/Textures/FILES Diff File
add - src/Textures/Textures_EnvLUT.pxx Diff File
mod - src/V3d/V3d_View.cxx Diff File
mod - src/V3d/V3d_View.hxx Diff File
mod - src/ViewerTest/ViewerTest.cxx Diff File
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
mod - src/XCAFDoc/XCAFDoc_VisMaterial.cxx Diff File
mod - tests/de_mesh/gltf_read/end Diff File
mod - tests/de_mesh/obj_read/end Diff File
add - tests/v3d/glsl/pbr_spheres Diff File
add - tests/v3d/materials/pbr1 Diff File