View Issue Details

IDProjectCategoryView StatusLast Update
0031096Open CASCADEOCCT:Visualizationpublic2021-03-06 10:48
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.5.0Fixed in Version7.5.0 
Summary0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping
Description0030700 introduced metallic-roughness shading model, but these material coefficients can be defined only for entire object. It is desired supporting metallic-roughness texture map.
Steps To Reproducetest de_mesh gltf_read helmet 1
TagsNo tags attached.
Test case numberNot required

Attached Files

  • helmet_pbr.png (118,978 bytes)
  • helmet_pt.png (146,395 bytes)
  • flight_helmet_occlusion_OFF.png (330,103 bytes)
  • flight_helmet_occlusion_ON.png (336,492 bytes)
  • flight_helmet_normal_map_OFF.png (482,223 bytes)
  • flight_helmet_normal_map_ON.png (520,315 bytes)

Relationships

parent of 0031253 closedbugmaster Open CASCADE Visualization, TKOpenGl - phong shading GLSL compilation fail on Adreno 308 
parent of 0031275 closedbugmaster Open CASCADE Visualization, TKOpenGl - handle normal-map texture with Path-Tracing 
parent of 0031302 closedbugmaster Open CASCADE Visualization, TKOpenGl - wrong tangent space calculation for normal maps 
parent of 0031997 closedbugmaster Open CASCADE Visualization, TKOpenGl - phong shader compilation error with normal texture map enabled 
related to 0031097 closedbugmaster Open CASCADE Visualization, TKOpenGl - support Occlusion texture mapping 
related to 0031098 closedbugmaster Open CASCADE Visualization, TKOpenGl - support Normal texture map 
related to 0032202 closedbugmaster Open CASCADE Visualization - XCAFDoc_VisMaterial::FillMaterialAspect() should copy emissive color from PBR definition 
child of 0030700 closedapn Open CASCADE Visualization, TKOpenGl - support PBR Metallic-Roughness shading model 
child of 0028912 closedbugmaster Open CASCADE Visualization, TKOpenGl - multi-texture support 

Activities

git

2019-11-07 16:56

administrator   ~0088779

Branch CR31096 has been created by iko.

SHA-1: a076872879a22d9b78c13c1107968b8723a21d2b


Detailed log of new commits:

Author: iko
Date: Thu Nov 7 16:52:53 2019 +0300

    # work in progress

git

2019-11-07 17:23

administrator   ~0088780

Branch CR31096 has been updated forcibly by iko.

SHA-1: 9488c1a8d438e6f696c1eec5af644df381016c33

git

2019-11-08 11:42

administrator   ~0088788

Branch CR31096 has been updated forcibly by iko.

SHA-1: 33936868f411c9ad8340bddd14dac16fbd098a09

git

2019-11-11 13:24

administrator   ~0088890

Branch CR31096 has been updated forcibly by iko.

SHA-1: 0d54a65db2a4b77896e488fd16669df1ad1e7c58

git

2019-11-19 17:12

administrator   ~0089075

Branch CR31096 has been updated forcibly by iko.

SHA-1: 2454033700c86256edfb6573ce14ac52ab30b1ab

git

2019-11-19 17:26

administrator   ~0089079

Branch CR31096 has been updated forcibly by iko.

SHA-1: c137d1a3177d64439941aa7767e3c56d46e84b8a

git

2019-11-27 19:11

administrator   ~0089227

Branch CR31096_1 has been created by kgv.

SHA-1: 8aa37978c0951ff7d69e3f7687b512b3b8f74cca


Detailed log of new commits:

Author: iko
Date: Thu Nov 7 16:52:53 2019 +0300

    0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping
    
    Metallic-roughness and emissive textures map have been integrated to PBR.
    Mock texture maps manager (OpenGl_PBRMockTextures) has been implemented.
    
    Normal maps has been integrated to PBR.
    Occlusion texture maps has been integrated to PBR.

git

2019-11-28 07:51

administrator   ~0089228

Branch CR31096_2 has been created by kgv.

SHA-1: 5d9b9a1bdab3c48e33fa6bf65ccf920f0069cc41


Detailed log of new commits:

Author: iko
Date: Thu Nov 7 16:52:53 2019 +0300

    0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping
    
    Metallic-roughness and emissive textures map have been integrated to PBR.
    Mock texture maps manager (OpenGl_PBRMockTextures) has been implemented.
    
    Normal maps has been integrated to PBR.
    Occlusion texture maps has been integrated to PBR.

git

2019-11-28 13:34

administrator   ~0089241

Branch CR31096_3 has been created by kgv.

SHA-1: b751ac6a74ed33661f2062f4a7815058b1954378


Detailed log of new commits:

Author: iko
Date: Thu Nov 7 16:52:53 2019 +0300

    0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping
    
    Metallic-roughness and emissive textures map have been integrated to PBR.
    Mock texture maps manager (OpenGl_PBRMockTextures) has been implemented.
    
    Normal maps has been integrated to PBR.
    Occlusion texture maps has been integrated to PBR.

git

2019-11-28 15:08

administrator   ~0089243

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: adf3cc847f4841de85963dc865f6639b294a577b

git

2019-11-28 15:19

administrator   ~0089244

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: e9f318304e7115bfc647c451d70d0afb7595fad1

git

2019-11-28 17:21

administrator   ~0089250

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: f08ef61b16fc31711d7b209a7d601fb18d580ea6

git

2019-11-28 19:05

administrator   ~0089257

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: 30b4424f574c73463705e87a59ad69223397841a

git

2019-11-28 20:17

administrator   ~0089258

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: a9f263e5d833a49b2dc45fa81c76214c3767ad00

git

2019-11-28 21:13

administrator   ~0089260

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: 8ebb07eeec24b2c252aff3e99f10bbbc46a723a4

git

2019-11-28 21:38

administrator   ~0089262

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: 474a46c7acbb27ac2de5db46407291de8dc3366f

git

2019-11-28 23:24

administrator   ~0089265

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: cb034ee93268bdd4f87eedef560177917d63eb4a

git

2019-11-28 23:53

administrator   ~0089266

Branch CR31096_3 has been updated forcibly by kgv.

SHA-1: 40ac6ad7b2b0fe273320bf792ba311dca66bc357

git

2019-11-29 11:10

administrator   ~0089276

Branch CR31096_4 has been created by kgv.

SHA-1: ffff0635b1d51e2206a696d7abc9f4c36d908043


Detailed log of new commits:

Author: iko
Date: Thu Nov 7 16:52:53 2019 +0300

    0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping
    
    OpenGl_ShaderManager - metallic-roughness, emissive, occlusion
    and normal texture maps are now supported by PBR.
    Emissive, occlusion and normal texture maps are now supported by Phong shading model.
    
    Graphic3d_TextureUnit enumeration has been extended by
    new values corresponding to supported texture maps.
    
    OpenGl_TextureSet and OpenGl_ShaderProgram have been extended with
    bitmask Graphic3d_TextureSetBits identifying texture slots read from GLSL Program
    and slots defined within Texture Set to avoid undefined behavior by binding mock textures.
    
    OpenGl_TextureSet now duplicates texture unit information to handle
    textures shared across multiple slots (like Occlusion [R] + Metallic-Roughness [GB]).
    
    OpenGl_Context::BindTextures() has been extended with active GLSL program paramter
    to set mock textures to texture units used by program but undefined by texture set.
    OpenGl_Workspace::ApplyAspects() has been extended with parameter to avoid bining texture set.

git

2019-11-29 13:35

administrator   ~0089279

Branch CR31096_5 has been created by kgv.

SHA-1: 77c7fd4a0d06512d73fb0a0b95289ab8e06bf26c


Detailed log of new commits:

Author: iko
Date: Thu Nov 7 16:52:53 2019 +0300

    0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping
    
    OpenGl_ShaderManager - metallic-roughness, emissive, occlusion
    and normal texture maps are now supported by PBR.
    Emissive, occlusion and normal texture maps are now supported by Phong shading model.
    Path-Tracing now handles metallic-roughness texture maps.
    
    Graphic3d_TextureUnit enumeration has been extended by
    new values corresponding to supported texture maps.
    
    OpenGl_TextureSet and OpenGl_ShaderProgram have been extended with
    bitmask Graphic3d_TextureSetBits identifying texture slots read from GLSL Program
    and slots defined within Texture Set to avoid undefined behavior by binding mock textures.
    
    OpenGl_TextureSet now duplicates texture unit information to handle
    textures shared across multiple slots (like Occlusion [R] + Metallic-Roughness [GB]).
    
    OpenGl_Context::BindTextures() has been extended with active GLSL program paramter
    to set mock textures to texture units used by program but undefined by texture set.
    OpenGl_Workspace::ApplyAspects() has been extended with parameter to avoid bining texture set.

git

2019-11-29 14:00

administrator   ~0089280

Branch CR31096_5 has been updated forcibly by kgv.

SHA-1: e68aadac73d27b4ab5751714cb2a8f7830d8eab0

git

2019-11-29 14:46

administrator   ~0089283

Branch CR31096_5 has been updated forcibly by kgv.

SHA-1: ac09cbe173d40b408e57fd6aace2917e6b54982b

kgv

2019-11-29 17:13

developer  

helmet_pbr.png (118,978 bytes)

kgv

2019-11-29 17:13

developer  

helmet_pt.png (146,395 bytes)

kgv

2019-11-29 17:17

developer  

flight_helmet_occlusion_OFF.png (330,103 bytes)

kgv

2019-11-29 17:17

developer  

flight_helmet_occlusion_ON.png (336,492 bytes)

kgv

2019-11-29 17:19

developer  

flight_helmet_normal_map_OFF.png (482,223 bytes)

kgv

2019-11-29 17:19

developer  

flight_helmet_normal_map_ON.png (520,315 bytes)

bugmaster

2019-12-01 12:21

administrator   ~0089310

Combination -
OCCT branch : IR-2019-11-29
master SHA - 72f6dc612c43748a2c8862fe64c845d72be684d9
5f5b1aed1c6e139bbd34314eca77ae7abcd8895c
Products branch : IR-2019-11-29 SHA - aff67a24109b329e80e8ffbd905de67b6637cbae
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16902.370000000145 / 16848.370000000145 [+0.32%]
Products
Total CPU difference: 10823.520000000082 / 10787.150000000072 [+0.34%]
Windows-64-VC14:
OCCT
Total CPU difference: 18406.375 / 18305.59375 [+0.55%]
Products
Total CPU difference: 1321.28125 / 1322.4375 [-0.09%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-12-01 12:49

administrator   ~0089316

Branch CR31096_5 has been deleted by inv.

SHA-1: ac09cbe173d40b408e57fd6aace2917e6b54982b

git

2019-12-01 12:49

administrator   ~0089317

Branch CR31096_4 has been deleted by inv.

SHA-1: ffff0635b1d51e2206a696d7abc9f4c36d908043

git

2019-12-01 12:49

administrator   ~0089318

Branch CR31096_3 has been deleted by inv.

SHA-1: 40ac6ad7b2b0fe273320bf792ba311dca66bc357

git

2019-12-01 12:49

administrator   ~0089321

Branch CR31096_2 has been deleted by inv.

SHA-1: 5d9b9a1bdab3c48e33fa6bf65ccf920f0069cc41

git

2019-12-01 12:49

administrator   ~0089322

Branch CR31096_1 has been deleted by inv.

SHA-1: 8aa37978c0951ff7d69e3f7687b512b3b8f74cca

git

2019-12-01 12:49

administrator   ~0089329

Branch CR31096 has been deleted by inv.

SHA-1: c137d1a3177d64439941aa7767e3c56d46e84b8a

Related Changesets

occt: master 72f6dc61

2019-11-07 13:52:53

iko


Committer: bugmaster Details Diff
0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping

OpenGl_ShaderManager - metallic-roughness, emissive, occlusion
and normal texture maps are now supported by PBR.
Emissive, occlusion and normal texture maps are now supported by Phong shading model.
Path-Tracing now handles metallic-roughness and emissive texture maps.

Graphic3d_TextureUnit enumeration has been extended by
new values corresponding to supported texture maps.

OpenGl_TextureSet and OpenGl_ShaderProgram have been extended with
bitmask Graphic3d_TextureSetBits identifying texture slots read from GLSL Program
and slots defined within Texture Set to avoid undefined behavior by binding mock textures.

OpenGl_TextureSet now duplicates texture unit information to handle
textures shared across multiple slots (like Occlusion [R] + Metallic-Roughness [GB]).

OpenGl_Context::BindTextures() has been extended with active GLSL program paramter
to set mock textures to texture units used by program but undefined by texture set.
OpenGl_Workspace::ApplyAspects() has been extended with parameter to avoid bining texture set.
Affected Issues
0031096
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d_BSDF.cxx Diff File
mod - src/Graphic3d/Graphic3d_ShaderProgram.cxx Diff File
mod - src/Graphic3d/Graphic3d_ShaderProgram.hxx Diff File
add - src/Graphic3d/Graphic3d_TextureSetBits.hxx Diff File
mod - src/Graphic3d/Graphic3d_TextureUnit.hxx Diff File
mod - src/OpenGl/OpenGl_AspectsTextureSet.cxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_LayerList.cxx Diff File
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx Diff File
mod - src/OpenGl/OpenGl_SetOfShaderPrograms.hxx 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_Structure.cxx Diff File
mod - src/OpenGl/OpenGl_Text.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.hxx Diff File
mod - src/OpenGl/OpenGl_TextureSet.cxx Diff File
mod - src/OpenGl/OpenGl_TextureSet.hxx Diff File
mod - src/OpenGl/OpenGl_View.cxx Diff File
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff File
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.hxx Diff File
mod - src/Shaders/Declarations.glsl Diff File
mod - src/Shaders/DeclarationsImpl.glsl Diff File
mod - src/Shaders/PathtraceBase.fs Diff File
mod - src/Shaders/Shaders_DeclarationsImpl_glsl.pxx Diff File
mod - src/Shaders/Shaders_Declarations_glsl.pxx Diff File
mod - src/Shaders/Shaders_PathtraceBase_fs.pxx Diff File
mod - src/XCAFDoc/XCAFDoc_VisMaterial.cxx Diff File
mod - src/XCAFPrs/XCAFPrs_Texture.cxx Diff File
add - tests/v3d/raytrace/helmet Diff File

Issue History

Date Modified Username Field Change
2019-10-23 12:24 kgv New Issue
2019-10-23 12:24 kgv Assigned To => iko
2019-10-23 12:24 kgv Relationship added child of 0030700
2019-10-23 12:24 kgv Status new => assigned
2019-11-07 16:56 git Note Added: 0088779
2019-11-07 17:23 git Note Added: 0088780
2019-11-08 11:42 git Note Added: 0088788
2019-11-11 13:24 git Note Added: 0088890
2019-11-19 17:12 git Note Added: 0089075
2019-11-19 17:26 git Note Added: 0089079
2019-11-27 19:11 git Note Added: 0089227
2019-11-28 07:51 git Note Added: 0089228
2019-11-28 13:34 git Note Added: 0089241
2019-11-28 15:08 git Note Added: 0089243
2019-11-28 15:19 git Note Added: 0089244
2019-11-28 17:21 git Note Added: 0089250
2019-11-28 19:05 git Note Added: 0089257
2019-11-28 20:17 git Note Added: 0089258
2019-11-28 21:13 git Note Added: 0089260
2019-11-28 21:38 git Note Added: 0089262
2019-11-28 23:24 git Note Added: 0089265
2019-11-28 23:53 git Note Added: 0089266
2019-11-29 11:10 git Note Added: 0089276
2019-11-29 13:35 git Note Added: 0089279
2019-11-29 14:00 git Note Added: 0089280
2019-11-29 14:46 git Note Added: 0089283
2019-11-29 15:23 kgv Steps to Reproduce Updated
2019-11-29 15:23 kgv Assigned To iko => bugmaster
2019-11-29 15:23 kgv Status assigned => resolved
2019-11-29 15:23 kgv Status resolved => reviewed
2019-11-29 17:13 kgv File Added: helmet_pbr.png
2019-11-29 17:13 kgv File Added: helmet_pt.png
2019-11-29 17:14 kgv File Added: flight_helmet_normal_map.png
2019-11-29 17:17 kgv File Added: flight_helmet_occlusion_OFF.png
2019-11-29 17:17 kgv File Added: flight_helmet_occlusion_ON.png
2019-11-29 17:18 kgv File Deleted: flight_helmet_normal_map.png
2019-11-29 17:19 kgv File Added: flight_helmet_normal_map_OFF.png
2019-11-29 17:19 kgv File Added: flight_helmet_normal_map_ON.png
2019-11-29 20:15 kgv Relationship added child of 0028912
2019-12-01 12:21 bugmaster Note Added: 0089310
2019-12-01 12:21 bugmaster Status reviewed => tested
2019-12-01 12:21 bugmaster Test case number => Not required
2019-12-01 12:22 bugmaster Changeset attached => occt master 72f6dc61
2019-12-01 12:22 bugmaster Status tested => verified
2019-12-01 12:22 bugmaster Resolution open => fixed
2019-12-01 12:26 kgv Relationship added related to 0031097
2019-12-01 12:26 kgv Relationship added related to 0031098
2019-12-01 12:49 git Note Added: 0089316
2019-12-01 12:49 git Note Added: 0089317
2019-12-01 12:49 git Note Added: 0089318
2019-12-01 12:49 git Note Added: 0089321
2019-12-01 12:49 git Note Added: 0089322
2019-12-01 12:49 git Note Added: 0089329
2019-12-19 00:16 kgv Relationship added parent of 0031253
2019-12-25 23:07 kgv Relationship added parent of 0031275
2020-01-16 12:13 kgv Relationship added parent of 0031302
2020-12-02 16:40 emo Fixed in Version => 7.5.0
2020-12-02 17:12 emo Status verified => closed
2020-12-15 08:25 kgv Relationship added parent of 0031997
2021-03-06 10:48 kgv Relationship added related to 0032202