View Issue Details

IDProjectCategoryView StatusLast Update
0024819Open CASCADEOCCT:Visualizationpublic2015-08-19 10:21
ReporterosaAssigned Toapn  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Product Version6.7.0 
Target Version6.8.0Fixed in Version6.8.0 
Summary0024819: TKOpenGl - extend the ray-tracing core by visualization of lines, text and point sprites.
DescriptionThe 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.
TagsNo tags attached.
Test case numberv3d raytrace(014) bug24819

Attached Files

  • boxes_rast.png (11,523 bytes)
  • boxes_rt.png (8,516 bytes)
  • test_rast.png (23,666 bytes)
  • test_rt.png (26,632 bytes)

Relationships

related to 0025016 closedbugmaster Visualization - provide performance test cases for Raytracing functionality 
parent of 0024894 closedbugmaster TKOpenGl - refactor OpenGl_FrameBuffer and OpenGl_Texture classes. 
related to 0026571 closedabv Visualization, TKOpenGl - write depth values within RayTracing program 

Activities

osa

2014-05-03 22:18

developer   ~0029185

Dear dbp,

the patch with the first implementation of the described extension is ready (branch CR24819_2). Please review.

kgv

2014-05-05 08:35

developer   ~0029187

The patch should be re-based on 0024894 to simplify reviewing.

kgv

2014-05-05 16:07

developer   ~0029194

Dear Danila,

your comments are welcome as well.

dbp

2014-05-13 14:33

developer   ~0029293

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.

osa

2014-05-21 18:58

developer   ~0029451

Dear dbp,

the patch was updated and rebased on CR24887 (branch CR24819_5). Please review.

dbp

2014-05-23 15:32

developer   ~0029497

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

osa

2014-06-16 12:33

developer   ~0029779

Dear dbp,

the found bug was fixed and patch was updated (branch CR24819_6). Please review.

dbp

2014-06-16 18:57

developer   ~0029787

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.

osa

2014-06-17 10:00

developer   ~0029792

Dear Kirill,
the patch is ready (branch CR24819_7). Please review.

kgv

2014-06-17 11:44

developer   ~0029793

Please test the patch.

kgv

2014-06-17 13:35

developer  

boxes_rast.png (11,523 bytes)

kgv

2014-06-17 13:35

developer  

boxes_rt.png (8,516 bytes)

kgv

2014-06-17 13:41

developer  

test_rast.png (23,666 bytes)

kgv

2014-06-17 13:41

developer  

test_rt.png (26,632 bytes)

kgv

2014-06-17 18:53

developer   ~0029802

Last edited: 2014-06-18 08:58

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):
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


apv

2014-06-18 15:34

tester   ~0029817

Dear BugMaster,

Branch CR24819_7 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: d43a6f511d18b7c32bf0765a30e39ff4b40de8c7

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

osa

2014-06-20 10:59

developer   ~0029839

Dear Kirill,
the patch was updated (branch CR24819_7). Please review.

kgv

2014-06-20 11:05

developer   ~0029841

Please test updated patch.

mkv

2014-06-23 18:27

tester   ~0029862

Dear BugMaster,

Branch CR24819_7 (and products from GIT master) was compiled on Linux, MacOS platforms and tested.
SHA-1: 9507ef98253387802777d5fbb9f566592cd22ad2

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

mkv

2014-06-24 16:25

tester   ~0029873

Dear BugMaster,

Branch CR24819_7 (and products from GIT master) was compiled on Windows platform and tested.
SHA-1: 9507ef98253387802777d5fbb9f566592cd22ad2

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

kgv

2014-06-29 13:31

developer   ~0029917

Please test updated patch in branch CR24819_8.

mkv

2014-07-01 10:19

tester   ~0029927

Dear BugMaster,

Branch CR24819_8 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested.
SHA-1: 7436b482adee861dd8818933accaabbeb6588e3d

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

kgv

2014-07-01 10:25

developer   ~0029929

Dear bugmaster,

remaining image differences are OK, please integrate patch.

git

2014-07-22 16:22

administrator   ~0030351

Branch CR24819 has been deleted by inv.

SHA-1: a90703f21f44e33b2d6a3de58bd356dbb35a39b2

git

2014-07-22 16:22

administrator   ~0030352

Branch CR24819_2 has been deleted by inv.

SHA-1: 4da414b376a27435f08be6319247d0634343ffdf

git

2014-07-22 16:22

administrator   ~0030353

Branch CR24819_3 has been deleted by inv.

SHA-1: 9ef3950c26f82f3520ab0a7b99d3f2ae4998edb8

git

2014-07-22 16:22

administrator   ~0030354

Branch CR24819_4 has been deleted by inv.

SHA-1: 77cef7202618625fb869b0077506edab8222fc01

git

2014-07-22 16:22

administrator   ~0030355

Branch CR24819_5 has been deleted by inv.

SHA-1: 4e0530fbdc80dcaeeaa813387400d8a9acb732e8

git

2014-07-22 16:22

administrator   ~0030356

Branch CR24819_6 has been deleted by inv.

SHA-1: e0034375a45f6fed77762f085c3d3d7edf0ec6c2

git

2014-07-22 16:22

administrator   ~0030357

Branch CR24819_7 has been deleted by inv.

SHA-1: 9507ef98253387802777d5fbb9f566592cd22ad2

git

2014-07-22 16:22

administrator   ~0030358

Branch CR24819_8 has been deleted by inv.

SHA-1: 7436b482adee861dd8818933accaabbeb6588e3d

Related Changesets

occt: master a89742cf

2014-07-03 11:49:48

osa


Committer: apn Details Diff
0024819: TKOpenGl - extend the ray-tracing core by visualization of lines, text and point sprites

OpenGl_GraphicDriver::Redraw() - do not recompute structures more than required
OpenGl_Workspace::Raytrace() - bind proper FBO before clearing it
Visual3d_View::Redraw() - perform automatic 2nd redraw on device lost
Affected Issues
0024819
mod - src/OpenGl/OpenGl_GraphicDriver_7.cxx Diff File
mod - src/OpenGl/OpenGl_SceneGeometry.cxx Diff File
mod - src/OpenGl/OpenGl_SceneGeometry.hxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_2.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.hxx Diff File
mod - src/OpenGl/OpenGl_Workspace_Raytrace.cxx Diff File
mod - src/Shaders/RaytraceBase.fs Diff File
mod - src/Visual3d/Visual3d_View.cxx Diff File
add - tests/v3d/raytrace/bug24819 Diff File

Issue History

Date Modified Username Field Change
2014-04-10 13:03 osa New Issue
2014-04-10 13:03 osa Assigned To => san
2014-04-10 13:03 osa Assigned To san => osa
2014-04-10 13:03 osa Status new => assigned
2014-04-23 10:25 kgv Target Version => 6.8.0
2014-04-23 10:32 kgv Description Updated
2014-04-23 10:34 kgv Description Updated
2014-05-03 22:18 osa Note Added: 0029185
2014-05-03 22:19 osa Assigned To osa => dbp
2014-05-03 22:19 osa Status assigned => feedback
2014-05-05 08:34 kgv Relationship added related to 0024894
2014-05-05 08:35 kgv Note Added: 0029187
2014-05-05 16:07 kgv Note Added: 0029194
2014-05-05 16:07 kgv Assigned To dbp => duv
2014-05-12 10:14 duv Assigned To duv => osa
2014-05-12 10:14 duv Status feedback => assigned
2014-05-12 13:40 osa Assigned To osa => dbp
2014-05-12 13:40 osa Status assigned => feedback
2014-05-13 14:33 dbp Note Added: 0029293
2014-05-13 14:33 dbp Assigned To dbp => osa
2014-05-13 14:33 dbp Status feedback => assigned
2014-05-21 18:58 osa Note Added: 0029451
2014-05-21 18:59 osa Assigned To osa => dbp
2014-05-21 18:59 osa Status assigned => feedback
2014-05-23 15:32 dbp Note Added: 0029497
2014-05-23 15:32 dbp Assigned To dbp => osa
2014-05-23 15:32 dbp Status feedback => assigned
2014-06-16 12:33 osa Note Added: 0029779
2014-06-16 12:34 osa Assigned To osa => dbp
2014-06-16 12:34 osa Status assigned => feedback
2014-06-16 18:57 dbp Note Added: 0029787
2014-06-16 18:57 dbp Assigned To dbp => osa
2014-06-16 18:57 dbp Status feedback => assigned
2014-06-17 10:00 osa Note Added: 0029792
2014-06-17 10:00 osa Assigned To osa => kgv
2014-06-17 10:00 osa Status assigned => resolved
2014-06-17 10:59 kgv Assigned To kgv => osa
2014-06-17 10:59 kgv Status resolved => assigned
2014-06-17 11:02 kgv Severity minor => feature
2014-06-17 11:35 osa Assigned To osa => kgv
2014-06-17 11:35 osa Status assigned => resolved
2014-06-17 11:44 kgv Note Added: 0029793
2014-06-17 11:44 kgv Assigned To kgv => bugmaster
2014-06-17 11:44 kgv Status resolved => reviewed
2014-06-17 11:53 mkv Assigned To bugmaster => apv
2014-06-17 13:35 kgv File Added: boxes_rast.png
2014-06-17 13:35 kgv File Added: boxes_rt.png
2014-06-17 13:41 kgv File Added: test_rast.png
2014-06-17 13:41 kgv File Added: test_rt.png
2014-06-17 18:53 kgv Note Added: 0029802
2014-06-17 19:02 kgv Relationship added related to 0025016
2014-06-17 19:02 kgv Relationship replaced parent of 0024894
2014-06-18 08:58 kgv Note Edited: 0029802
2014-06-18 15:11 apv Test case number => v3d raytrace bug24819
2014-06-18 15:34 apv Note Added: 0029817
2014-06-18 15:36 apv Assigned To apv => osa
2014-06-18 15:36 apv Status reviewed => assigned
2014-06-20 10:59 osa Note Added: 0029839
2014-06-20 10:59 osa Assigned To osa => kgv
2014-06-20 10:59 osa Status assigned => resolved
2014-06-20 11:05 kgv Note Added: 0029841
2014-06-20 11:05 kgv Assigned To kgv => bugmaster
2014-06-20 11:05 kgv Status resolved => reviewed
2014-06-20 11:49 mkv Assigned To bugmaster => mkv
2014-06-23 18:27 mkv Note Added: 0029862
2014-06-23 18:28 mkv Test case number v3d raytrace bug24819 => v3d raytrace(014) bug24819
2014-06-24 16:25 mkv Note Added: 0029873
2014-06-24 16:26 mkv Assigned To mkv => osa
2014-06-24 16:26 mkv Status reviewed => assigned
2014-06-29 13:31 kgv Note Added: 0029917
2014-06-29 13:31 kgv Assigned To osa => bugmaster
2014-06-29 13:31 kgv Status assigned => resolved
2014-06-29 13:31 kgv Status resolved => reviewed
2014-06-30 11:21 mkv Assigned To bugmaster => mkv
2014-07-01 10:19 mkv Note Added: 0029927
2014-07-01 10:19 mkv Assigned To mkv => kgv
2014-07-01 10:19 mkv Status reviewed => assigned
2014-07-01 10:25 kgv Note Added: 0029929
2014-07-01 10:25 kgv Assigned To kgv => bugmaster
2014-07-01 10:25 kgv Status assigned => feedback
2014-07-02 10:18 bugmaster Status feedback => tested
2014-07-04 13:38 apn Changeset attached => occt master a89742cf
2014-07-04 13:38 apn Assigned To bugmaster => apn
2014-07-04 13:38 apn Status tested => verified
2014-07-04 13:38 apn Resolution open => fixed
2014-07-22 16:22 git Note Added: 0030351
2014-07-22 16:22 git Note Added: 0030352
2014-07-22 16:22 git Note Added: 0030353
2014-07-22 16:22 git Note Added: 0030354
2014-07-22 16:22 git Note Added: 0030355
2014-07-22 16:22 git Note Added: 0030356
2014-07-22 16:22 git Note Added: 0030357
2014-07-22 16:22 git Note Added: 0030358
2014-11-11 12:46 aiv Fixed in Version => 6.8.0
2014-11-11 12:53 aiv Status verified => closed
2015-08-19 10:21 kgv Relationship added related to 0026571