MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0026437Open CASCADE[OCCT] OCCT:Visualizationpublic2015-07-15 10:522016-04-20 15:49
Reporterdbp 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] Unscheduled 
Target Version[OCCT] 7.0.0Fixed in Version[OCCT] 7.0.0 
Summary0026437: Visualization - Improve path tracing rendering engine
DescriptionCurrent version of path tracing does not handle light sources correctly (e.g. implicit light paths), and thus some effects are not computed (e.g. caustics). Another point is relatively low performance, which can be increased using such techniques as coherent path tracing.
Steps To ReproduceSee samples/tcl/pathtrace.tcl
Additional information
and documentation updates
This patch optimizes path tracing rendering engine and resolves some problems with light source processing (which lead to incorrect rendering of caustics).

On 'Cornel Box' test scene performance was improved in 4 times on NVIDIA GTX770: 7.8 fps --> 35 fps. The same increase is observed on other scenes.

This patch introduces new rendering mode, which can be activated using '-blockrng' or '-brng' option of 'vrenderparams' command. In this mode, render engine uses the same RNG seed for 16x16 image blocks, so the coherence becomes better and performance increases in additional 3 times (e.g. 108 fps on 'Cornel Box' scene). The main problem with this mode is structured noise patterns, and thus intermediate images look unattractive. So, this mode is useful for final rendering, while for interactive modes it is better to use default behavior.
TagsNo tags attached.
Test case numberNot needed
Attached Filespng file icon cornelbox.png (134,494 bytes) 2015-07-15 11:11

- Relationships
parent of 0027250closedabv Samples - define proper file header for pathtrace.tcl 

-  Notes
(0043037)
git (administrator)
2015-07-15 10:54

Branch CR26437 has been created by dbp.

SHA-1: fe0ac98d95f0ccc791b3cf382a5e1ea71229978a


Detailed log of new commits:

Author: dbp
Date: Wed Jul 15 10:53:37 2015 +0300

    0026437: Visualization - Improve path tracing rendering engine
(0043038)
git (administrator)
2015-07-15 10:55

Branch CR26437 has been updated by dbp.

SHA-1: dea4afe2ec8ba28df5d0b5c2d7ae537e9f2401da


Detailed log of new commits:

Author: dbp
Date: Wed Jul 15 10:54:38 2015 +0300

    Add missing file.

(0043041)
dbp (developer)
2015-07-15 11:12

Attached image demonstrates correct handling of caustics via indirect light paths.
(0043055)
git (administrator)
2015-07-15 13:05

Branch CR26437 has been updated by dbp.

SHA-1: efac1d8a90b1eabd2911a22474a08e6345fc316e


Detailed log of new commits:

Author: dbp
Date: Wed Jul 15 13:04:59 2015 +0300

    Update.

(0043084)
git (administrator)
2015-07-15 17:52

Branch CR26437 has been updated by dbp.

SHA-1: 1d2f0195488a76836ab81dae5e0e81f3321bfcc4


Detailed log of new commits:

Author: dbp
Date: Wed Jul 15 17:51:54 2015 +0300

    Update.

(0043108)
git (administrator)
2015-07-16 11:45

Branch CR26437_1 has been created by dbp.

SHA-1: fca53b95cddbbc67899aec2222342cec987c7f0e


Detailed log of new commits:

Author: dbp
Date: Thu Jul 16 10:22:21 2015 +0300

    0026437: Visualization - Improve path tracing rendering engine
(0043109)
dbp (developer)
2015-07-16 11:47

Dear duv,

please review the patch in branch CR26437_1.
(0043330)
duv (developer)
2015-07-23 11:46

Dear bugmaster,

Please test the patch.
(0043423)
git (administrator)
2015-07-24 16:20

Branch CR26437_1 has been updated forcibly by apv.

SHA-1: 086fbb0699a13613c84861c74976b807714b0f8e
(0043424)
apv (tester)
2015-07-24 16:21

Branch CR26437_1 has been rebased on the current master
(0043575)
apv (tester)
2015-07-27 14:42

Dear BugMaster,

Branch CR26437_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 086fbb0699a13613c84861c74976b807714b0f8e

Number of compiler warnings:
occt component:
   Linux: 18 (15 on master)
   Windows: 1 (0 on master)
products component:
   Linux: 42 (39 on master)
   Windows: 0 (0 on master)
There are new additional warnings
on Linux:
1. Graphic3d_RenderingParams.hxx:49, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here [-Wreorder]
2. Graphic3d_RenderingParams.hxx:87, GNU C Compiler 4 (gcc), Priority: Normal
'Standard_Boolean Graphic3d_RenderingParams::UseEnvironmentMapBackground' [-Wreorder]
3. Graphic3d_RenderingParams.hxx:88, GNU C Compiler 4 (gcc), Priority: Normal
'Graphic3d_RenderingParams::CoherentPathTracingMode' will be initialized after [-Wreorder]
on Windows:
1. ViewerTest_ViewerCommands.cxx:5275, MSBuild, Priority: Normal
'initializing' : conversion from 'const Standard_Real' to 'const Standard_ShortReal', possible loss of data

Regressions/Differences:
Not detected
(0043601)
git (administrator)
2015-07-27 18:11

Branch CR26437_1 has been updated by dbp.

SHA-1: 5446e60412f12f9b941551e715a70bcb8976704f


Detailed log of new commits:

Author: dbp
Date: Mon Jul 27 18:11:07 2015 +0300

    Fix compile warnings.

(0043602)
dbp (developer)
2015-07-27 18:12

Dear bugmaster,

please re-test the patch in branch CR26437_1.
(0043639)
apn (administrator)
2015-07-28 15:12

Dear BugMaster,

Branch CR26437_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 5446e60412f12f9b941551e715a70bcb8976704f

Number of compiler warnings:
occt component:
   Linux: 15 (15 on master)
   Windows: 0 (0 on master)
products component:
   Linux: 39 (39 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 100257509 / 99931788 [+0.33%]
Total CPU difference: 17464.23999999952 / 17422.529999999442 [+0.24%]

Testing on Windows:
Total MEMORY difference: 57579294 / 58559165 [-1.67%]
Total CPU difference: 15921.664861298994 / 16891.725879599293 [-5.74%]

There is CPU difference on following test cases:
v3d raytrace bug25833: 0.7644049 / 0.1404009 [+444.44%]
bugs vis buc60632_1: 0.7176046 / 0.1716011 [+318.18%]
bugs vis buc60632_2: 0.8424054 / 0.1248008 [+575.00%]
(0043690)
dbp (developer)
2015-07-30 10:12

Dear bugmaster,

The following test results are not related to the patch:

There is CPU difference on following test cases:
v3d raytrace bug25833: 0.7644049 / 0.1404009 [+444.44%]
bugs vis buc60632_1: 0.7176046 / 0.1716011 [+318.18%]
bugs vis buc60632_2: 0.8424054 / 0.1248008 [+575.00%]

They probably caused by some background processes on test machine.

Could you please re-check it and integrate the patch?
(0044150)
git (administrator)
2015-08-14 10:53

Branch CR26437_1 has been deleted by inv.

SHA-1: 5446e60412f12f9b941551e715a70bcb8976704f
(0044184)
git (administrator)
2015-08-14 10:55

Branch CR26437 has been deleted by inv.

SHA-1: 1d2f0195488a76836ab81dae5e0e81f3321bfcc4

- Related Changesets
occt: master 8c820969
Timestamp: 2015-07-30 09:49:43
Author: dbp
Committer: bugmaster
Details ] Diff ]
0026437: Visualization - Improve path tracing rendering engine

Fix compile warnings.
add - samples/tcl/pathtrace.tcl Diff ] File ]
mod - src/Graphic3d/Graphic3d_RenderingParams.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff ] File ]
mod - src/Shaders/PathtraceBase.fs Diff ] File ]
mod - src/Shaders/RaytraceBase.fs Diff ] File ]
mod - src/Shaders/RaytraceRender.fs Diff ] File ]
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2015-07-15 10:52 dbp New Issue
2015-07-15 10:52 dbp Assigned To => dbp
2015-07-15 10:54 git Note Added: 0043037
2015-07-15 10:55 git Note Added: 0043038
2015-07-15 11:11 dbp File Added: cornelbox.png
2015-07-15 11:12 dbp Note Added: 0043041
2015-07-15 13:05 git Note Added: 0043055
2015-07-15 17:52 git Note Added: 0043084
2015-07-16 11:45 git Note Added: 0043108
2015-07-16 11:47 dbp Note Added: 0043109
2015-07-16 11:47 dbp Assigned To dbp => duv
2015-07-16 11:47 dbp Status new => resolved
2015-07-16 11:47 dbp Steps to Reproduce Updated View Revisions
2015-07-16 11:55 dbp Additional Information Updated View Revisions
2015-07-16 11:56 dbp Additional Information Updated View Revisions
2015-07-16 11:57 dbp Additional Information Updated View Revisions
2015-07-23 11:46 duv Note Added: 0043330
2015-07-23 11:46 duv Assigned To duv => bugmaster
2015-07-23 11:46 duv Status resolved => reviewed
2015-07-24 16:20 git Note Added: 0043423
2015-07-24 16:21 apv Note Added: 0043424
2015-07-24 16:21 apv Assigned To bugmaster => apv
2015-07-27 14:42 apv Note Added: 0043575
2015-07-27 14:42 apv Assigned To apv => dbp
2015-07-27 14:42 apv Status reviewed => assigned
2015-07-27 18:11 git Note Added: 0043601
2015-07-27 18:11 dbp Status assigned => resolved
2015-07-27 18:12 dbp Note Added: 0043602
2015-07-27 18:12 dbp Assigned To dbp => bugmaster
2015-07-27 18:12 dbp Status resolved => reviewed
2015-07-27 18:15 apn Assigned To bugmaster => apn
2015-07-28 15:12 apn Note Added: 0043639
2015-07-28 15:20 apn Test case number => Not needed
2015-07-28 15:20 apn Assigned To apn => dbp
2015-07-28 15:20 apn Status reviewed => assigned
2015-07-30 10:09 dbp Assigned To dbp => kgv
2015-07-30 10:09 dbp Status assigned => resolved
2015-07-30 10:12 dbp Note Added: 0043690
2015-07-30 10:12 dbp Assigned To kgv => bugmaster
2015-07-30 10:12 dbp Status resolved => reviewed
2015-07-30 11:24 bugmaster Status reviewed => tested
2015-07-31 12:31 bugmaster Changeset attached => occt master 8c820969
2015-07-31 12:31 bugmaster Status tested => verified
2015-07-31 12:31 bugmaster Resolution open => fixed
2015-08-14 10:53 git Note Added: 0044150
2015-08-14 10:55 git Note Added: 0044184
2016-03-11 11:33 kgv Relationship added parent of 0027250
2016-04-20 15:43 aiv Fixed in Version => 7.0.0
2016-04-20 15:49 aiv Status verified => closed


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker