View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0024310 | Open CASCADE | OCCT:Visualization | public | 2013-11-02 16:38 | 2013-12-19 13:59 |
Reporter | kgv | Assigned To | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2008 | ||
Target Version | 6.7.0 | Fixed in Version | 6.7.0 | ||
Summary | 0024310: TKOpenGl - GLSL compatibility issues | ||||
Description | Some ancient OpenGL implementations are unable to draw Phong GLSL program. Particularly: - RadeOn 9600, GL version 2.1.8454, GLSL version 1.20. Result: linkage fails without description. - Mesa Windows GDI Driver, GL version 2.1 Mesa 7.8.2, GLSL version 1.20. Result: unhandled GL_INVALID_OPERATION and broken rendering. - GeForce 320, Mac OS X 10.6 / OS X 10.9. Result: white shape (but image drawn fine with Apple software renderer). | ||||
Tags | No tags attached. | ||||
Test case number | |||||
related to | 0024250 | closed | bugmaster | TKOpenGl - per-pixel lighting using GLSL program (Phong shading) |
related to | 0024322 | closed | bugmaster | TKOpenGl - light sources management inconsistency |
related to | 0024345 | closed | bugmaster | TKOpenGl - GLSL compatibility issues on NV40 (GeForce 6xxx/7xxx) |
related to | 0024363 | closed | kgv | Automated Tests - optimize testing environment for visualization tests |
|
Some GLSL implementation are unable to handle structure array uniforms in proper way. We might eliminate their usage to workaround such issues which will lead to syntax degradation. The proposed patch in CR24310 branch detects issue in old Mesa implementation to prevent broken rendering. Notice that other broken drivers might be broken in different way... But probably not much important nowadays. |
|
Since this issue happens more often, new patch has been implemented which eliminates problematic constructions. Shader program now works with old Mesa library (with some artifacts) and GeForce on Mac OS X. Ancient RadeOn 9600 seems to be unable to execute program due to hardware limits. In addition new Draw Harness command vlight has been introduced for light sources configuration. Please see branch CR24310_2. |
|
Dear kgv, The branch is completely reviewed. Please proceed with pending minor remark (if still any) and send to testing. |
|
Tested on Windows: the patch fixes the problem with shaders on GeForce 630M |
occt: master 12381341 2013-11-04 00:42:44
Committer: abv Details Diff |
0024310: TKOpenGl - GLSL compatibility issues Lights defintion clean up: - remove duplicated enumeration TLightType (equals to Visual3d_TypeOfLightSource) - remove unused fields from Graphic3d_CLight - OpenGl_Light, reuse Graphic3d_CLight definition Phong GLSL program: - move out cumulative ambient light intencity from limited list of lights - compatibility issues, replace array of structures (light sources, materials, clipping planes) with arrays of primitive types New Draw Harness command vlight to alter light sources definition. OpenGl_ShaderProgram::Initialize() - add missing Linker log |
Affected Issues 0024310 |
|
mod - src/Graphic3d/Graphic3d_CLight.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_CView.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_GraphicDriver.cdl | Diff File | ||
mod - src/Graphic3d/Graphic3d_GraphicDriver.cxx | Diff File | ||
mod - src/InterfaceGraphic/InterfaceGraphic_telem.hxx | Diff File | ||
mod - src/InterfaceGraphic/InterfaceGraphic_Visual3d.hxx | Diff File | ||
mod - src/NCollection/NCollection_Vec4.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_Light.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_ShaderManager.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_ShaderProgram.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_ShaderProgram.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_View.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_View_2.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_Workspace_Raytrace.cxx | Diff File | ||
mod - src/Shaders/Declarations.glsl | Diff File | ||
add - src/Shaders/DeclarationsImpl.glsl | Diff File | ||
mod - src/Shaders/PhongShading.fs | Diff File | ||
mod - src/Shaders/PhongShading.vs | Diff File | ||
mod - src/V3d/V3d_Light.cdl | Diff File | ||
mod - src/V3d/V3d_Light.cxx | Diff File | ||
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx | Diff File | ||
mod - src/Visual3d/Visual3d_Light.cdl | Diff File | ||
mod - src/Visual3d/Visual3d_Light.cxx | Diff File | ||
mod - src/Visual3d/Visual3d_View.cxx | Diff File | ||
mod - tests/v3d/glsl/phong_box | Diff File | ||
mod - tests/v3d/glsl/phong_couple | Diff File | ||
mod - tests/v3d/glsl/phong_fuse | Diff File | ||
add - tests/v3d/glsl/phong_fuse2 | Diff File | ||
mod - tests/v3d/glsl/phong_views | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-11-02 16:38 | kgv | New Issue | |
2013-11-02 16:38 | kgv | Assigned To | => kgv |
2013-11-02 16:38 | kgv | Relationship added | related to 0024250 |
2013-11-02 16:46 | kgv | Note Added: 0026431 | |
2013-11-02 16:46 | kgv | Assigned To | kgv => dbp |
2013-11-02 16:46 | kgv | Status | new => resolved |
2013-11-04 03:52 | kgv | Note Added: 0026436 | |
2013-11-04 03:52 | kgv | Description Updated | |
2013-11-05 11:16 |
|
Assigned To | dbp => kgv |
2013-11-05 11:16 |
|
Status | resolved => assigned |
2013-11-05 11:25 | kgv | Assigned To | kgv => apl |
2013-11-05 11:25 | kgv | Status | assigned => resolved |
2013-11-05 11:50 | kgv | Priority | low => normal |
2013-11-05 17:20 |
|
Note Added: 0026459 | |
2013-11-05 17:20 |
|
Assigned To | apl => kgv |
2013-11-05 17:20 |
|
Status | resolved => assigned |
2013-11-06 11:05 | kgv | Relationship added | related to 0024322 |
2013-11-06 11:06 |
|
Note Added: 0026465 | |
2013-11-06 11:07 |
|
Changeset attached | => occt master 12381341 |
2013-11-06 11:07 |
|
Assigned To | kgv => abv |
2013-11-06 11:07 |
|
Status | assigned => verified |
2013-11-06 11:07 |
|
Resolution | open => fixed |
2013-11-11 20:37 | kgv | Relationship added | related to 0024345 |
2013-11-15 11:29 | kgv | Relationship added | related to 0024363 |
2013-12-19 13:50 | bugmaster | Status | verified => closed |
2013-12-19 13:59 | bugmaster | Fixed in Version | => 6.7.0 |