mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0025276: Visualization - Lighting is broken if some kinds of transformation applied to a shape
In order to solve the problem, triangle vertices order is inverted in mirrored mesh (triangulation). Mesh considered to be mirrored if its transformation matrix determinant is less than 0. To handle AIS object mirror transformations "Mirrored" flag stored in OpenGl_Structure. If this flag is enabled, glFrontFace (GL_CW) applied before the draw call. New DRAW commands for visualization level transformations added.
This commit is contained in:
@@ -1616,7 +1616,7 @@ void Graphic3d_Structure::SetTransform (const TColStd_Array2OfReal& theMat
|
||||
ReCompute();
|
||||
}
|
||||
|
||||
GraphicTransform (aNewTrsf);
|
||||
myCStructure->UpdateTransformation();
|
||||
myStructureManager->SetTransform (this, aNewTrsf);
|
||||
|
||||
Update();
|
||||
|
Reference in New Issue
Block a user