MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0032188Open CASCADE[OCCT] OCCT:Visualizationpublic2021-03-01 23:152021-04-03 12:52
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.6.0*Fixed in Version 
Summary0032188: Visualization, Graphic3d_Aspects - define backface culling using Graphic3d_TypeOfBackfacingModel
DescriptionCurrently Graphic3d_Aspects::ToSuppressBackFaces() is defined as a Boolean value.
The meaning of this Boolean flag is confusing:
- FALSE means dualsided shading;
- TRUE means automatic backface culling enabled for Solids and disabled for Shells based on Graphic3d_Group::IsClosed() flag.

In some cases it is desired enabling backface culling regardless of closed flag.

It is proposed replacing a Boolean flag with Graphic3d_TypeOfBackfacingModel enumeration value stored as Graphic3d_Aspects::FaceCulling() property.
Steps To Reproducev3d/glsl/pbr_spheres - assigning visualization material to XCAF document no more automatically disables backface culling for Solids.
de_mesh/gltf_read - doubleSided=FALSE is now repsected on displaying glTF files (most noticeable on de_mesh/gltf_read/cubeemb).
v3d/viewcube/style - transparent AIS_ViewCube.
TagsNo tags attached.
Test case numberNot required
Attached Files

- Relationships
related to 0026028closedbugmaster Option for drawing MeshVS_Mesh as closed object 
related to 0029517closedbugmaster Visualization - introduce AlphaMode property defining alpha value handling options 
child of 0024521closedbugmaster Visualization - automatic back face culling is not turned on for Solids packed into compound 

-  Notes
(0099258)
git (administrator)
2021-03-01 23:25

Branch CR32188 has been created by kgv.

SHA-1: 6a7d80bf387b8fcab942da5a5c9868055000ffe1


Detailed log of new commits:

Author: kgv
Date: Mon Mar 1 23:25:21 2021 +0300

    0032188: Visualization, Graphic3d_Aspects - define backface culling using Graphic3d_TypeOfBackfacingModel
    
    Graphic3d_Aspects::ToSuppressBackFaces() bool flag has been replaced by
    Graphic3d_Aspects::FaceCulling() property defined by Graphic3d_TypeOfBackfacingModel enumeration.
    
    Graphic3d_TypeOfBackfacingModel_Auto corresponds to old ToSuppressBackFaces()==TRUE;
    Graphic3d_TypeOfBackfacingModel_DoubleSided corresponds to old ToSuppressBackFaces()==FALSE;
    Graphic3d_TypeOfBackfacingModel_BackCulled allows enabling back face culling regardless of Graphic3d_Group::IsClosed() flag.
    
    XCAFDoc_VisMaterial::IsDoubleSided() bool flag has been replaced by
    XCAFDoc_VisMaterial::FaceCulling() property defined by Graphic3d_TypeOfBackfacingModel enumeration.
    
    glTF reader now maps "doubleSided" material flag into
    Graphic3d_TypeOfBackfacingModel_BackCulled (forced back face culling) and
    Graphic3d_TypeOfBackfacingModel_Auto (e.g. practically doubleSided as there is no closed/open info in glTF).
    
    glTF writer by default writes materials as "doubleSided" save the Graphic3d_TypeOfBackfacingModel_BackCulled property set
    (in future, extra logic might written for automatically defining singleSided materials for Solid B-Rep objects).
(0099262)
git (administrator)
2021-03-02 08:07

Branch CR32188 has been updated forcibly by kgv.

SHA-1: b28743a3724583ab15777df2f64d4293fd36ac8f
(0099263)
git (administrator)
2021-03-02 08:12

Branch CR32188 has been updated forcibly by kgv.

SHA-1: f9ead70128ddc3938b126bbbbae00c1d1817a4a1
(0099264)
git (administrator)
2021-03-02 08:20

Branch CR32188 has been updated forcibly by kgv.

SHA-1: 18cc173d561db6f32418a1dee63097e2898aa456
(0099265)
git (administrator)
2021-03-02 08:23

Branch CR32188 has been updated forcibly by kgv.

SHA-1: 0f4d51505d265285eac07fe2a5cce7b282ae03f7
(0099266)
git (administrator)
2021-03-02 08:38

Branch CR32188 has been updated forcibly by kgv.

SHA-1: 3b7b2825308277ede030e9a18f3f5a5720a69646
(0099267)
git (administrator)
2021-03-02 10:16

Branch CR32188 has been updated forcibly by kgv.

SHA-1: 779315cd2362ee035425b2e121e9b50a98e0848a
(0099274)
git (administrator)
2021-03-02 11:12

Branch CR32188 has been updated forcibly by kgv.

SHA-1: 38c3a24ac74ca7b2817f84c3761fa4c5a40c4e4b
(0099276)
kgv (developer)
2021-03-02 12:03

Patch is ready for review
- OCCT: branch CR32188;
- OCC Products: branch CR32188.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32188-master-KGV/ [^]
(0099309)
osa (developer)
2021-03-02 17:29

The patch was reviewed
(0099470)
bugmaster (administrator)
2021-03-06 12:15

Combination -
OCCT branch : IR-2021-03-05
master SHA - 58210e5983a7986bc4cd1bec9c0b5cb29828fda4
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-03-05 SHA - b3d022cfefe721ee2ad6db68ca360345d656610b
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: 17744.80000000016 / 17811.87000000015 [-0.38%]
Products
Total CPU difference: 11539.9800000001 / 11543.6500000001 [-0.03%]
Windows-64-VC14:
OCCT
Total CPU difference: 19321.640625 / 19344.390625 [-0.12%]
Products
Total CPU difference: 12868.796875 / 12900.578125 [-0.25%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0099496)
git (administrator)
2021-03-06 13:25

Branch CR32188 has been deleted by inv.

SHA-1: 38c3a24ac74ca7b2817f84c3761fa4c5a40c4e4b

- Related Changesets
occt: master 7fd4958d
Timestamp: 2021-03-01 20:25:21
Author: kgv
Committer: bugmaster
Details ] Diff ]
0032188: Visualization, Graphic3d_Aspects - define backface culling using Graphic3d_TypeOfBackfacingModel

Graphic3d_Aspects::ToSuppressBackFaces() bool flag has been replaced by
Graphic3d_Aspects::FaceCulling() property defined by Graphic3d_TypeOfBackfacingModel enumeration.

Graphic3d_TypeOfBackfacingModel_Auto corresponds to old ToSuppressBackFaces()==TRUE;
Graphic3d_TypeOfBackfacingModel_DoubleSided corresponds to old ToSuppressBackFaces()==FALSE;
Graphic3d_TypeOfBackfacingModel_BackCulled allows enabling back face culling regardless of Graphic3d_Group::IsClosed() flag.

XCAFDoc_VisMaterial::IsDoubleSided() bool flag has been replaced by
XCAFDoc_VisMaterial::FaceCulling() property defined by Graphic3d_TypeOfBackfacingModel enumeration.

glTF reader now maps "doubleSided" material flag into
Graphic3d_TypeOfBackfacingModel_BackCulled (forced back face culling) and
Graphic3d_TypeOfBackfacingModel_Auto (e.g. practically doubleSided as there is no closed/open info in glTF).

glTF writer by default writes materials as "doubleSided" save the Graphic3d_TypeOfBackfacingModel_BackCulled property set
(in future, extra logic might written for automatically defining singleSided materials for Solid B-Rep objects).

Removed obsolete unused types V3d_TypeOfPickCamera, V3d_TypeOfPickLight, V3d_TypeOfRepresentation, and V3d_Coordinate.
Deprecated types V3d_TypeOfBackfacingModel, V3d_TypeOfLight, and V3d_TypeOfShadingModel.
mod - src/AIS/AIS_ViewCube.cxx Diff ] File ]
mod - src/BinMXCAFDoc/BinMXCAFDoc_VisMaterialDriver.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_Aspects.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_Aspects.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_ClipPlane.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_CView.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_CView.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_TypeOfBackfacingModel.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.cxx Diff ] File ]
mod - src/RWGltf/RWGltf_GltfJsonParser.cxx Diff ] File ]
mod - src/RWGltf/RWGltf_GltfMaterialMap.cxx Diff ] File ]
mod - src/V3d/FILES Diff ] File ]
rm - src/V3d/V3d_Coordinate.hxx Diff ] File ]
mod - src/V3d/V3d_PositionLight.hxx Diff ] File ]
mod - src/V3d/V3d_TypeOfBackfacingModel.hxx Diff ] File ]
mod - src/V3d/V3d_TypeOfLight.hxx Diff ] File ]
rm - src/V3d/V3d_TypeOfPickCamera.hxx Diff ] File ]
rm - src/V3d/V3d_TypeOfPickLight.hxx Diff ] File ]
rm - src/V3d/V3d_TypeOfRepresentation.hxx Diff ] File ]
mod - src/V3d/V3d_TypeOfShadingModel.hxx Diff ] File ]
mod - src/V3d/V3d_View.cxx Diff ] File ]
mod - src/V3d/V3d_View.hxx Diff ] File ]
mod - src/XCAFDoc/XCAFDoc_VisMaterial.cxx Diff ] File ]
mod - src/XCAFDoc/XCAFDoc_VisMaterial.hxx Diff ] File ]
mod - src/XDEDRAW/XDEDRAW_Colors.cxx Diff ] File ]
mod - src/XmlMXCAFDoc/XmlMXCAFDoc_VisMaterialDriver.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2021-03-01 23:15 kgv New Issue
2021-03-01 23:15 kgv Assigned To => kgv
2021-03-01 23:25 git Note Added: 0099258
2021-03-01 23:31 kgv Relationship added related to 0026028
2021-03-01 23:31 kgv Relationship added related to 0029517
2021-03-01 23:32 kgv Relationship added child of 0024521
2021-03-02 07:54 kgv Note Added: 0099261
2021-03-02 07:54 kgv Assigned To kgv => osa
2021-03-02 07:54 kgv Status new => resolved
2021-03-02 08:07 git Note Added: 0099262
2021-03-02 08:12 git Note Added: 0099263
2021-03-02 08:20 git Note Added: 0099264
2021-03-02 08:23 git Note Added: 0099265
2021-03-02 08:38 git Note Added: 0099266
2021-03-02 09:54 kgv Steps to Reproduce Updated View Revisions
2021-03-02 10:16 git Note Added: 0099267
2021-03-02 11:12 git Note Added: 0099274
2021-03-02 12:03 kgv Note Deleted: 0099261
2021-03-02 12:03 kgv Note Added: 0099276
2021-03-02 17:29 osa Note Added: 0099309
2021-03-02 17:29 osa Assigned To osa => bugmaster
2021-03-02 17:29 osa Status resolved => reviewed
2021-03-06 12:15 bugmaster Note Added: 0099470
2021-03-06 12:15 bugmaster Status reviewed => tested
2021-03-06 12:20 bugmaster Test case number => Not required
2021-03-06 12:34 bugmaster Changeset attached => occt master 7fd4958d
2021-03-06 12:34 bugmaster Status tested => verified
2021-03-06 12:34 bugmaster Resolution open => fixed
2021-03-06 13:25 git Note Added: 0099496


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker