mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-22 04:37:23 +08:00
0027735: Visualization, OpenGl_ShaderManager - fix clipping state management
OpenGl_CappingAlgo::RenderCapping() now updates clipping state in Shader Manager. OpenGl_View::render() clipping state setup has been moved to OpenGl_View::renderScene(). OpenGl_ShaderManager now converts position to homogeneous coordinates within clipping code GLSL. This fixes capping plane rendering with clipping planes applied. Fixed possible Clipping planes misconfiguration when FFP is used; error-prone OpenGl_Clipping::AddWorldLazy() method has been dropped.
This commit is contained in:
@@ -182,7 +182,7 @@ void main()
|
||||
int aClipSpace = occClipPlaneSpaces[anIndex];
|
||||
if (aClipSpace == OccEquationCoords_World)
|
||||
{
|
||||
if (dot (aClipEquation.xyz, PositionWorld.xyz) + aClipEquation.w < 0.0)
|
||||
if (dot (aClipEquation.xyz, PositionWorld.xyz / PositionWorld.w) + aClipEquation.w < 0.0)
|
||||
{
|
||||
discard;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user