View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030126 | Open CASCADE | OCCT:Visualization | public | 2018-09-11 14:12 | 2023-08-01 15:09 |
Reporter | kgv | Assigned To | |||
Priority | normal | Severity | feature | ||
Status | assigned | Resolution | open | ||
Target Version | Unscheduled | ||||
Summary | 0030126: Visualization, Graphic3d_ShaderManager - define standard Lighting & Clipping within custom GLSL programs as template functions | ||||
Description | Currently, defining a custom GLSL program requires redefining of all major blocks, including shading (lighting) and clipping. This limits flexibility of custom programs at application level, since when lighting is required, significant code blocks have to be copied, complicating GLSL source code and its maintenance (considering that application requires a minor customization of shader code). It is proposed redefining major portions of standard GLSL programs as reusable functions, which custom GLSL program can mark as blocks for template substitution at Shader Manager. This conception is already used within some custom Shader Managers within OCC Products - the approach can be adapted and improved for OpenGl_ShaderManager, and ideally custom Shader Managers can be further replaced by standard one. Another issue is optimization of custom GLSL programs depending on number of lights and clipping planes - currently, these optimizations (handful for low-end hardware) are applicable only to built-in GLSL programs, because custom GLSL has only one cached instance within current design. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
related to | 0032152 | closed | bugmaster | Visualization - move out GLSL program generator from OpenGl_ShaderManager to Graphic3d_ShaderManager |
related to | 0030700 | closed | apn | Visualization, TKOpenGl - support PBR Metallic-Roughness shading model |
child of | 0024192 | closed | Adding support for shaders to OCCT visualization toolkit | |
child of | 0025282 | closed | bugmaster | Visualization, OpenGl_PrimitiveArray - provide built-in GLSL programs as alternative to FFP |
child of | 0030631 | new | Visualization - Vulkan graphic driver prototype |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-09-11 14:12 | kgv | New Issue | |
2018-09-11 14:12 | kgv | Assigned To | => kgv |
2018-09-11 14:13 | kgv | Relationship added | child of 0024192 |
2018-09-11 14:14 | kgv | Description Updated | |
2018-09-11 14:15 | kgv | Relationship added | child of 0025282 |
2019-04-17 14:11 | kgv | Relationship added | child of 0030631 |
2019-05-07 14:27 | kgv | Relationship added | related to 0030700 |
2019-09-04 15:43 |
|
Target Version | 7.4.0 => 7.5.0 |
2020-09-21 17:46 | kgv | Target Version | 7.5.0 => 7.6.0 |
2021-03-02 16:02 | kgv | Relationship added | related to 0032152 |
2021-03-02 16:02 | kgv | Summary | Visualization, OpenGl_ShaderManager - define standard Lighting & Clipping within custom GLSL programs as template functions => Visualization, Graphic3d_ShaderManager - define standard Lighting & Clipping within custom GLSL programs as template functions |
2021-09-09 22:26 | kgv | Target Version | 7.6.0 => 7.7.0 |
2022-08-01 15:08 | kgv | Assigned To | kgv => ngavrilo |
2022-08-01 15:08 | kgv | Status | new => assigned |
2022-08-17 11:55 | kgv | Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:09 | dpasukhi | Target Version | 7.8.0 => Unscheduled |