MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028912Open CASCADE[OCCT] OCCT:Visualizationpublic2017-07-12 09:582018-11-02 18:44
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.2.0Fixed in Version[OCCT] 7.2.0 
Summary0028912: Visualization, TKOpenGl - multi-texture support
DescriptionIt is desired to allow custom GLSL programs using more then a one texture input.
TagsNo tags attached.
Test case numberv3d glsl texture_multi1
Attached Files

- Relationships
parent of 0029503closedapn Open CASCADE Visualization, TKOpenGl - fix access violation due to misprint in OpenGl_AspectMarker 
related to 0030337verifiedbugmaster Open CASCADE Draw Harness, ViewerTest - do not restrict vtexture to AIS_Shape 

-  Notes
(0068223)
git (administrator)
2017-07-12 17:32

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.
(0068227)
git (administrator)
2017-07-12 18:50

Branch CR28912 has been updated forcibly by kgv.

SHA-1: 7844843e74f1b90cc01110ee7839a1ea1ac3dbb6
(0068235)
git (administrator)
2017-07-13 08:42

Branch CR28912 has been updated forcibly by kgv.

SHA-1: 2ecd6455b6472d207fa1ab159d5d6b1119ddbc15
(0068238)
git (administrator)
2017-07-13 09:54

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.
(0068239)
git (administrator)
2017-07-13 09:55

Branch CR28912_1 has been updated forcibly by kgv.

SHA-1: 9d124126c449cf4cbb43f97c7bdfcc42ac71c305
(0068240)
kgv (developer)
2017-07-13 09:56

Patch is ready for review.
(0068241)
git (administrator)
2017-07-13 09:57

Branch CR28912_1 has been updated forcibly by kgv.

SHA-1: 40ad3818e87e4b534c97d4fc64eff1281efea9f0
(0068257)
git (administrator)
2017-07-13 14:38

Branch CR28912_1 has been updated forcibly by kgv.

SHA-1: e1b952f2e0e0aedd4624f84e113faa5212720e71
(0068329)
git (administrator)
2017-07-17 09:57

Branch CR28912_1 has been updated forcibly by kgv.

SHA-1: 7e15b446b21745f16cd1fa98d75f040190b20b8a
(0068397)
git (administrator)
2017-07-18 10:54

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.
(0068417)
kgv (developer)
2017-07-18 19:11

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.
(0068435)
apl (developer)
2017-07-19 16:52

Dear bugmaster,

The patch is reviewed.
(0068462)
bugmaster (administrator)
2017-07-20 08:43

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
(0068463)
kgv (developer)
2017-07-20 08:54

> 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.
(0068465)
bugmaster (administrator)
2017-07-20 09:10
edited on: 2017-07-20 09:13

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

(0068571)
git (administrator)
2017-07-21 16:15

Branch CR28912 has been deleted by kgv.

SHA-1: 2ecd6455b6472d207fa1ab159d5d6b1119ddbc15
(0068572)
git (administrator)
2017-07-21 16:15

Branch CR28912_1 has been deleted by kgv.

SHA-1: 7e15b446b21745f16cd1fa98d75f040190b20b8a
(0068573)
git (administrator)
2017-07-21 16:15

Branch CR28912_2 has been deleted by kgv.

SHA-1: 2ad0bc5f718a79a51f6f3decebc78801f8c8022c

- Related Changesets
occt: master cc8cbabe
Timestamp: 2017-07-10 12:43:25
Author: kgv
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.
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 ]

- Issue History
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 apl Note Added: 0068435
2017-07-19 16:52 apl Assigned To apl => bugmaster
2017-07-19 16:52 apl Status resolved => reviewed
2017-07-19 19:22 mkv 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 View Revisions
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-08-24 15:09 kgv Relationship added parent of 0029047
2017-09-29 16:17 user533 Fixed in Version => 7.2.0
2017-09-29 16:29 user533 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


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker