View Issue Details

IDProjectCategoryView StatusLast Update
0024520Open CASCADEOCCT:Visualizationpublic2014-11-11 12:52
ReporterdbpAssigned Toapn  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
PlatformAOSL 
Product VersionUnscheduled 
Target Version6.8.0Fixed in Version6.8.0 
Summary0024520: Implementing transformations and selective updates in ray-tracing (TKOpenGl)
DescriptionApplying all transformations in GPU ray-tracing on-the-fly allows for ray-tracing animated scenes and scene editing in real-time.

Branch ported to new GLSL raytracer.

Animation can be tested with vanimation command.
TagsNo tags attached.
Test case numberNot needed

Relationships

child of 0024503 closedbugmaster TKOpenGl - Porting ray-tracing component on BVH package 

Activities

dbp

2014-01-16 11:06

developer   ~0027515

Dear duv,

Please evaluate the performance decrease with respect to original version (issue 24503).

Then, share your test data and scripts (for example, using the portal): we need some standard benchmark.

duv

2014-03-31 15:22

developer   ~0028563

Dear dbp,

Please review patch.

kgv

2014-04-01 19:49

developer   ~0028609

Dear duv,

the latest version of 0024739 is in branch CR24739_7 - patch should be rebased on it.

+    OpenGl_GUM_CHECK,   // check if geometry update is necessary

Documentation comment should start with //!< here.

+          if (!aStructure->IsRaytracable())
+            continue;
+
+          if (!aStructure->IsVisible())
+            continue;

Why not
+          if (!aStructure->IsRaytracable()
+           || !aStructure->IsVisible())
+            continue;

?

+        Standard_ShortReal* aTransform (NULL);

Please avoid such style - prefer "aTransform = NULL;".

+          if (!(aSetIter == myArrayToTrianglesMap.end()))
+          {

Why not "aSetIter != myArrayToTrianglesMap.end()" here?

+            BVH_Transform<Standard_ShortReal, 4>* aTransform = new BVH_Transform<Standard_ShortReal, 4>;

Please do not omit default constructor braces.

+      aResult &= mySceneTransformTexture->SubData (myGlContext, aTransformOffset,
+        4, aNodeTransform.GetData());
+
+      aTransformOffset += 4;

OpenGl_VertexBufferEditor might be considered for batch CPU->GPU commits.

duv

2014-04-02 13:55

developer   ~0028627

Dear kgv,

Remarks considered.

dbp

2014-04-02 16:16

developer   ~0028636

Dear Bugmaster,

please test the patch (CR24520).

mkv

2014-04-03 14:16

tester   ~0028655

Dear BugMaster,

Branch CR24520 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: 0f31cf91a721920f99044593d53ad4b940f83b25

Number of compiler warnings:

occt component :
Linux: 21 (27 on master)
Windows: 0 (0 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 393338620 / 392197888
Total CPU difference: 47479.45999999989 / 53399.689999999886

Testing on Windows:
Total MEMORY difference: 420670136 / 414274688
Total CPU difference: 35274.8125 / 42798.984375

There are no differences in images found by testdiff.

apn

2014-04-04 12:26

administrator   ~0028675

There are regressions in test cases in Debug mode:

demo samples raytrace
http://occt-tests/CR24520-master-occt-deb/Debian60-64/demo/samples/raytrace.html

v3d raytrace connected
http://occt-tests/CR24520-master-occt-deb/Debian60-64/v3d/raytrace/connected.html

v3d raytrace plastic
http://occt-tests/CR24520-master-occt-deb/Debian60-64/v3d/raytrace/plastic.html

On WNT execution of these tests leads to hanging.

duv

2014-04-04 15:23

developer   ~0028683

Dear dbp,

Please review patch.

dbp

2014-04-07 10:13

developer   ~0028705

Dear bugmaster,

please test the patch in branch CR24520.

apn

2014-04-09 10:17

administrator   ~0028746

There are compile errors:

Cannot open include file: 'Graphic3d_StructureManager.hxx'
Cannot open include file: 'Handle_Graphic3d_StructureManager.hxx'
Cannot open include file: 'Graphic3d_Group.hxx'
Cannot open include file: 'Graphic3d_MaterialAspect.hxx'
...

duv

2014-04-09 12:15

developer   ~0028757

Dear bugmaster,

Problem solved, please test the branch CR24520.

apn

2014-04-10 16:31

administrator   ~0028782

Dear BugMaster,

Branch CR24520 (and products from GIT master) was compiled on MacOS, Linux and Windows platforms and tested in Release and DEBUG mode.
SHA-1: c3f18174d0d32e671b2f4928f2c43017acd7b0a2

Number of compiler warnings:

occt component :
Linux: 21 (21 on master)
Windows: 1 (1 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
problem test cases in Debug mode
http://occt-tests/CR24520-master-occt-deb/Debian60-64/v3d/raytrace/plastic.html
http://occt-tests/CR24520-master-occt-deb/Debian60-64/v3d/raytrace/connected.html
http://occt-tests/CR24520-master-occt-deb/Debian60-64/demo/samples/raytrace.html

Testing on Linux:
Total MEMORY difference: 351829164 / 352026040
Total CPU difference: 52527.98999999968 / 50789.29000000014

Testing on Windows:
Total MEMORY difference: 381280880 / 381244252
Total CPU difference: 39615.703125 / 36679.046875

There are no differences in images found by testdiff.

Related Changesets

occt: master 84c71f29

2014-03-31 12:36:21

duv


Committer: apn Details Diff
0024520: Implementing affine transformations in ray-tracing Affected Issues
0024520
mod - src/OpenGl/OpenGl_SceneGeometry.hxx 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

Issue History

Date Modified Username Field Change
2014-01-09 11:02 dbp New Issue
2014-01-09 11:02 dbp Assigned To => duv
2014-01-16 11:00 dbp Relationship added related to 0024503
2014-01-16 11:00 dbp Relationship deleted related to 0024503
2014-01-16 11:01 dbp Relationship added child of 0024503
2014-01-16 11:06 dbp Note Added: 0027515
2014-03-31 15:20 duv Description Updated
2014-03-31 15:21 duv Description Updated
2014-03-31 15:22 duv Note Added: 0028563
2014-03-31 15:22 duv Assigned To duv => dbp
2014-03-31 15:22 duv Status new => resolved
2014-04-01 19:49 kgv Note Added: 0028609
2014-04-02 13:55 duv Note Added: 0028627
2014-04-02 16:16 dbp Note Added: 0028636
2014-04-02 16:16 dbp Assigned To dbp => bugmaster
2014-04-02 16:16 dbp Status resolved => reviewed
2014-04-03 10:44 mkv Assigned To bugmaster => mkv
2014-04-03 14:16 mkv Note Added: 0028655
2014-04-03 14:19 mkv Test case number => Not needed
2014-04-03 14:19 mkv Assigned To mkv => bugmaster
2014-04-03 14:19 mkv Status reviewed => tested
2014-04-03 14:20 apn Target Version => 6.7.1
2014-04-04 12:26 apn Note Added: 0028675
2014-04-04 12:26 apn Assigned To bugmaster => duv
2014-04-04 12:26 apn Status tested => assigned
2014-04-04 15:23 duv Note Added: 0028683
2014-04-04 15:23 duv Assigned To duv => dbp
2014-04-04 15:23 duv Status assigned => resolved
2014-04-04 17:11 abv Target Version 6.7.1 => 6.8.0
2014-04-07 10:13 dbp Note Added: 0028705
2014-04-07 10:13 dbp Assigned To dbp => bugmaster
2014-04-07 10:13 dbp Status resolved => reviewed
2014-04-08 15:59 apn Assigned To bugmaster => apn
2014-04-09 10:17 apn Note Added: 0028746
2014-04-09 10:18 apn Assigned To apn => duv
2014-04-09 10:18 apn Status reviewed => assigned
2014-04-09 12:13 duv Status assigned => resolved
2014-04-09 12:15 duv Note Added: 0028757
2014-04-09 12:15 duv Assigned To duv => bugmaster
2014-04-09 12:15 duv Status resolved => reviewed
2014-04-09 12:25 apn Assigned To bugmaster => apn
2014-04-10 16:31 apn Note Added: 0028782
2014-04-10 16:32 apn Assigned To apn => bugmaster
2014-04-10 16:32 apn Status reviewed => tested
2014-04-11 14:43 apn Changeset attached => occt master 84c71f29
2014-04-11 14:43 apn Assigned To bugmaster => apn
2014-04-11 14:43 apn Status tested => verified
2014-04-11 14:43 apn Resolution open => fixed
2014-04-23 11:33 san Summary Implementing affine transformations in OpenCL ray-tracing (TKOpenGl) => Implementing transformations and selective updates in ray-tracing (TKOpenGl)
2014-11-11 12:47 aiv Fixed in Version => 6.8.0
2014-11-11 12:52 aiv Status verified => closed