View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028912 | Open CASCADE | OCCT:Visualization | public | 2017-07-12 09:58 | 2019-11-29 20:15 |
Reporter | kgv | Assigned To | bugmaster | ||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.2.0 | Fixed in Version | 7.2.0 | ||
Summary | 0028912: Visualization, TKOpenGl - multi-texture support | ||||
Description | It is desired to allow custom GLSL programs using more then a one texture input. | ||||
Tags | No tags attached. | ||||
Test case number | v3d glsl texture_multi1 | ||||
parent of | 0029503 | closed | apn | Open CASCADE | Visualization, TKOpenGl - fix access violation due to misprint in OpenGl_AspectMarker |
parent of | 0030963 | closed | bugmaster | Open CASCADE | Visualization, TKOpenGl - texture unit error during FFP global texture's parameters processing |
parent of | 0031096 | closed | bugmaster | Open CASCADE | Visualization, TKOpenGl - support metallic-roughness texture mapping |
related to | 0030337 | closed | bugmaster | Open CASCADE | Draw Harness, ViewerTest - do not restrict vtexture to AIS_Shape |
|
Branch CR28912 has been created by kgv. SHA-1: b86f756ac87920650866f97e80e40e9b7d36dbf4 Detailed log of new commits: Author: kgv Date: Mon Jul 10 15:43:25 2017 +0300 0028912: Visualization, TKOpenGl - multi-texture support Graphic3d_AspectFillArea3d now stores array of textures. Graphic3d_TextureParams stores texture unit for mapping texture. OpenGl_Context::BindTextures() - context now manages the set of active textures. Related code has been removed from OpenGl_Workspace. OpenGl_Sampler has been extended to hold texture parameters structure. OpenGl_Texture now holds OpenGl_Sampler instance as class field. OpenGl_Texture inherits new class OpenGl_NamedResource and holds texture identifier used for sharing resource in OpenGl_Context. OpenGl_RaytraceGeometry now creates bindless textures taking Sampler object directly from OpenGl_Texture. OpenGl_Context::BindTextures() automatically recreates immutable Sampler Object on texture parameters change. Declared new structure OpenGl_ArbSamplerObject for platform-neutral usage of related functionality. Related functions are now loaded within OpenGL ES 3.0+. Declarations.glsl - occActiveSampler has been renamed to occSampler0 with aliases occSamplerBaseColor (main) and occActiveSampler (for compatibility). Additional texture samplers should be declared explicitly within specific GLSL program as occSampler1, occSampler2, etc. AIS_Shape and AIS_ColoredShape now computes Shaded presentation with UV coordinates if texture mapping is enabled in Drawer. vaspects - added new parameter "-settexture". vshaderprog now accepts Shader source code as parameter. |
|
Branch CR28912 has been updated forcibly by kgv. SHA-1: 7844843e74f1b90cc01110ee7839a1ea1ac3dbb6 |
|
Branch CR28912 has been updated forcibly by kgv. SHA-1: 2ecd6455b6472d207fa1ab159d5d6b1119ddbc15 |
|
Branch CR28912_1 has been created by kgv. SHA-1: 5ccad424b012b1359f68959dbc00e75cb536f276 Detailed log of new commits: Author: kgv Date: Mon Jul 10 15:43:25 2017 +0300 0028912: Visualization, TKOpenGl - multi-texture support Graphic3d_AspectFillArea3d now stores array of textures. Graphic3d_TextureParams stores texture unit for mapping texture. OpenGl_Context::BindTextures() - context now manages the set of active textures. Related code has been removed from OpenGl_Workspace. OpenGl_Sampler has been extended to hold texture parameters structure. OpenGl_Texture now holds OpenGl_Sampler instance as class field. OpenGl_Texture inherits new class OpenGl_NamedResource and holds texture identifier used for sharing resource in OpenGl_Context. OpenGl_RaytraceGeometry now creates bindless textures taking Sampler object directly from OpenGl_Texture. OpenGl_Context::BindTextures() automatically recreates immutable Sampler Object on texture parameters change. Declared new structure OpenGl_ArbSamplerObject for platform-neutral usage of related functionality. Related functions are now loaded within OpenGL ES 3.0+. Declarations.glsl - occActiveSampler has been renamed to occSampler0 with aliases occSamplerBaseColor (main) and occActiveSampler (for compatibility). Additional texture samplers should be declared explicitly within specific GLSL program as occSampler1, occSampler2, etc. AIS_Shape and AIS_ColoredShape now computes Shaded presentation with UV coordinates if texture mapping is enabled in Drawer. vaspects - added new parameter "-settexture". vshaderprog now accepts Shader source code as parameter. |
|
Branch CR28912_1 has been updated forcibly by kgv. SHA-1: 9d124126c449cf4cbb43f97c7bdfcc42ac71c305 |
|
Patch is ready for review. |
|
Branch CR28912_1 has been updated forcibly by kgv. SHA-1: 40ad3818e87e4b534c97d4fc64eff1281efea9f0 |
|
Branch CR28912_1 has been updated forcibly by kgv. SHA-1: e1b952f2e0e0aedd4624f84e113faa5212720e71 |
|
Branch CR28912_1 has been updated forcibly by kgv. SHA-1: 7e15b446b21745f16cd1fa98d75f040190b20b8a |
|
Branch CR28912_2 has been created by kgv. SHA-1: 2ad0bc5f718a79a51f6f3decebc78801f8c8022c Detailed log of new commits: Author: kgv Date: Mon Jul 10 15:43:25 2017 +0300 0028912: Visualization, TKOpenGl - multi-texture support Graphic3d_AspectFillArea3d now stores array of textures. Graphic3d_TextureParams stores texture unit for mapping texture. OpenGl_Context::BindTextures() - context now manages the set of active textures. Related code has been removed from OpenGl_Workspace. OpenGl_Sampler has been extended to hold texture parameters structure. OpenGl_Texture now holds OpenGl_Sampler instance as class field. OpenGl_Texture inherits new class OpenGl_NamedResource and holds texture identifier used for sharing resource in OpenGl_Context. OpenGl_RaytraceGeometry now creates bindless textures taking Sampler object directly from OpenGl_Texture. OpenGl_Context::BindTextures() automatically recreates immutable Sampler Object on texture parameters change. Declared new structure OpenGl_ArbSamplerObject for platform-neutral usage of related functionality. Related functions are now loaded within OpenGL ES 3.0+. Declarations.glsl - occActiveSampler has been renamed to occSampler0 with aliases occSamplerBaseColor (main) and occActiveSampler (for compatibility). Additional texture samplers should be declared explicitly within specific GLSL program as occSampler1, occSampler2, etc. AIS_Shape and AIS_ColoredShape now computes Shaded presentation with UV coordinates if texture mapping is enabled in Drawer. vshaderprog now accepts Shader source code as parameter. |
|
CR28912_2-CR28912-KGV-Products-Debian70-64-opt-tests-compare-linux - Build # 1 - Successful: Check console output at http://jenkins-test-10.nnov.opencascade.com:8080/job/CR28912_2-CR28912-KGV-Products-Debian70-64-opt-tests-compare-linux/1/ to view the results. CR28912_2-CR28912-KGV-Products-Windows-64-VC10-opt-tests-compare-windows - Build # 1 - Successful: Check console output at http://jenkins-test-10.nnov.opencascade.com:8080/job/CR28912_2-CR28912-KGV-Products-Windows-64-VC10-opt-tests-compare-windows/1/ to view the results. |
|
Dear bugmaster, The patch is reviewed. |
|
Kirill, Diff images: http://occt-tests/CR28912_2-CR28912-KGV-OCCT/Debian70-64/diff-Debian70-64-image.html http://occt-tests/CR28912_2-CR28912-KGV-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html Linux and Windows: Improvement IMAGE bugs vis bug23385: bug23385.png differs Windows: The text on image became poorly readable. IMAGE demo samples cpu: cpu.png differs |
|
> The text on image became poorly readable. > IMAGE demo samples cpu: cpu.png differs This is unrelated to this patch - I've seen this difference randomly occurred on this test case while testing other patches for a long time. |
|
Branch CR28912_2 from occt git-repository and CR28912 from products git-repository was compiled on Linux, MacOS and Windows platforms and tested on Release mode. OCCT SHA-1: 2ad0bc5f718a79a51f6f3decebc78801f8c8022c Products SHA-1: febcd5194f88bc3922206dc3d5186f4cfef34672 Number of compiler warnings: occt component : Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS : 0 (0 on master) products component : Linux: 10 (10 on master) Windows: 0 (0 on master) MacOS : 28 (28 on master) Regressions/Differences/Improvements: No regressions/differences Testing cases: v3d glsl texture_multi1 Testing on Linux: occt component : Total CPU difference: 19279.920000000177 / 19401.700000000146 [-0.63%] Total MEMORY difference: 92466631 / 92413321 [+0.06%] products component : Total CPU difference: 6488.360000000054 / 6548.950000000075 [-0.93%] Total MEMORY difference: 38168914 / 38040477 [+0.34%] Testing on Windows: occt component : Total CPU difference: 18113.432110998503 / 17787.48362159872 [+1.83%] Total MEMORY difference: 59104753 / 59107100 [-0.00%] products component : Total CPU difference: 6815.418488300055 / 6684.861251400067 [+1.95%] Total MEMORY difference: 28934014 / 28820451 [+0.39%] There are differences in images found by testdiff. Improvement IMAGE bugs vis bug23385: bug23385.png differs The text on image became poorly readable. IMAGE demo samples cpu: cpu.png differs Differences were agreed by KGV |
|
Branch CR28912 has been deleted by kgv. SHA-1: 2ecd6455b6472d207fa1ab159d5d6b1119ddbc15 |
|
Branch CR28912_1 has been deleted by kgv. SHA-1: 7e15b446b21745f16cd1fa98d75f040190b20b8a |
|
Branch CR28912_2 has been deleted by kgv. SHA-1: 2ad0bc5f718a79a51f6f3decebc78801f8c8022c |
occt: master cc8cbabe 2017-07-10 12:43:25 Committer: bugmaster Details Diff |
0028912: Visualization, TKOpenGl - multi-texture support Graphic3d_AspectFillArea3d now stores array of textures. Graphic3d_TextureParams stores texture unit for mapping texture. OpenGl_Context::BindTextures() - context now manages the set of active textures. Related code has been removed from OpenGl_Workspace. OpenGl_Sampler has been extended to hold texture parameters structure. OpenGl_Texture now holds OpenGl_Sampler instance as class field. OpenGl_Texture inherits new class OpenGl_NamedResource and holds texture identifier used for sharing resource in OpenGl_Context. OpenGl_RaytraceGeometry now creates bindless textures taking Sampler object directly from OpenGl_Texture. OpenGl_Context::BindTextures() automatically recreates immutable Sampler Object on texture parameters change. Declared new structure OpenGl_ArbSamplerObject for platform-neutral usage of related functionality. Related functions are now loaded within OpenGL ES 3.0+. Declarations.glsl - occActiveSampler has been renamed to occSampler0 with aliases occSamplerBaseColor (main) and occActiveSampler (for compatibility). Additional texture samplers should be declared explicitly within specific GLSL program as occSampler1, occSampler2, etc. AIS_Shape and AIS_ColoredShape now computes Shaded presentation with UV coordinates if texture mapping is enabled in Drawer. vshaderprog now accepts Shader source code as parameter. |
Affected Issues 0028912 |
|
mod - src/Graphic3d/FILES | Diff File | ||
mod - src/Graphic3d/Graphic3d_AspectFillArea3d.cxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_AspectFillArea3d.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_ClipPlane.cxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_ClipPlane.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_TextureParams.cxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_TextureParams.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_TextureRoot.hxx | Diff File | ||
add - src/Graphic3d/Graphic3d_TextureSet.cxx | Diff File | ||
add - src/Graphic3d/Graphic3d_TextureSet.hxx | Diff File | ||
add - src/Graphic3d/Graphic3d_TextureUnit.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_TypeOfLimit.hxx | Diff File | ||
mod - src/OpenGl/FILES | Diff File | ||
add - src/OpenGl/OpenGl_ArbSamplerObject.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_AspectFace.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_AspectFace.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_AspectMarker.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_AspectMarker.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_BackgroundArray.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_CappingPlaneResource.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Context.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Context.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_Font.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_GlFunctions.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_GraphicDriver.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Layer.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_LayerList.cxx | Diff File | ||
add - src/OpenGl/OpenGl_NamedResource.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_PointSprite.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_PointSprite.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Resource.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Sampler.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Sampler.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_SceneGeometry.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_SceneGeometry.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.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Texture.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_TextureBufferArb.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_TextureBufferArb.hxx | Diff File | ||
add - src/OpenGl/OpenGl_TextureSet.cxx | Diff File | ||
add - src/OpenGl/OpenGl_TextureSet.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_View.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_View.hxx | 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/Shaders_Declarations_glsl.pxx | Diff File | ||
mod - src/ViewerTest/ViewerTest.cxx | Diff File | ||
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx | Diff File | ||
add - tests/v3d/glsl/texture_multi1 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-07-12 09:58 | kgv | New Issue | |
2017-07-12 09:58 | kgv | Assigned To | => kgv |
2017-07-12 17:32 | git | Note Added: 0068223 | |
2017-07-12 18:50 | git | Note Added: 0068227 | |
2017-07-13 08:42 | git | Note Added: 0068235 | |
2017-07-13 09:54 | git | Note Added: 0068238 | |
2017-07-13 09:55 | git | Note Added: 0068239 | |
2017-07-13 09:56 | kgv | Note Added: 0068240 | |
2017-07-13 09:56 | kgv | Assigned To | kgv => apl |
2017-07-13 09:56 | kgv | Status | new => resolved |
2017-07-13 09:57 | git | Note Added: 0068241 | |
2017-07-13 14:38 | git | Note Added: 0068257 | |
2017-07-17 09:57 | git | Note Added: 0068329 | |
2017-07-18 10:54 | git | Note Added: 0068397 | |
2017-07-18 19:11 | kgv | Note Added: 0068417 | |
2017-07-19 16:52 |
|
Note Added: 0068435 | |
2017-07-19 16:52 |
|
Assigned To | apl => bugmaster |
2017-07-19 16:52 |
|
Status | resolved => reviewed |
2017-07-19 19:22 |
|
Assigned To | bugmaster => mkv |
2017-07-20 08:43 | bugmaster | Note Added: 0068462 | |
2017-07-20 08:43 | bugmaster | Status | reviewed => feedback |
2017-07-20 08:54 | kgv | Note Added: 0068463 | |
2017-07-20 09:10 | bugmaster | Note Added: 0068465 | |
2017-07-20 09:10 | bugmaster | Status | feedback => tested |
2017-07-20 09:11 | bugmaster | Test case number | => v3d glsl texture_multi1 |
2017-07-20 09:13 | bugmaster | Note Edited: 0068465 | |
2017-07-20 09:57 | bugmaster | Assigned To | mkv => bugmaster |
2017-07-21 16:08 | bugmaster | Changeset attached | => occt master cc8cbabe |
2017-07-21 16:08 | bugmaster | Status | tested => verified |
2017-07-21 16:08 | bugmaster | Resolution | open => fixed |
2017-07-21 16:15 | git | Note Added: 0068571 | |
2017-07-21 16:15 | git | Note Added: 0068572 | |
2017-07-21 16:15 | git | Note Added: 0068573 | |
2017-09-29 16:17 |
|
Fixed in Version | => 7.2.0 |
2017-09-29 16:29 |
|
Status | verified => closed |
2018-02-14 00:01 | kgv | Relationship added | related to 0029503 |
2018-02-14 00:02 | kgv | Relationship replaced | parent of 0029503 |
2018-11-02 18:44 | kgv | Relationship added | related to 0030337 |
2019-09-12 16:20 | kgv | Relationship added | parent of 0030963 |
2019-11-29 20:15 | kgv | Relationship added | parent of 0031096 |