Archived issue #0024819
TKOpenGl - extend the ray-tracing core by visualization of lines, text and point sprites.
Description
The extending of ray-tracing core consists in obtain the resulting image as combination of ray-tracing output image and usual rendering for non raytracable elements:
- Depth-less background (seems to be already supported)
- Depth-less 2D Underlayer
- Depth-less 2D Overlayer
- Depth-less Immediate mode (currently used only within Local Selection)
- Non-raytraceable 3D presentations, including texture-based text, hollow triangulation, lines, point sprites, textured objects.
- Depth-less background (seems to be already supported)
- Depth-less 2D Underlayer
- Depth-less 2D Overlayer
- Depth-less Immediate mode (currently used only within Local Selection)
- Non-raytraceable 3D presentations, including texture-based text, hollow triangulation, lines, point sprites, textured objects.
Public activity
27 archived notes
Participants are labeled by their role within this record.
Dear dbp,
the patch with the first implementation of the described extension is ready (branch CR24819_2). Please review.
the patch with the first implementation of the described extension is ready (branch CR24819_2). Please review.
The patch should be re-based on #0024894 to simplify reviewing.
Dear Danila,
your comments are welcome as well.
your comments are welcome as well.
Dear osa,
please consider remarks and request new review.
Also it is necessary to evaluate performance after changing GPU code. Please use different 3D scenes and ray-tracing modes (simple shading, reflections, transparency and FSAA) for testing. Please use Exel table to present performance results.
please consider remarks and request new review.
Also it is necessary to evaluate performance after changing GPU code. Please use different 3D scenes and ray-tracing modes (simple shading, reflections, transparency and FSAA) for testing. Please use Exel table to present performance results.
Dear dbp,
the patch was updated and rebased on CR24887 (branch CR24819_5). Please review.
the patch was updated and rebased on CR24887 (branch CR24819_5). Please review.
Dear osa,
Some changes were pushed into branch CR24819_6.
Please fix background rendering in case of empty scene (there are no any displayed objects). Currently the background is rendered as bkack instead of specified one. Use this script for testing:
pload ALL
vinit w=1024 h=768
vvbo 0
vsetdispmode 1
vsetgradientbg 180 200 255 180 180 180 2
restore C:/occt/data/occ/Bottom.brep S
vdisplay S
vfit
# backgroud is OK
vrenderparams -raytrace -shad
# background is black
verase
Some changes were pushed into branch CR24819_6.
Please fix background rendering in case of empty scene (there are no any displayed objects). Currently the background is rendered as bkack instead of specified one. Use this script for testing:
pload ALL
vinit w=1024 h=768
vvbo 0
vsetdispmode 1
vsetgradientbg 180 200 255 180 180 180 2
restore C:/occt/data/occ/Bottom.brep S
vdisplay S
vfit
# backgroud is OK
vrenderparams -raytrace -shad
# background is black
verase
Dear dbp,
the found bug was fixed and patch was updated (branch CR24819_6). Please review.
the found bug was fixed and patch was updated (branch CR24819_6). Please review.
Dear osa,
the patch is OK. Please evaluate performance after changing GPU code (master vs. patch). Use different 3D scenes and ray-tracing modes (simple shading, reflections, transparency and FSAA) for testing.
the patch is OK. Please evaluate performance after changing GPU code (master vs. patch). Use different 3D scenes and ray-tracing modes (simple shading, reflections, transparency and FSAA) for testing.
Dear Kirill,
the patch is ready (branch CR24819_7). Please review.
the patch is ready (branch CR24819_7). Please review.
Please test the patch.
dbp wrote:
>> Please evaluate performance after changing GPU code (master vs. patch).
On GeForce GT 610, test case - samovar, 164238 triangles, 512x512 (FPS before, after):
Test case - 3 boxes, 1024x768 (FPS before, after):
>> Please evaluate performance after changing GPU code (master vs. patch).
On GeForce GT 610, test case - samovar, 164238 triangles, 512x512 (FPS before, after):
fsaaOff-reflOff-shadowsOff-gleamOff 9.22 8.29 fsaaOff-reflOff-shadowsOn-gleamOff 5.48 5.40 fsaaOff-reflOn-shadowsOff-gleamOff 8.08 8.01 fsaaOff-reflOn-shadowsOn-gleamOff 4.82 4.76 fsaaOn-reflOff-shadowsOff-gleamOff 3.09 3.08 fsaaOn-reflOff-shadowsOn-gleamOff 1.87 1.85 fsaaOn-reflOn-shadowsOff-gleamOff 2.62 2.61 fsaaOn-reflOn-shadowsOn-gleamOff 1.59 1.57
Test case - 3 boxes, 1024x768 (FPS before, after):
fsaaOff-reflOff-shadowsOff-gleamOff 30.34 28.54 fsaaOff-reflOff-shadowsOn-gleamOff 27.55 26.09 fsaaOff-reflOn-shadowsOff-gleamOff 28.06 25.88 fsaaOff-reflOn-shadowsOn-gleamOff 25.10 23.55 fsaaOn-reflOff-shadowsOff-gleamOff 13.86 13.34 fsaaOn-reflOff-shadowsOn-gleamOff 12.35 11.52 fsaaOn-reflOn-shadowsOff-gleamOff 12.16 11.34 fsaaOn-reflOn-shadowsOn-gleamOff 11.38 10.89
Dear Commenter 2,
Branch CR24819_7 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 19 (16 on master)
Windows: 0 (0 on master)
MacOS: 201 (200 on master)
products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)
There are new additional compilation warnings:
on Linux platform:
OpenGl_Workspace.hxx:640, GNU C Compiler 4 (gcc), Priority: Normal
‘Standard_Boolean OpenGl_Workspace::myToRedrawGL’
OpenGl_Workspace.hxx:654, GNU C Compiler 4 (gcc), Priority: Normal
‘OpenGl_Workspace::myUseGLLight’ will be initialized after
OpenGl_Workspace.cxx:140, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
on MacOS platform:
OpenGl_Workspace.cxx:161, Clang (LLVM based), Priority: Normal
field 'myUseGLLight' will be initialized after field 'myToRedrawGL'
Regressions/Differences:
Not detected
Testing cases:
v3d - raytrace - bug24819 - OK
Testing on Linux:
Total MEMORY difference: 348395936 / 348271088
Total CPU difference: 50284.7600000002 / 51079.56999999988
Testing on Windows:
Total MEMORY difference: 376644544 / 376867716
Total CPU difference: 39561.96875 / 38860.375
There are differences in images found by testdiff:
http://occt-tests/CR24819-7-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24819-7-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
Branch CR24819_7 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 19 (16 on master)
Windows: 0 (0 on master)
MacOS: 201 (200 on master)
products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)
There are new additional compilation warnings:
on Linux platform:
OpenGl_Workspace.hxx:640, GNU C Compiler 4 (gcc), Priority: Normal
‘Standard_Boolean OpenGl_Workspace::myToRedrawGL’
OpenGl_Workspace.hxx:654, GNU C Compiler 4 (gcc), Priority: Normal
‘OpenGl_Workspace::myUseGLLight’ will be initialized after
OpenGl_Workspace.cxx:140, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
on MacOS platform:
OpenGl_Workspace.cxx:161, Clang (LLVM based), Priority: Normal
field 'myUseGLLight' will be initialized after field 'myToRedrawGL'
Regressions/Differences:
Not detected
Testing cases:
v3d - raytrace - bug24819 - OK
Testing on Linux:
Total MEMORY difference: 348395936 / 348271088
Total CPU difference: 50284.7600000002 / 51079.56999999988
Testing on Windows:
Total MEMORY difference: 376644544 / 376867716
Total CPU difference: 39561.96875 / 38860.375
There are differences in images found by testdiff:
http://occt-tests/CR24819-7-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24819-7-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
Dear Kirill,
the patch was updated (branch CR24819_7). Please review.
the patch was updated (branch CR24819_7). Please review.
Please test updated patch.
Dear Commenter 2,
Branch CR24819_7 (and products from GIT master) was compiled on Linux, MacOS platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 16 (16 on master)
MacOS: 200 (203 on master)
products component :
Linux: 11 (11 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR24819-7-master-occt/Debian60-64/v3d/raytrace/bug24819.html
v3d raytrace(014) bug24819: OK
Testing on Linux:
Total MEMORY difference: 348614704 / 348657500
Total CPU difference: 49957.46000000015 / 51365.58000000003
There are following differences in images found by testdiff.
http://occt-tests/CR24819-7-master-occt/Debian60-64/diff-Debian60-64.html
IMAGE v3d raytrace refraction: refraction.png differs
IMAGE v3d raytrace connected: connected_rt1.png differs
IMAGE v3d materials bug24855: bug24855_rt_bronze.png differs
IMAGE v3d materials bug24855: bug24855_rt_brass.png differs
IMAGE v3d materials bug24855: bug24855_rt_plastic.png differs
IMAGE v3d materials bug24855: bug24855_rt_aluminium.png differs
IMAGE v3d materials bug24855: bug24855_rt_silver.png differs
IMAGE v3d materials bug24855: bug24855_rt_jade.png differs
IMAGE v3d materials bug24855: bug24855_rt_stone.png differs
IMAGE v3d materials bug24855: bug24855_rt_gold.png differs
IMAGE v3d materials bug24855: bug24855_rt_obsidian.png differs
IMAGE v3d materials bug24855: bug24855_rt_copper.png differs
IMAGE v3d materials bug24855: bug24855_rt_satin.png differs
IMAGE v3d materials bug24855: bug24855_rt_chrome.png differs
IMAGE v3d materials bug24855: bug24855_rt_pewter.png differs
IMAGE v3d materials bug24855: bug24855_rt_steel.png differs
IMAGE v3d materials bug24855: bug24855_rt_neon_phc.png differs
IMAGE demo samples raytrace: raytrace.png differs
Branch CR24819_7 (and products from GIT master) was compiled on Linux, MacOS platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 16 (16 on master)
MacOS: 200 (203 on master)
products component :
Linux: 11 (11 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR24819-7-master-occt/Debian60-64/v3d/raytrace/bug24819.html
v3d raytrace(014) bug24819: OK
Testing on Linux:
Total MEMORY difference: 348614704 / 348657500
Total CPU difference: 49957.46000000015 / 51365.58000000003
There are following differences in images found by testdiff.
http://occt-tests/CR24819-7-master-occt/Debian60-64/diff-Debian60-64.html
IMAGE v3d raytrace refraction: refraction.png differs
IMAGE v3d raytrace connected: connected_rt1.png differs
IMAGE v3d materials bug24855: bug24855_rt_bronze.png differs
IMAGE v3d materials bug24855: bug24855_rt_brass.png differs
IMAGE v3d materials bug24855: bug24855_rt_plastic.png differs
IMAGE v3d materials bug24855: bug24855_rt_aluminium.png differs
IMAGE v3d materials bug24855: bug24855_rt_silver.png differs
IMAGE v3d materials bug24855: bug24855_rt_jade.png differs
IMAGE v3d materials bug24855: bug24855_rt_stone.png differs
IMAGE v3d materials bug24855: bug24855_rt_gold.png differs
IMAGE v3d materials bug24855: bug24855_rt_obsidian.png differs
IMAGE v3d materials bug24855: bug24855_rt_copper.png differs
IMAGE v3d materials bug24855: bug24855_rt_satin.png differs
IMAGE v3d materials bug24855: bug24855_rt_chrome.png differs
IMAGE v3d materials bug24855: bug24855_rt_pewter.png differs
IMAGE v3d materials bug24855: bug24855_rt_steel.png differs
IMAGE v3d materials bug24855: bug24855_rt_neon_phc.png differs
IMAGE demo samples raytrace: raytrace.png differs
Dear Commenter 2,
Branch CR24819_7 (and products from GIT master) was compiled on Windows platform and tested.
[revision removed]
Number of compiler warnings:
occt component :
Windows: 0 (0 on master)
products component :
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR24819-7-master-occt/Windows-32-VC9/v3d/raytrace/bug24819.html
v3d raytrace(014) bug24819: OK
Testing on Windows:
Total MEMORY difference: 376570396 / 376858724
Total CPU difference: 38798.828125 / 38774.578125
There are following differences in images found by testdiff.
http://occt-tests/CR24819-7-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE v3d raytrace connected: connected_rt1.png differs
IMAGE v3d materials bug24855: bug24855_rt_bronze.png differs
IMAGE v3d materials bug24855: bug24855_rt_brass.png differs
IMAGE v3d materials bug24855: bug24855_rt_plastic.png differs
IMAGE v3d materials bug24855: bug24855_rt_aluminium.png differs
IMAGE v3d materials bug24855: bug24855_rt_silver.png differs
IMAGE v3d materials bug24855: bug24855_rt_jade.png differs
IMAGE v3d materials bug24855: bug24855_rt_stone.png differs
IMAGE v3d materials bug24855: bug24855_rt_gold.png differs
IMAGE v3d materials bug24855: bug24855_rt_obsidian.png differs
IMAGE v3d materials bug24855: bug24855_rt_copper.png differs
IMAGE v3d materials bug24855: bug24855_rt_satin.png differs
IMAGE v3d materials bug24855: bug24855_rt_chrome.png differs
IMAGE v3d materials bug24855: bug24855_rt_pewter.png differs
IMAGE v3d materials bug24855: bug24855_rt_steel.png differs
IMAGE v3d materials bug24855: bug24855_rt_neon_phc.png differs
Branch CR24819_7 (and products from GIT master) was compiled on Windows platform and tested.
[revision removed]
Number of compiler warnings:
occt component :
Windows: 0 (0 on master)
products component :
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR24819-7-master-occt/Windows-32-VC9/v3d/raytrace/bug24819.html
v3d raytrace(014) bug24819: OK
Testing on Windows:
Total MEMORY difference: 376570396 / 376858724
Total CPU difference: 38798.828125 / 38774.578125
There are following differences in images found by testdiff.
http://occt-tests/CR24819-7-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE v3d raytrace connected: connected_rt1.png differs
IMAGE v3d materials bug24855: bug24855_rt_bronze.png differs
IMAGE v3d materials bug24855: bug24855_rt_brass.png differs
IMAGE v3d materials bug24855: bug24855_rt_plastic.png differs
IMAGE v3d materials bug24855: bug24855_rt_aluminium.png differs
IMAGE v3d materials bug24855: bug24855_rt_silver.png differs
IMAGE v3d materials bug24855: bug24855_rt_jade.png differs
IMAGE v3d materials bug24855: bug24855_rt_stone.png differs
IMAGE v3d materials bug24855: bug24855_rt_gold.png differs
IMAGE v3d materials bug24855: bug24855_rt_obsidian.png differs
IMAGE v3d materials bug24855: bug24855_rt_copper.png differs
IMAGE v3d materials bug24855: bug24855_rt_satin.png differs
IMAGE v3d materials bug24855: bug24855_rt_chrome.png differs
IMAGE v3d materials bug24855: bug24855_rt_pewter.png differs
IMAGE v3d materials bug24855: bug24855_rt_steel.png differs
IMAGE v3d materials bug24855: bug24855_rt_neon_phc.png differs
Please test updated patch in branch CR24819_8.
Dear Commenter 2,
Branch CR24819_8 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 16 (16 on master)
Windows: 0 (0 on master)
products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR24819-8-master-occt/Debian60-64/v3d/raytrace/bug24819.html
http://occt-tests/CR24819-8-master-occt/Windows-32-VC9/v3d/raytrace/bug24819.html
v3d raytrace(014) bug24819: OK
Testing on Linux:
Total MEMORY difference: 349561292 / 349444332
Total CPU difference: 52633.090000000106 / 53215.180000000095
Testing on Windows:
Total MEMORY difference: 377163460 / 377795616
Total CPU difference: 41158.109375 / 42054.90625
There are no differences in images found by testdiff.
http://occt-tests/CR24819-8-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24819-8-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE v3d materials bug24855: bug24855_rt_bronze.png differs
IMAGE v3d materials bug24855: bug24855_rt_brass.png differs
IMAGE v3d materials bug24855: bug24855_rt_plastic.png differs
IMAGE v3d materials bug24855: bug24855_rt_aluminium.png differs
IMAGE v3d materials bug24855: bug24855_rt_silver.png differs
IMAGE v3d materials bug24855: bug24855_rt_jade.png differs
IMAGE v3d materials bug24855: bug24855_rt_gold.png differs
IMAGE v3d materials bug24855: bug24855_rt_obsidian.png differs
IMAGE v3d materials bug24855: bug24855_rt_copper.png differs
IMAGE v3d materials bug24855: bug24855_rt_satin.png differs
IMAGE v3d materials bug24855: bug24855_rt_chrome.png differs
IMAGE v3d materials bug24855: bug24855_rt_pewter.png differs
IMAGE v3d materials bug24855: bug24855_rt_steel.png differs
IMAGE v3d materials bug24855: bug24855_rt_neon_phc.png differs
IMAGE bugs modalg_4 bug697_7: bug697_7_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_4 bug697_4: bug697_4_Driver1_Viewer1_View1.png differs
Branch CR24819_8 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 16 (16 on master)
Windows: 0 (0 on master)
products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR24819-8-master-occt/Debian60-64/v3d/raytrace/bug24819.html
http://occt-tests/CR24819-8-master-occt/Windows-32-VC9/v3d/raytrace/bug24819.html
v3d raytrace(014) bug24819: OK
Testing on Linux:
Total MEMORY difference: 349561292 / 349444332
Total CPU difference: 52633.090000000106 / 53215.180000000095
Testing on Windows:
Total MEMORY difference: 377163460 / 377795616
Total CPU difference: 41158.109375 / 42054.90625
There are no differences in images found by testdiff.
http://occt-tests/CR24819-8-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24819-8-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE v3d materials bug24855: bug24855_rt_bronze.png differs
IMAGE v3d materials bug24855: bug24855_rt_brass.png differs
IMAGE v3d materials bug24855: bug24855_rt_plastic.png differs
IMAGE v3d materials bug24855: bug24855_rt_aluminium.png differs
IMAGE v3d materials bug24855: bug24855_rt_silver.png differs
IMAGE v3d materials bug24855: bug24855_rt_jade.png differs
IMAGE v3d materials bug24855: bug24855_rt_gold.png differs
IMAGE v3d materials bug24855: bug24855_rt_obsidian.png differs
IMAGE v3d materials bug24855: bug24855_rt_copper.png differs
IMAGE v3d materials bug24855: bug24855_rt_satin.png differs
IMAGE v3d materials bug24855: bug24855_rt_chrome.png differs
IMAGE v3d materials bug24855: bug24855_rt_pewter.png differs
IMAGE v3d materials bug24855: bug24855_rt_steel.png differs
IMAGE v3d materials bug24855: bug24855_rt_neon_phc.png differs
IMAGE bugs modalg_4 bug697_7: bug697_7_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_4 bug697_4: bug697_4_Driver1_Viewer1_View1.png differs
Dear Commenter 2,
remaining image differences are OK, please integrate patch.
remaining image differences are OK, please integrate patch.
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records
- #0025016 · related to · closedVisualization - provide performance test cases for Raytracing functionality
- #0024894 · parent of · closedTKOpenGl - refactor OpenGl_FrameBuffer and OpenGl_Texture classes.
- #0026571 · related to · closedVisualization, TKOpenGl - write depth values within RayTracing program