View Issue Details

IDProjectCategoryView StatusLast Update
0028762Open CASCADEOCCT:Visualizationpublic2017-09-29 16:28
Reporterage Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028762: Visualization, Ray tracing - Implement depth-of-field effect
DescriptionImplement depth-of-field effect
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberv3d raytrace dof_mono, dof_stereo

Attached Files

  • dof_mono.png (318,587 bytes)
  • dof_stereo.png (339,700 bytes)

Activities

git

2017-05-19 15:26

administrator   ~0066326

Branch CR28762 has been created by age.

SHA-1: 52f5719f4a3f7b970e03f8b482a33ff08bf2c707


Detailed log of new commits:

Author: age
Date: Fri May 19 13:35:45 2017 +0300

    0028762: Visualization - Implement depth-of-field effect
    
    Added new necessary parameters (aperture size, focal distance) to Graphic3d_RenderingParams.hxx.
    Added new camera parameters to OpenGL_View.hxx.
    Added new ray generation logic to RaytraceBase.fs.

age

2017-05-19 15:28

developer   ~0066328

Please check the branch CR28762

kgv

2017-05-19 15:33

developer   ~0066329

+    CameraApertureRadius = 0.f;
+    CameraFocalPlaneDist = 1.f;

Please put into member initialization list.

+  if (myRenderParams.CameraApertureRadius != myPrevCameraApertureRadius
+   || myRenderParams.CameraFocalPlaneDist != myPrevCameraFocalPlaneDist) {

Please check coding style.

+//!< aperture radius of camera used for depth-of-field
+uniform float uApertureRadius = 0.f;
+
+//!< focal distance of camera used for depth-of field
+uniform float uFocalPlaneDist = 10.f;

"//!<" is for documenting code at left side on the same line.

+  if (!myCamera->IsOrthographic())
+  {
+    aPrefixString += TCollection_AsciiString("\n#define DEPTH_OF_FIELD");
+  }

How this effect can be disabled for Perspective projection?

git

2017-05-22 11:05

administrator   ~0066359

Branch CR28762 has been updated by age.

SHA-1: 14cfaddb5632296b79a5d28d71f8b6e8faa8bef8


Detailed log of new commits:

Author: age
Date: Mon May 22 10:18:40 2017 +0300

    0028762: Visualization - Implement depth-of-field effect
    
    Fixed coding style.
    Fixed documentation.
    Added checking for enabling/disabling the effect.

age

2017-05-22 11:07

developer   ~0066360

Dear kgv,
Please check the fix

kgv

2017-05-22 14:54

developer   ~0066396

Last edited: 2017-05-22 14:55

4 hours ago 	age	0028762: Visualization - Implement depth-of-field effect
2 days ago 	age	0028762: Visualization - Implement depth-of-field effect

The first commit in branch should start with bug Summary, the following - should not.

Fixed coding style.
Fixed documentation.
Added checking for enabling/disabling the effect.

The comments, which should not be included within final commit description, should be started with //.

kgv

2017-05-22 15:05

developer   ~0066397

+  Standard_Boolean                  IsDofEnabled;                //!< enables/disables depth-of-field effect

Strong "ToEnableDof" sounds better in this context.
Description should specify default value and scope (e.g. Ray-Tracing).

+    if (myRenderParams.IsDofEnabled && myCamera->IsOrthographic()
+     || !myRenderParams.IsDofEnabled && !myCamera->IsOrthographic())
+    {
+      myRenderParams.IsDofEnabled = !myRenderParams.IsDofEnabled;
+      aToRebuildShaders = Standard_True;
+    }

Modifying input myRenderParams structure does not look correct.
Consider using myRaytraceParameters instead.

git

2017-05-23 09:57

administrator   ~0066431

Branch CR28762 has been updated by age.

SHA-1: 3f4e500519567349bf65ef0ec2d62b5633eb1065


Detailed log of new commits:

Author: age
Date: Tue May 23 09:36:39 2017 +0300

    // Moved depth-of-field variable from Graphic3d_RenderingParams to RaytracingParams

age

2017-05-23 09:57

developer   ~0066432

Please review the fix

kgv

2017-05-23 10:08

developer   ~0066433

Last edited: 2017-05-23 10:08

Please add test case for new functionality and also attach screenshots to this issue.

git

2017-05-23 13:13

administrator   ~0066461

Branch CR28762 has been updated by age.

SHA-1: 3532ccd87c2c2f9d9e861f83ecb1278077e97cd0


Detailed log of new commits:

Author: age
Date: Tue May 23 11:00:09 2017 +0300

    added -focal and -aperture parameters for vrenderparams command
    added test case

age

2017-05-23 13:15

developer   ~0066463

Please review the changes

kgv

2017-05-23 13:59

developer   ~0066465

commit 3532ccd87c2c2f9d9e861f83ecb1278077e97cd0
Gitweb: http://git.dev.opencascade.org/gitweb/?p=occt.git&a=commit&h=3532ccd87c2c2f9d9e861f83ecb1278077e97cd0
Author: age <age@opencascade.com>
Date: Tue May 23 11:00:09 2017 +0300

    added -focal and -aperture parameters for vrenderparams command
    added test case

Summary of changes:
 src/ViewerTest/ViewerTest_ViewerCommands.cxx |   52 ++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

Test case is not pushed into the branch.

+    "\n      '-aperture     >= 0.0'       Aperture size of camera for depth-of-field"
+    "\n      '-focal        >= 0.0'       Focal distance of camera for depth-of-field"

It is unclear how to enable/disable DOF within this syntax.

+        std::cerr << "Error: wrong syntax at argument '" << anArg << "'\n";

std::cout

+      if (aParam.IsRealValue())
+      {
+        float aApertureSize = static_cast<float> (Draw::Atof(aParam.ToCString()));

Either skip IsRealValue() check, or use RealValue() instead of Draw::Atof().

   Standard_ShortReal                CameraApertureRadius;        //!< aperture radius of camera used for depth-of-field
   Standard_ShortReal                CameraFocalPlaneDist;        //!< focal distance of camera used for depth-of field

Defaults are still not specified within the variable description (see other members in the structure as reference).

git

2017-05-23 15:04

administrator   ~0066466

Branch CR28762 has been updated by age.

SHA-1: c7782e87162009eaae437973a2153d1ef3f4797c


Detailed log of new commits:

Author: age
Date: Tue May 23 14:41:29 2017 +0300

    added test case
    //fixed documentation
    //changed Draw::Atof() to RealValue()

age

2017-05-23 15:06

developer   ~0066467

Please review the fix

kgv

2017-05-23 15:11

developer   ~0066469

Last edited: 2017-05-23 15:19

+        if (aApertureSize < 0)
+        {
+          std::cout << "Error: parameter can't be negative at argument '" << anArg << "'.\n";


-    "\n      '-aperture     >= 0.0'       Aperture size of camera for depth-of-field"
+    "\n      '-aperture     >= 0.0'      Aperture size of perspective camera. Positive value enables depth-of-field"

What does it mean "positive value"?
You mean that 0 value disables DOF (since negative value will throw syntax error)?
It is better describing this also within Graphic3d_RenderingParams::CameraApertureRadius, e.g.:
//!< aperture radius of perspective camera for depth-of-field, 0.0 by default (e.g. disabled DOF); should be positive value to enable DOF

kgv

2017-05-23 15:17

developer   ~0066472

Last edited: 2017-05-23 15:18

1421     if (myRaytraceParameters.DepthOfField && myCamera->IsOrthographic()
1422      || !myRaytraceParameters.DepthOfField && !myCamera->IsOrthographic())
1423     {
1424       myRaytraceParameters.DepthOfField = !myRaytraceParameters.DepthOfField;
1425       aToRebuildShaders = Standard_True;
1426     }

As far as I understand the logic, you want DEPTH_OF_FIELD being always defined for perspective projection and always disabled for orthographic.
The following code would be more self-exploitational from my point of view:
 
const bool toEnableDof = !myCamera->IsOrthographic() && myRenderParams.CameraApertureRadius > 0.0f;
if (myRaytraceParameters.DepthOfField != toEnableDof)
{
  myRaytraceParameters.DepthOfField = toEnableDof;
  aToRebuildShaders = Standard_True;
}


age

2017-05-23 15:31

developer   ~0066473

Last edited: 2017-05-24 09:21

1) Yes, DOF is always disabled for orthographic and always enabled (even if aperture radius = 0) for perspective camera. If aperture radius = 0 DOF seems to be disabled from the user's point of view, but a new algorithm of rays generetion is still used.
So I think that the condition
   if (myRaytraceParameters.DepthOfField && myCamera->IsOrthographic()
    || !myRaytraceParameters.DepthOfField && !myCamera->IsOrthographic())
is more suitable.

2) "\n '-aperture >= 0.0' Aperture size of perspective camera. Positive value enables depth-of-field"

This style (command, posible values, description) was taken from lines above, e.g.

"\n '-maxrad > 0.0' Value used for clamping radiance estimation (PT mode)"

git

2017-05-24 16:52

administrator   ~0066537

Branch CR28762 has been updated by kgv.

SHA-1: 16e526723e5ed66f322c4f396059108ce399d0e6


Detailed log of new commits:

Author: kgv
Date: Wed May 24 16:51:56 2017 +0300

    // cosmetics

git

2017-05-24 17:00

administrator   ~0066538

Branch CR28762 has been updated forcibly by kgv.

SHA-1: 6f48fb006ad7e1ea019d9a1337f9b5cde92bf883

git

2017-05-24 17:04

administrator   ~0066539

Branch CR28762_1 has been created by kgv.

SHA-1: 4fa186f5def85923761e957f6963297adb0b6932


Detailed log of new commits:

Author: age
Date: Fri May 19 13:35:45 2017 +0300

    0028762: Visualization, Ray tracing - Implement depth-of-field effect
    
    Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
    TKOpenGl - added new ray generation logic to RaytraceBase.fs.
    vrenderparams command - added -focal and -aperture parameters.

kgv

2017-05-24 17:06

developer   ~0066540

Please test the patch.

mkv

2017-05-25 12:24

tester   ~0066560

Dear BugMaster,
Branch CR28762_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 4fa186f5def85923761e957f6963297adb0b6932

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 64 (64 on master)
Windows: 0 (0 on master)
MacOS : 1192

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR28762_1-master-OCCT/Debian70-64/v3d/raytrace/dof.html
http://occt-tests/CR28762_1-master-OCCT/Windows-64-VC10/v3d/raytrace/dof.html
v3d raytrace dof: OK

Testing on Linux:
occt component :
Total MEMORY difference: 91704027 / 91619223 [+0.09%]
Total CPU difference: 18978.060000000325 / 18660.510000000344 [+1.70%]
products component :
Total MEMORY difference: 31224152 / 31347866 [-0.39%]
Total CPU difference: 5429.849999999985 / 5401.239999999972 [+0.53%]
Testing on Windows:
occt component :
Total MEMORY difference: 58429939 / 58426283 [+0.01%]
Total CPU difference: 17632.278226698712 / 17319.43382129878 [+1.81%]
products component :
Total MEMORY difference: 22719542 / 22681228 [+0.17%]
Total CPU difference: 5430.535210899976 / 5370.256424499971 [+1.12%]

There are following differences in images found by testdiff.
http://occt-tests/CR28762_1-master-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR28762_1-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
IMAGE bugs vis bug26676: bug26676.png differs

git

2017-05-25 12:24

administrator   ~0066561

Branch CR28762_1 has been updated by mkv.

SHA-1: 344ba9560c92be7c3c49a347ba8928fd01626257


Detailed log of new commits:

Author: mkv
Date: Thu May 25 12:03:12 2017 +0300

    // Small correction of image names in test cases

mkv

2017-05-25 12:24

tester   ~0066562

Dear kgv,
Branch CR28762_1 has been rejected due to:
- differences in images

kgv

2017-05-25 12:31

developer   ~0066565

> IMAGE bugs vis bug26676: bug26676.png differs
Image difference in v3d/raytrace/bug26617 is also a regression.

git

2017-06-07 10:22

administrator   ~0067162

Branch CR28762_2 has been created by age.

SHA-1: 0d8fd712ce7e25e4b44ae4e9286b854941d95227


Detailed log of new commits:

Author: age
Date: Fri May 19 13:35:45 2017 +0300

    0028762: Visualization, Ray tracing - Implement depth-of-field effect
    
    Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
    TKOpenGl - added new ray generation logic to RaytraceBase.fs.
    vrenderparams command - added -focal and -aperture parameters.

Author: mkv
Date: Thu May 25 12:03:12 2017 +0300

    // Small correction of image names in test cases

Author: age
Date: Tue May 30 10:18:10 2017 +0300

    // OpenGl_View_Raytrace.cxx - Disabled dof for stereo camera

kgv

2017-06-07 10:23

developer   ~0067163

> OpenGl_View_Raytrace.cxx - Disabled dof for stereo camera
Why? What's wrong with DOF that it can not be applied for stereo pair?

age

2017-06-07 10:36

developer   ~0067165

Current ray generation algorithm for dof does not work with stereo camera correctly. So due to lack of time it's desided to disable dof for stereo to resolve this issue.
Later (next week) when there will be enough time we will meet together and discuss this problem.

git

2017-06-27 11:22

administrator   ~0067717

Branch CR28762_3 has been created by duv.

SHA-1: 3976a6a7b842e4c81e26c27ec5e16002ad8f7f59


Detailed log of new commits:

Author: duv
Date: Tue Jun 27 11:22:31 2017 +0300

    0028762: Visualization, Ray tracing - Implement depth-of-field effect
    
    Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
    TKOpenGl - added new ray generation logic to RaytraceBase.fs.
    vrenderparams command - added -focal and -aperture parameters.

duv

2017-06-27 11:25

developer   ~0067718

Dear kgv,
Please review the patch in branch CR28762_3.

A stereo camera should be handled correctly now.

git

2017-06-27 18:58

administrator   ~0067746

Branch CR28762_3 has been updated by kgv.

SHA-1: 4dae08ab26162a5d1b3a9e7e578e4f1304598fbb


Detailed log of new commits:

Author: kgv
Date: Tue Jun 27 18:58:52 2017 +0300

    # add test case

git

2017-06-27 19:08

administrator   ~0067747

Branch CR28762_3 has been updated by kgv.

SHA-1: 6d7a223ebe53325519094eb1d4300d25e8e39b10


Detailed log of new commits:

Author: kgv
Date: Tue Jun 27 19:08:49 2017 +0300

    # regenerate GLSL resource file

kgv

2017-06-28 09:39

developer   ~0067756

There are regressions and test case for DOF+stereo also produces artifacts.
http://occt-tests/CR28762-master-KGV-OCCT/Windows-64-VC10/diff_summary.html
http://occt-tests/CR28762-master-KGV-OCCT/Debian70-64/diff_summary.html
v3d glsl tiles
v3d raytrace dof_stereo

git

2017-07-04 10:15

administrator   ~0067958

Branch CR28762_3 has been updated by age.

SHA-1: 6f29eaf9efe8eeb536c8a1c83bb8c7c2923a4bc9


Detailed log of new commits:

Author: age
Date: Tue Jul 4 10:15:02 2017 +0300

    // fixed interaction between adaptive sampling and stereo camera
    // function for ray generating was split into two functions

age

2017-07-04 10:20

developer   ~0067959

Dear kgv,
Please review the patch in branch CR28762_3.

Dof is now supported only for path tracing, perspective and stereo camera.
Ray tracing uses old ray generation.

age

2017-07-04 10:22

developer  

dof_mono.png (318,587 bytes)

age

2017-07-04 10:23

developer  

dof_stereo.png (339,700 bytes)

duv

2017-07-04 10:28

developer   ~0067960

Dear kgv,
This behaviour chosen for following reasons:
1) DOF effect could not be implemented in ray-tracing mode
2) Tiled rendering is not supported for path tracing anyway

Thus there is no point to use more complicated ray generation routine

kgv

2017-07-04 13:04

developer   ~0067967

Last edited: 2017-07-04 13:05

Author: age
Date: Tue Jul 4 10:15:02 2017 +0300

    // fixed interaction between adaptive sampling and stereo camera
    // function for ray generating was split into two functions

Please note (for future integrations) that since now such commits should start with #, not // (see notification mail from Bugmaster).
Also patch should be squashed into new branch before sending for review, if it contains many changes (see recommended practices in bug advancement workflow).

+  //! Generate viewving rays (path tracing, perspective camera).

viewving

-  theViewPr.Inverted (theUnview);
+  theViewPr.Inverted(theUnview);

Unrelated and inconsistent to OCCT code style.

> 1) DOF effect could not be implemented in ray-tracing mode

It is strange statement, but anyhow.
Please add appropriate comment to Graphic3d_RenderingParams::CameraApertureRadius/CameraFocalPlaneDist in this case.

> 2) Tiled rendering is not supported for path tracing anyway

Tiled rendering failed on test case (v3d/glsl/tiles) using Ray-Tracing mode, not Path-Tracing.

git

2017-07-04 13:39

administrator   ~0067968

Branch CR28762_4 has been created by age.

SHA-1: 51839482189d55e266075e067e386a85d9a8791e


Detailed log of new commits:

Author: duv
Date: Tue Jun 27 11:22:31 2017 +0300

    0028762: Visualization, Ray tracing - Implement depth-of-field effect
    
    Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
    TKOpenGl - added new ray generation logic to RaytraceBase.fs.
    vrenderparams command - added -focal and -aperture parameters.
    OpenGl_View.hxx - function for ray generating was split into two functions (ray tracing and path tracing).
    OpenGl_View_Raytrace.cxx - fixed interaction between adaptive sampling and stereo camera

age

2017-07-04 13:45

developer   ~0067969

Dear kgv,
Please review the patch in branch CR28762_4.

Both ray tracing and path tracing used the same ray generation algorithm, so after implementing dof test case v3d/glsl/tiles was broken. Now generation algorithm is divined into two - for ray tracing and path tracing.

kgv

2017-07-05 08:03

developer   ~0067987

There is a regression - see test case v3d/raytrace/bug25221:
http://occt-tests/CR28762-master-KGV-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
http://occt-tests/CR28762-master-KGV-OCCT/Debian70-64/diff-Debian70-64-image.html

kgv

2017-07-05 10:24

developer   ~0067988

Last edited: 2017-07-05 10:25

Dear age,

20 hours ago 	duv	0028762: Visualization, Ray tracing - Implement depth... CR28762_4
12 days ago 	nbv	0028849: [Regression to 7.1.0] Exception in Boolean... IR-2017-06-22

please also never forget rebasing the patch to the current master (there might be unexpected issues within automated regression testing system; this will be protected later).

git

2017-07-05 11:42

administrator   ~0068000

Branch CR28762_5 has been created by age.

SHA-1: 6a389b6cffc18f0a0edbe6e2409f20a1b94938bf


Detailed log of new commits:

Author: duv
Date: Tue Jun 27 11:22:31 2017 +0300

    0028762: Visualization, Ray tracing - Implement depth-of-field effect
    
    Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
    TKOpenGl - added new ray generation logic to RaytraceBase.fs.
    vrenderparams command - added -focal and -aperture parameters.
    OpenGl_View.hxx - function for ray generating was split into two functions (ray tracing and path tracing).
    OpenGl_View_Raytrace.cxx - fixed interaction between adaptive sampling and stereo camera

age

2017-07-05 11:47

developer   ~0068001

Dear kgv,
Please review the patch in branch CR28762_5.

Highlight in path tracing should be handled correctly now.

git

2017-07-05 12:06

administrator   ~0068003

Branch CR28762_5 has been updated forcibly by kgv.

SHA-1: b9a362f055d598204f555d561d2da7eab7fc8583

kgv

2017-07-05 12:06

developer   ~0068004

Please test updated patch.

apv

2017-07-07 12:27

tester   ~0068070

Dear BugMaster,

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

Number of compiler warnings:
occt component:
   Linux: 3 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 3 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1214

New warnings have been detected during OCCT component building
on Linux:
http://jenkins-test-09.nnov.opencascade.com/view/CR28762_5-master/view/OCCT%20compile/job/CR28762_5-master-OCCT-Debian70-64-opt-compile/1/warnings21Result/
on MacOS:
http://jenkins-test-09.nnov.opencascade.com/view/CR28762_5-master/view/OCCT%20compile/job/CR28762_5-master-OCCT-MacOS-opt-compile/1/warnings9Result/

Regressions/Differences:
Not detected

Testing cases:
v3d raytrace dof_mono - OK
http://occt-tests/CR28762_5-master-OCCT/Debian70-64/v3d/raytrace/dof_mono.html
http://occt-tests/CR28762_5-master-OCCT/Windows-64-VC10/v3d/raytrace/dof_mono.html
v3d raytrace dof_stereo - OK
http://occt-tests/CR28762_5-master-OCCT/Debian70-64/v3d/raytrace/dof_stereo.html
http://occt-tests/CR28762_5-master-OCCT/Windows-64-VC10/v3d/raytrace/dof_stereo.html

Testing on Linux:
Total MEMORY difference: 92342809 / 92184313 [+0.17%]
Total CPU difference: 19253.589999999953 / 18926.030000000348 [+1.73%]

Testing on Windows:
Total MEMORY difference: 58847913 / 58850236 [-0.00%]
Total CPU difference: 17550.98610559868 / 17597.770805498705 [-0.27%]

There are differences in images found by testdiff:
http://occt-tests/CR28762_5-master-OCCT/Debian70-64/diff-Debian70-64-image.html
http://occt-tests/CR28762_5-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html

apv

2017-07-07 12:29

tester   ~0068071

Dear age,

Branch CR28762_5 has been rejected due to:
- additional warnings
- differences in images

git

2017-07-07 14:22

administrator   ~0068081

Branch CR28762_6 has been created by age.

SHA-1: 8a1d033d64cc2c8fc31d17d57ec321e4c2179c1b


Detailed log of new commits:

Author: duv
Date: Tue Jun 27 11:22:31 2017 +0300

    0028762: Visualization, Ray tracing - Implement depth-of-field effect
    
    Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
    TKOpenGl - added new ray generation logic to RaytraceBase.fs.
    vrenderparams command - added -focal and -aperture parameters.
    OpenGl_View.hxx - function for ray generating was split into two functions (ray tracing and path tracing).
    OpenGl_View_Raytrace.cxx - fixed interaction between adaptive sampling and stereo camera

age

2017-07-07 14:27

developer   ~0068084

Dear kgv,
Fixed warnings.

> - differences in images
I can't see any significant differences in images.

kgv

2017-07-07 14:33

developer   ~0068086

Please test updated patch.

bugmaster

2017-07-09 17:59

administrator   ~0068111

Dear MKV,

Please analyze results of testing CR28762_6 in

http://jenkins-test-09.nnov.opencascade.com/view/CR28762_6-master/view/ALL/

mkv

2017-07-10 12:49

tester   ~0068153

Dear BugMaster,
Branch CR28762_6 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 8a1d033d64cc2c8fc31d17d57ec321e4c2179c1b

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 64 (64 on master)
Windows: 0 (0 on master)
MacOS : 1160

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR28762_6-master-OCCT/Debian70-64/v3d/raytrace/dof_mono.html
http://occt-tests/CR28762_6-master-OCCT/Windows-64-VC10/v3d/raytrace/dof_mono.html
v3d raytrace dof_mono: OK
http://occt-tests/CR28762_6-master-OCCT/Debian70-64/v3d/raytrace/dof_stereo.html
http://occt-tests/CR28762_6-master-OCCT/Windows-64-VC10/v3d/raytrace/dof_stereo.html
v3d raytrace dof_stereo: OK

Testing on Linux:
occt component :
Total CPU difference: 19118.920000000166 / 19289.600000000315 [-0.88%]
Total MEMORY difference: 92989654 / 91873853 [+1.21%]
products component :
Total CPU difference: 6459.410000000055 / 6487.850000000069 [-0.44%]
Total MEMORY difference: 37701232 / 37650261 [+0.14%]
Testing on Windows:
occt component :
Total CPU difference: 17802.178915798566 / 17787.234019998614 [+0.08%]
Total MEMORY difference: 59028235 / 59031436 [-0.01%]
products component :
Total CPU difference: 6691.506894000054 / 6584.849010300061 [+1.62%]
Total MEMORY difference: 27877065 / 28099545 [-0.79%]

There are no differences in images found by testdiff.

mkv

2017-07-10 12:50

tester   ~0068154

Dear BugMaster,
Branch CR28762_6 from occt git-repository is TESTED.

git

2017-07-17 10:05

administrator   ~0068334

Branch CR28762 has been deleted by kgv.

SHA-1: 6f48fb006ad7e1ea019d9a1337f9b5cde92bf883

git

2017-07-17 10:05

administrator   ~0068335

Branch CR28762_1 has been deleted by kgv.

SHA-1: 344ba9560c92be7c3c49a347ba8928fd01626257

git

2017-07-17 10:05

administrator   ~0068336

Branch CR28762_2 has been deleted by kgv.

SHA-1: 0d8fd712ce7e25e4b44ae4e9286b854941d95227

git

2017-07-17 10:05

administrator   ~0068337

Branch CR28762_3 has been deleted by kgv.

SHA-1: 6f29eaf9efe8eeb536c8a1c83bb8c7c2923a4bc9

git

2017-07-17 10:05

administrator   ~0068338

Branch CR28762_4 has been deleted by kgv.

SHA-1: 51839482189d55e266075e067e386a85d9a8791e

git

2017-07-17 10:05

administrator   ~0068339

Branch CR28762_5 has been deleted by kgv.

SHA-1: b9a362f055d598204f555d561d2da7eab7fc8583

git

2017-07-17 10:05

administrator   ~0068340

Branch CR28762_6 has been deleted by kgv.

SHA-1: 8a1d033d64cc2c8fc31d17d57ec321e4c2179c1b

Related Changesets

occt: master b27ab03d

2017-06-27 08:22:31

duv


Committer: bugmaster Details Diff
0028762: Visualization, Ray tracing - Implement depth-of-field effect

Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
TKOpenGl - added new ray generation logic to RaytraceBase.fs.
vrenderparams command - added -focal and -aperture parameters.
OpenGl_View.hxx - function for ray generating was split into two functions (ray tracing and path tracing).
OpenGl_View_Raytrace.cxx - fixed interaction between adaptive sampling and stereo camera
Affected Issues
0028762
mod - src/Graphic3d/Graphic3d_RenderingParams.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/Shaders/RaytraceBase.fs Diff File
mod - src/Shaders/Shaders_RaytraceBase_fs.pxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
add - tests/v3d/raytrace/dof_mono Diff File
add - tests/v3d/raytrace/dof_stereo Diff File

Issue History

Date Modified Username Field Change
2017-05-19 15:18 age New Issue
2017-05-19 15:18 age Assigned To => age
2017-05-19 15:18 age Status new => assigned
2017-05-19 15:21 kgv Summary Visualization - Implement depth-of-field effect => Visualization, Ray tracing - Implement depth-of-field effect
2017-05-19 15:21 kgv Severity minor => feature
2017-05-19 15:21 kgv Product Version 7.2.0 =>
2017-05-19 15:26 git Note Added: 0066326
2017-05-19 15:28 age Note Added: 0066328
2017-05-19 15:28 age Assigned To age => duv
2017-05-19 15:28 age Status assigned => resolved
2017-05-19 15:28 age Steps to Reproduce Updated
2017-05-19 15:33 kgv Note Added: 0066329
2017-05-22 11:05 git Note Added: 0066359
2017-05-22 11:06 age Assigned To duv => age
2017-05-22 11:07 age Assigned To age => kgv
2017-05-22 11:07 age Note Added: 0066360
2017-05-22 14:54 kgv Note Added: 0066396
2017-05-22 14:55 kgv Note Edited: 0066396
2017-05-22 14:55 kgv Note Edited: 0066396
2017-05-22 15:05 kgv Note Added: 0066397
2017-05-22 15:05 kgv Assigned To kgv => age
2017-05-22 15:05 kgv Status resolved => assigned
2017-05-23 09:57 git Note Added: 0066431
2017-05-23 09:57 age Note Added: 0066432
2017-05-23 09:57 age Assigned To age => kgv
2017-05-23 09:57 age Status assigned => resolved
2017-05-23 10:08 kgv Note Added: 0066433
2017-05-23 10:08 kgv Assigned To kgv => age
2017-05-23 10:08 kgv Status resolved => assigned
2017-05-23 10:08 kgv Note Edited: 0066433
2017-05-23 13:13 git Note Added: 0066461
2017-05-23 13:14 age File Added: dof.png
2017-05-23 13:15 age Note Added: 0066463
2017-05-23 13:15 age Assigned To age => kgv
2017-05-23 13:15 age Status assigned => resolved
2017-05-23 13:59 kgv Note Added: 0066465
2017-05-23 14:00 kgv Assigned To kgv => age
2017-05-23 14:00 kgv Status resolved => assigned
2017-05-23 15:04 git Note Added: 0066466
2017-05-23 15:06 age Note Added: 0066467
2017-05-23 15:06 age Assigned To age => kgv
2017-05-23 15:06 age Status assigned => resolved
2017-05-23 15:11 kgv Note Added: 0066469
2017-05-23 15:17 kgv Note Added: 0066472
2017-05-23 15:18 kgv Note Edited: 0066472
2017-05-23 15:18 kgv Assigned To kgv => age
2017-05-23 15:18 kgv Status resolved => assigned
2017-05-23 15:19 kgv Note Edited: 0066469
2017-05-23 15:31 age Note Added: 0066473
2017-05-23 15:37 age Note Edited: 0066473
2017-05-23 15:37 age Note Edited: 0066473
2017-05-24 09:21 age Note Edited: 0066473
2017-05-24 14:04 age Assigned To age => kgv
2017-05-24 14:04 age Status assigned => resolved
2017-05-24 16:52 git Note Added: 0066537
2017-05-24 17:00 git Note Added: 0066538
2017-05-24 17:04 git Note Added: 0066539
2017-05-24 17:06 kgv Note Added: 0066540
2017-05-24 17:06 kgv Assigned To kgv => bugmaster
2017-05-24 17:06 kgv Status resolved => reviewed
2017-05-24 17:06 kgv Steps to Reproduce Updated
2017-05-24 17:08 kgv Steps to Reproduce Updated
2017-05-24 17:09 kgv Steps to Reproduce Updated
2017-05-24 17:43 mkv Assigned To bugmaster => mkv
2017-05-25 12:24 mkv Note Added: 0066560
2017-05-25 12:24 git Note Added: 0066561
2017-05-25 12:24 mkv Note Added: 0066562
2017-05-25 12:24 mkv Assigned To mkv => kgv
2017-05-25 12:24 mkv Status reviewed => feedback
2017-05-25 12:25 mkv Test case number => v3d raytrace dof
2017-05-25 12:29 kgv Assigned To kgv => age
2017-05-25 12:29 kgv Status feedback => assigned
2017-05-25 12:31 kgv Note Added: 0066565
2017-06-07 10:22 git Note Added: 0067162
2017-06-07 10:23 kgv Note Added: 0067163
2017-06-07 10:36 age Note Added: 0067165
2017-06-07 10:38 age Assigned To age => kgv
2017-06-07 10:38 age Status assigned => resolved
2017-06-07 10:38 age Steps to Reproduce Updated
2017-06-08 18:29 kgv Assigned To kgv => age
2017-06-08 18:29 kgv Status resolved => assigned
2017-06-27 11:22 git Note Added: 0067717
2017-06-27 11:25 duv Note Added: 0067718
2017-06-27 11:25 duv Assigned To age => kgv
2017-06-27 11:25 duv Status assigned => resolved
2017-06-27 18:58 git Note Added: 0067746
2017-06-27 19:08 git Note Added: 0067747
2017-06-28 09:39 kgv Note Added: 0067756
2017-06-28 09:39 kgv Assigned To kgv => duv
2017-06-28 09:39 kgv Status resolved => assigned
2017-06-28 09:53 duv Assigned To duv => age
2017-07-04 10:15 git Note Added: 0067958
2017-07-04 10:20 age Note Added: 0067959
2017-07-04 10:20 age Assigned To age => kgv
2017-07-04 10:20 age Status assigned => resolved
2017-07-04 10:22 age File Added: dof_mono.png
2017-07-04 10:22 age File Deleted: dof.png
2017-07-04 10:23 age File Added: dof_stereo.png
2017-07-04 10:28 duv Note Added: 0067960
2017-07-04 13:04 kgv Note Added: 0067967
2017-07-04 13:05 kgv Note Edited: 0067967
2017-07-04 13:05 kgv Assigned To kgv => age
2017-07-04 13:05 kgv Status resolved => assigned
2017-07-04 13:39 git Note Added: 0067968
2017-07-04 13:45 age Note Added: 0067969
2017-07-04 13:45 age Assigned To age => kgv
2017-07-04 13:45 age Status assigned => resolved
2017-07-05 08:03 kgv Note Added: 0067987
2017-07-05 08:03 kgv Assigned To kgv => age
2017-07-05 08:03 kgv Status resolved => assigned
2017-07-05 10:24 kgv Note Added: 0067988
2017-07-05 10:25 kgv Note Edited: 0067988
2017-07-05 11:42 git Note Added: 0068000
2017-07-05 11:47 age Note Added: 0068001
2017-07-05 11:47 age Assigned To age => kgv
2017-07-05 11:47 age Status assigned => resolved
2017-07-05 12:06 git Note Added: 0068003
2017-07-05 12:06 kgv Note Added: 0068004
2017-07-05 12:06 kgv Assigned To kgv => bugmaster
2017-07-05 12:06 kgv Status resolved => reviewed
2017-07-05 13:42 apv Assigned To bugmaster => apv
2017-07-05 14:33 apv Test case number v3d raytrace dof => v3d raytrace dof_mono, dof_stereo
2017-07-07 12:27 apv Note Added: 0068070
2017-07-07 12:27 apv Assigned To apv => age
2017-07-07 12:27 apv Status reviewed => assigned
2017-07-07 12:29 apv Note Added: 0068071
2017-07-07 14:22 git Note Added: 0068081
2017-07-07 14:27 age Note Added: 0068084
2017-07-07 14:27 age Assigned To age => kgv
2017-07-07 14:27 age Status assigned => resolved
2017-07-07 14:33 kgv Note Added: 0068086
2017-07-07 14:33 kgv Assigned To kgv => bugmaster
2017-07-07 14:33 kgv Status resolved => reviewed
2017-07-07 14:44 apv Assigned To bugmaster => apv
2017-07-09 17:58 bugmaster Assigned To apv => mkv
2017-07-09 17:59 bugmaster Note Added: 0068111
2017-07-10 12:49 mkv Note Added: 0068153
2017-07-10 12:50 mkv Note Added: 0068154
2017-07-10 12:50 mkv Assigned To mkv => bugmaster
2017-07-10 12:50 mkv Status reviewed => tested
2017-07-14 13:55 bugmaster Changeset attached => occt master b27ab03d
2017-07-14 13:55 bugmaster Status tested => verified
2017-07-14 13:55 bugmaster Resolution open => fixed
2017-07-17 10:05 git Note Added: 0068334
2017-07-17 10:05 git Note Added: 0068335
2017-07-17 10:05 git Note Added: 0068336
2017-07-17 10:05 git Note Added: 0068337
2017-07-17 10:05 git Note Added: 0068338
2017-07-17 10:05 git Note Added: 0068339
2017-07-17 10:05 git Note Added: 0068340
2017-09-29 16:18 aiv Fixed in Version => 7.2.0
2017-09-29 16:28 aiv Status verified => closed