View Issue Details

IDProjectCategoryView StatusLast Update
0028794Open CASCADEOCCT:Visualizationpublic2017-09-29 16:28
ReporterageAssigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028794: Visualization, Ray tracing - Implement tone mapping
DescriptionImplement tone mapping
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberv3d raytrace tone_mapping

Attached Files

  • tone_mapping.png (308,343 bytes)

Activities

git

2017-05-29 10:27

administrator   ~0066698

Branch CR28794 has been created by age.

SHA-1: 4e83b55f449229f178630178fb0e4c12ba381a5f


Detailed log of new commits:

Author: age
Date: Thu May 25 14:34:34 2017 +0300

    0028794: Visualization, Ray tracing - Implement tone mapping
    
    Added enum Graphic3d_ToneMappingMethod for choosing tone mapping mode.
    Added new rendering parameters.
    Added tone mapping to Display.fs shader.

age

2017-05-29 10:30

developer   ~0066699

Dear kgv,
Please review the branch CR28794.

kgv

2017-05-29 11:26

developer   ~0066706

53 min ago 	age	0028794: Visualization, Ray tracing - Implement tone... 
10 days ago 	nbv	0028724: Extrema between circle and plane cannot be...

Patch should be rebased onto master.

+enum Graphic3d_ToneMappingMethod
+{
+  Graphic3d_TMM_DISABLED,      //!< Don't use tone mapping
+  Graphic3d_TMM_FILMIC         //!< Use filmic tone mapping
+};

Better defining long names Graphic3d_ToneMappingMethod_Disabled, Graphic3d_ToneMappingMethod_Filmic; TMM shorthand is old style used in WOK.

+    default:
+      break;

Please don't add "default" - without it compiler will emit warning after extending enumeration.

+    if (myRaytraceParameters.Exposure != myRenderParams.Exposure)
+    {
+      myRaytraceParameters.Exposure = myRenderParams.Exposure;
+      myAccumFrames = 0;
+    }
+
+    if (myRaytraceParameters.WhitePoint != myRenderParams.WhitePoint)
+    {
+      myRaytraceParameters.WhitePoint = myRenderParams.WhitePoint;
+      myAccumFrames = 0;
+    }

Better merging these two cases.
+    if (myRaytraceParameters.Exposure   != myRenderParams.Exposure
+     || myRaytraceParameters.WhitePoint != myRenderParams.WhitePoint)
+    {
+      myRaytraceParameters.Exposure   = myRenderParams.Exposure;
+      myRaytraceParameters.WhitePoint = myRenderParams.WhitePoint;
+      myAccumFrames = 0;
+    }

git

2017-06-01 09:35

administrator   ~0066950

Branch CR28794 has been updated by age.

SHA-1: 95f73b137f4ffe94cc5842e1bc6cf5b416690f84


Detailed log of new commits:

Author: age
Date: Mon May 29 11:47:49 2017 +0300

    // OpenGl_View.hxx - Deleted Exposure and WhitePoint parameters
    // Graphic3d_ToneMappingMethod.hxx - Changed names
    // OpenGl_View_Raytrace.cxx - Removed default cases
    // Display.fs - Changed exposure calculating

Author: mpv
Date: Mon May 22 14:35:57 2017 +0300

    0025537: XmlMPrsStd_PositionDriver::Paste runtime check crash.
    
    Increased a size of buffer in array of 'char' to fit the largest possible conversion from 'double' to %.17g string.

Author: kgv
Date: Thu May 11 18:10:53 2017 +0300

    0028726: Quantity_NameOfColor should be replaced by Quantity_Color in function input argument
    
    AIS_InteractiveObject, virtual methods ::SetColor(), ::Color()
    returning/accepting Quantity_NameOfColor have been removed.
    Virtual method ::SetMaterial() accepting Graphic3d_NameOfMaterial has been also removed.
    
    V3d_View, V3d_Viewer, V3d_AmbientLight, V3d_DirectionalLight,
    V3d_Light, V3d_PositionalLight, V3d_SpotLight, Aspect_Window,
    methods accepting Quantity_NameOfColor have been removed (duplicates)
    or color argument(s) replaced with Quantity_Color.

Author: vro
Date: Mon May 22 15:41:14 2017 +0300

    0027667: OCAF binary persistence hangs on reading truncated CBF file
    
    A check on "end of file" is added to the reader.

Author: nbv
Date: Thu Dec 15 17:22:00 2016 +0300

    0028222: Intersection of two cylinders fails
    
    1. The reason of exception has been eliminated.
    
    2. Algorithm in IntPatch_WLineTool::JoinWLines(...) method has been modified in order to forbid join curves in the point where more than two intersection lines meet. More over, joining is forbidden if local curvature in the connection point is too big (see function CheckArgumentsToJoin(...) in the file IntPatch_WLineTool.cxx).
    
    3. Interface of IntPatch_WLineTool::JoinWLines(...) method has been modified in order to reduce number of arguments.
    
    4. Small corrections in IsSeamOrBound(...) static function has been made. Namely, check has been added if two boundaries are in the same period region but are too far each to other (see IntPatch_WLineTool.cxx, IsSeamOrBound(...) function, line # 532).
    
    5. "Reversed" flag has been made local. Now, it is pure local characteristic: the algorithm decides itself, shall we reverse the argument order. This correction makes the algorithm more commutative (see issue 0025404). However, IntPatch_WLineTool::JoinWLines(...) method can return non-commutative result.
    
    6. Algorithm of searching small intersection curves has been improved.
    
    7. New methods have been added in Bnd_Range class.
    
    Some test cases have been adjusted according to their new behavior.
    
    1. tests\bugs\modalg_6\bug26310_3
       tests\bugs\modalg_6\bug26310_4
       tests\bugs\moddata_2\bug235
       tests\perf\modalg\bug26310_1
       tests\bugs\modalg_5\bug24915
    
    Logic of these cases has been changed. Mover over, additional check has been added in "bug26310_1" test case. Therefore, its performance will be slower than on the current MASTER.
    
    2. tests\bugs\modalg_5\bug25292*
    
    Scripts have been rewritten in order to make it more readable. Logic of these cases has not been changed.

Author: kgv
Date: Tue May 23 19:05:41 2017 +0300

    0028778: Coding Rules - clean up confusing code from Select3D

Author: szy
Date: Tue May 23 15:14:51 2017 +0300

    0028446: Could not retrieve just kept document with Integer attribute

Author: szy
Date: Thu May 11 17:37:44 2017 +0300

    0027970: Improvement of standard attributes usability - containers.

Author: emv
Date: Wed May 3 15:42:53 2017 +0300

    0028776: Extend the field BOPAlgo_Builder::myOrigins so that the shape could have multiple origins
    
    Change the type of the field BOPAlgo_Builder::myOrigins so that the new shape could have multiple origins in case of overlapping.

Author: nbv
Date: Fri May 19 16:38:18 2017 +0300

    0028718: Section result has a break

Author: age
Date: Tue May 16 13:37:50 2017 +0300

    0028758: Visualization - Implement exporting generated image to HRD/EXR images
    
    OpenGl_View::BufferDump() - added support for dumping RayTracing HDR buffers.
    Added new buffer type Graphic3d_BT_RGB_RayTraceHdrLeft.

Author: dbv
Date: Wed May 17 18:43:59 2017 +0300

    0028748: XCAFDoc_GraphNode does not restore child on Undo
    
    Fixed calling Backup method. Now it called where data really changed.

Author: ifv
Date: Tue May 16 17:37:13 2017 +0300

    0028692: Projection failed (projponf)
    
    Tolerance criterion is improved:
    P.SquareDistance(p1) < Tol -> P.SquareDistance(p1) < Tol*Tol

Author: ifv
Date: Thu May 18 16:10:45 2017 +0300

    0028637: [regression] Extrema curve - curve can not find correct solution between edge based on the line and BSpline edge
    
    Adding condition for preventing decreasing Lipschitz constant if derivative are too small
    Test case is created

Author: ibs
Date: Mon May 15 14:22:11 2017 +0300

    0028740: Visualization, AIS_RubberBand - add an option to decide either create or not create a closing boundary line
    
    the flag is added and the Compute method is updated to consider this flag

Author: age
Date: Tue May 16 13:12:50 2017 +0300

    0028744: Visualization, OpenGl_FrameBuffer missing GL_RGB8 format
    
    Missing GL_RGB8 and GL_RGB formats added to getColorDataFormat function.

git

2017-06-01 11:49

administrator   ~0066960

Branch CR28794_1 has been created by age.

SHA-1: 38b59541d187ac062ea684a2be5e06681cbf3093


Detailed log of new commits:

Author: age
Date: Mon May 29 11:47:49 2017 +0300

    // OpenGl_View.hxx - Deleted Exposure and WhitePoint parameters
    // Graphic3d_ToneMappingMethod.hxx - Changed names
    // OpenGl_View_Raytrace.cxx - Removed default cases
    // Display.fs - Changed exposure calculating

Author: age
Date: Thu May 25 14:34:34 2017 +0300

    0028794: Visualization, Ray tracing - Implement tone mapping
    
    Added enum Graphic3d_ToneMappingMethod for choosing tone mapping mode.
    Added new rendering parameters.
    Added tone mapping to Display.fs shader.

age

2017-06-01 11:56

developer   ~0066961

Dear kgv,
There was a problem with the branch CR28794, so the branch CR28794_1 was created.
Please review the last commit in the branch CR28794_1.

git

2017-06-02 14:04

administrator   ~0067020

Branch CR28794_1 has been updated by kgv.

SHA-1: b5b5b55d494dced35e987cca68116a17997fb595


Detailed log of new commits:

Author: kgv
Date: Fri Jun 2 14:04:21 2017 +0300

    # cosmetics

git

2017-06-02 14:06

administrator   ~0067021

Branch CR28794_2 has been created by kgv.

SHA-1: 036de67896a92cf26af48f26fe19c97eca61e123


Detailed log of new commits:

Author: age
Date: Thu May 25 14:34:34 2017 +0300

    0028794: Visualization, Ray tracing - Implement tone mapping
    
    Added enum Graphic3d_ToneMappingMethod for choosing tone mapping mode.
    Added new rendering parameters.
    Added tone mapping to Display.fs shader.

kgv

2017-06-02 14:06

developer   ~0067022

Test case is missing.

git

2017-06-06 15:42

administrator   ~0067135

Branch CR28794_2 has been updated by age.

SHA-1: ba7428ba8475280a6135af51727179c88ef8f309


Detailed log of new commits:

Author: age
Date: Tue Jun 6 14:30:49 2017 +0300

    // Added test case

age

2017-06-06 15:44

developer  

tone_mapping.png (308,343 bytes)

age

2017-06-06 15:45

developer   ~0067136

Please review the branch CR28794_2

kgv

2017-06-06 15:46

developer   ~0067137

Please test the patch.

apv

2017-06-07 12:48

tester   ~0067177

Dear BugMaster,

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

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

Regressions/Differences:
Not detected

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

Testing on Linux:
Total MEMORY difference: 99201102 / 91674159 [+8.21%]
Total CPU difference: 18919.240000000584 / 18756.150000000256 [+0.87%]

Testing on Windows:
Total MEMORY difference: 58850707 / 58848397 [+0.00%]
Total CPU difference: 17432.61254679865 / 17514.55987209864 [-0.47%]

apv

2017-06-07 12:49

tester   ~0067178

Dear BugMaster,

Please integrate branch CR28794_2 into the occt git-repository master.

git

2017-06-13 17:34

administrator   ~0067343

Branch CR28794 has been deleted by kgv.

SHA-1: 95f73b137f4ffe94cc5842e1bc6cf5b416690f84

git

2017-06-13 17:34

administrator   ~0067344

Branch CR28794_1 has been deleted by kgv.

SHA-1: b5b5b55d494dced35e987cca68116a17997fb595

git

2017-06-13 17:34

administrator   ~0067345

Branch CR28794_2 has been deleted by kgv.

SHA-1: ba7428ba8475280a6135af51727179c88ef8f309

git

2017-06-14 13:57

administrator   ~0067402

Branch CR28794_resources has been created by kgv.

SHA-1: 603f81e04736fb890517934ed8bd82134c906a53


Detailed log of new commits:

Author: kgv
Date: Wed Jun 14 13:56:34 2017 +0300

    0028794: Regenerate .pxx file for Shaders/Display.fs resource

git

2017-06-14 13:58

administrator   ~0067403

Branch CR28794_resources has been updated forcibly by kgv.

SHA-1: 94a2786a7623c290942fd75af8972fe90cdee10a

git

2017-07-03 08:45

administrator   ~0067871

Branch CR28794_resources has been deleted by kgv.

SHA-1: 94a2786a7623c290942fd75af8972fe90cdee10a

Related Changesets

occt: master eb85ed36

2017-05-25 11:34:34

age


Committer: bugmaster Details Diff
0028794: Visualization, Ray tracing - Implement tone mapping

Added enum Graphic3d_ToneMappingMethod for choosing tone mapping mode.
Added new rendering parameters.
Added tone mapping to Display.fs shader.
Affected Issues
0028794
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d_RenderingParams.hxx Diff File
add - src/Graphic3d/Graphic3d_ToneMappingMethod.hxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff File
mod - src/Shaders/Display.fs Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
add - tests/v3d/raytrace/tone_mapping Diff File

occt: master 6c060ff2

2017-06-14 10:56:34

kgv


Committer: bugmaster Details Diff
0028794: Regenerate .pxx file for Shaders/Display.fs resource Affected Issues
0028794
mod - src/Shaders/Shaders_Display_fs.pxx Diff File

Issue History

Date Modified Username Field Change
2017-05-29 10:17 age New Issue
2017-05-29 10:17 age Assigned To => age
2017-05-29 10:18 age Status new => assigned
2017-05-29 10:27 git Note Added: 0066698
2017-05-29 10:30 age Note Added: 0066699
2017-05-29 10:30 age Assigned To age => kgv
2017-05-29 10:30 age Status assigned => resolved
2017-05-29 10:30 age Steps to Reproduce Updated
2017-05-29 11:26 kgv Note Added: 0066706
2017-05-29 11:27 kgv Assigned To kgv => age
2017-05-29 11:27 kgv Status resolved => assigned
2017-05-29 11:27 kgv Product Version 7.2.0 =>
2017-06-01 09:35 git Note Added: 0066950
2017-06-01 11:49 git Note Added: 0066960
2017-06-01 11:56 age Note Added: 0066961
2017-06-01 11:56 age Assigned To age => kgv
2017-06-01 11:56 age Status assigned => resolved
2017-06-02 14:04 git Note Added: 0067020
2017-06-02 14:06 git Note Added: 0067021
2017-06-02 14:06 kgv Note Added: 0067022
2017-06-02 14:06 kgv Assigned To kgv => age
2017-06-02 14:06 kgv Status resolved => assigned
2017-06-06 15:42 git Note Added: 0067135
2017-06-06 15:44 age File Added: tone_mapping.png
2017-06-06 15:45 age Note Added: 0067136
2017-06-06 15:45 age Assigned To age => kgv
2017-06-06 15:45 age Status assigned => resolved
2017-06-06 15:46 kgv Note Added: 0067137
2017-06-06 15:46 kgv Assigned To kgv => bugmaster
2017-06-06 15:46 kgv Status resolved => reviewed
2017-06-06 16:01 apv Assigned To bugmaster => apv
2017-06-07 12:45 apv Test case number => v3d raytrace tone_mapping
2017-06-07 12:48 apv Note Added: 0067177
2017-06-07 12:48 apv Assigned To apv => bugmaster
2017-06-07 12:48 apv Status reviewed => tested
2017-06-07 12:49 apv Note Added: 0067178
2017-06-09 14:06 bugmaster Changeset attached => occt master eb85ed36
2017-06-09 14:06 bugmaster Status tested => verified
2017-06-09 14:06 bugmaster Resolution open => fixed
2017-06-13 17:34 git Note Added: 0067343
2017-06-13 17:34 git Note Added: 0067344
2017-06-13 17:34 git Note Added: 0067345
2017-06-14 13:57 git Note Added: 0067402
2017-06-14 13:58 git Note Added: 0067403
2017-06-16 17:17 bugmaster Changeset attached => occt master 6c060ff2
2017-07-03 08:45 git Note Added: 0067871
2017-09-29 16:18 aiv Fixed in Version => 7.2.0
2017-09-29 16:28 aiv Status verified => closed