View Issue Details

IDProjectCategoryView StatusLast Update
0031196CommunityOCCT:Visualizationpublic2021-06-15 16:27
ReporterVico Liang Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0031196: Visualization, TKOpenGl - enable Ray-Tracing using OpenGL ES 3.2
DescriptionOCCT raytracing feature is a cool feature and it's available on PC only. is it possible to enable raytracing feature on mobile device? GPU on mobile device has the ability to do more things such as raytracing I think.
TagsNo tags attached.
Test case numberNot required

Attached Files

  • cadass_path_tracing_adreno650.jpg (80,326 bytes)
  • cadass_path_tracing_malig52.jpg (794,707 bytes)

Relationships

related to 0030700 closedapn Open CASCADE Visualization, TKOpenGl - support PBR Metallic-Roughness shading model 
related to 0032039 closedbugmaster Open CASCADE Visualization, TKOpenGl - implement simple shadow mapping for a direct light source 
related to 0028098 closedbugmaster Open CASCADE Visualization - errors in tests when using OpenGL ES (ANGLE) 
parent of 0032403 closedvpozdyayev Community Visualization - RayTracing renders all object as white color in view with white background 
child of 0024130 closedbugmaster Open CASCADE Implementing ray tracing visualization core 

Activities

kgv

2019-11-27 13:59

developer   ~0089217

From requirements description:
> Ray tracing requires OpenGL 4.0+ or OpenGL 3.3+
> with GL_ARB_texture_buffer_object_rgb32 extension.
> Textures within ray tracing will be available only
> when GL_ARB_bindless_texture extension is provided by driver.

Although it is technically possible adapting RayTracing engine to OpenGL ES 3.0+ (and will work at least on desktop GPUs), what would be the real benefit of it apart from proving the concept? I hardly believe that existing mobile hardware will be able to launch such complex GLSL programs, and even if they do, the performance will be unuseble.

What do you actually expect from RayTracing? Is it RayTracing or PathTracing (global illumination) first of all? Do you use it (or want to use) for real time graphics or for making nice looking screenshots in your application?

Vico Liang

2019-11-27 17:14

developer   ~0089226

>I hardly believe that existing mobile hardware will be able to launch such
>complex GLSL programs, and even if they do, the performance will be unuseble.
I don't have much experience whether it's a bottleneck of performance. I believe mobile hardware is becoming stronger.
The traditional raytracing is used for rendering nice pictures. And most of time this is the major usage of raytracing. I tried the raytracing of OCCT, even on desktop, it's not so smooth in real time. So actually, realtime raytracing is not so important from my point of view. I'd rather use raster render during design, and get a nice picture with raytracing.

kgv

2019-11-28 10:41

developer   ~0089231

Do you really need extended visualization quality or something like approxiamted PBR Metallic-Rougness reflection model 0030700 will be sufficient?

Vico Liang

2019-11-28 16:36

developer   ~0089249

>>Do you really need extended visualization quality
Yes, Our users request to render nice pictures.They want to show beautiful pictures to their customer. It's exciting when you receive a design with nice picture, isn't it.

>> something like approxiamted PBR Metallic-Rougness reflection model 0030700 will be sufficient?
Is this feature completed? is it possible to use it in mobile device? If so, i'd like to have a try. I'm excited to know this.

kgv

2019-11-30 20:33

developer   ~0089304

> Is this feature completed?
It is in progress, but should be already usable.

git

2021-02-20 15:53

administrator   ~0099001

Branch CR31196 has been created by kgv.

SHA-1: b58de3e233e7917ee002a71e211c7d5714be72c5


Detailed log of new commits:

Author: kgv
Date: Sat Feb 20 15:01:16 2021 +0300

    0031196: Visualization - enable Ray-Tracing using OpenGL ES 3.2
    
    OpenGl_Context now activates Ray-Tracing and arbTboRGB32 for GLES 3.2.
    Removed initialization of some uniforms from GLSL code.
    Fixed implicit casts within Ray-Tracing shaders.

kgv

2021-02-20 19:50

developer  

cadass_path_tracing_adreno650.jpg (80,326 bytes)

kgv

2021-02-20 19:50

developer  

cadass_path_tracing_malig52.jpg (794,707 bytes)

git

2021-02-20 19:54

administrator   ~0099004

Branch CR31196 has been updated forcibly by kgv.

SHA-1: 11aae2ebb9bc9d92baf02e0c1efbdbe878e92d83

kgv

2021-02-20 19:59

developer   ~0099005

Patch is ready for review
- OCCT: branch CR31196.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31196-master-KGV-DESK

osa

2021-02-24 10:01

developer   ~0099102

The patch was reviewed

bugmaster

2021-02-27 11:49

administrator   ~0099195

Combination -
OCCT branch : IR-2021-02-26
master SHA - bc0711a5c3c2c9a627834136e10b13a8564c5a00
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-02-26 SHA - 5c3782d3621ca4bd4a2339197c1c5cf352b51ac7
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17811.770000000153 / 17875.850000000235 [-0.36%]
Products
Total CPU difference: 11543.6500000001 / 11549.600000000113 [-0.05%]
Windows-64-VC14:
OCCT
Total CPU difference: 19344.3125 / 19351.640625 [-0.04%]
Products
Total CPU difference: 12900.578125 / 12845.234375 [+0.43%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-02-27 12:26

administrator   ~0099219

Branch CR31196 has been deleted by inv.

SHA-1: 11aae2ebb9bc9d92baf02e0c1efbdbe878e92d83

Related Changesets

occt: master 93cdaa76

2021-02-20 12:01:16

kgv


Committer: bugmaster Details Diff
0031196: Visualization, TKOpenGl - enable Ray-Tracing using OpenGL ES 3.2

OpenGl_Context now activates Ray-Tracing and arbTboRGB32 for GLES 3.2.
Removed initialization of some uniforms from GLSL code.
Fixed implicit casts within Ray-Tracing shaders.
Affected Issues
0031196
mod - dox/introduction/introduction.md Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_GlFunctions.cxx 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/Shaders/PathtraceBase.fs Diff File
mod - src/Shaders/RaytraceBase.fs Diff File
mod - src/Shaders/RaytraceRender.fs Diff File
mod - src/Shaders/RaytraceSmooth.fs Diff File
mod - src/Shaders/Shaders_Display_fs.pxx Diff File
mod - src/Shaders/Shaders_PathtraceBase_fs.pxx Diff File
mod - src/Shaders/Shaders_RaytraceBase_fs.pxx Diff File
mod - src/Shaders/Shaders_RaytraceRender_fs.pxx Diff File
mod - src/Shaders/Shaders_RaytraceSmooth_fs.pxx Diff File

Issue History

Date Modified Username Field Change
2019-11-25 19:05 Vico Liang New Issue
2019-11-25 19:05 Vico Liang Assigned To => kgv
2019-11-27 13:59 kgv Note Added: 0089217
2019-11-27 17:14 Vico Liang Note Added: 0089226
2019-11-28 10:40 kgv Relationship added related to 0030700
2019-11-28 10:41 kgv Note Added: 0089231
2019-11-28 16:36 Vico Liang Note Added: 0089249
2019-11-30 20:33 kgv Note Added: 0089304
2019-12-01 12:27 kgv Summary Impossible enable raytracing in mobile device => Visualization - Impossible enable raytracing in mobile device
2020-08-28 14:10 kgv Target Version 7.5.0 => 7.6.0
2021-02-20 15:53 git Note Added: 0099001
2021-02-20 15:58 kgv Relationship added related to 0032039
2021-02-20 15:58 kgv Severity minor => feature
2021-02-20 16:01 kgv Relationship added child of 0024130
2021-02-20 19:50 kgv File Added: cadass_path_tracing_adreno650.jpg
2021-02-20 19:50 kgv File Added: cadass_path_tracing_malig52.jpg
2021-02-20 19:51 kgv Summary Visualization - Impossible enable raytracing in mobile device => Visualization, TKOpenGl - enable Ray-Tracing using OpenGL ES 3.2
2021-02-20 19:54 git Note Added: 0099004
2021-02-20 19:59 kgv Note Added: 0099005
2021-02-20 19:59 kgv Assigned To kgv => osa
2021-02-20 19:59 kgv Status new => resolved
2021-02-20 20:15 kgv Relationship added related to 0028098
2021-02-24 10:01 osa Note Added: 0099102
2021-02-24 10:01 osa Assigned To osa => bugmaster
2021-02-24 10:01 osa Status resolved => reviewed
2021-02-27 11:49 bugmaster Note Added: 0099195
2021-02-27 11:49 bugmaster Status reviewed => tested
2021-02-27 11:52 bugmaster Test case number => Not required
2021-02-27 11:59 bugmaster Changeset attached => occt master 93cdaa76
2021-02-27 11:59 bugmaster Status tested => verified
2021-02-27 11:59 bugmaster Resolution open => fixed
2021-02-27 12:26 git Note Added: 0099219
2021-06-15 16:27 kgv Relationship added parent of 0032403