From: mnv Date: Fri, 31 Aug 2018 12:14:49 +0000 (+0300) Subject: 0030102: Visualization, TKOpenGl - Graphic3d_TOSM_FACET shading is incorrect in some... X-Git-Tag: OCCT_VC2017_73~13 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=1ad3bc4c00f8960745ddf39a55d1e55e55cb05a2;p=occt-copy.git 0030102: Visualization, TKOpenGl - Graphic3d_TOSM_FACET shading is incorrect in some casesn gl_FrontFacing is now considered within Normal computation. --- diff --git a/src/OpenGl/OpenGl_ShaderManager.cxx b/src/OpenGl/OpenGl_ShaderManager.cxx index bdde9fb6d0..71f6bda586 100644 --- a/src/OpenGl/OpenGl_ShaderManager.cxx +++ b/src/OpenGl/OpenGl_ShaderManager.cxx @@ -2192,6 +2192,7 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramPhong (Handle(OpenGl_Sha + aSrcFragExtraMain + (isFlatNormal ? EOL" Normal = normalize (cross (dFdx (Position.xyz / Position.w), dFdy (Position.xyz / Position.w)));" + EOL" if (!gl_FrontFacing) { Normal = -Normal; }" : "") + EOL" occSetFragColor (getColor());" + aSrcFragWriteOit diff --git a/tests/bugs/vis/bug30102 b/tests/bugs/vis/bug30102 new file mode 100644 index 0000000000..3028be9dee --- /dev/null +++ b/tests/bugs/vis/bug30102 @@ -0,0 +1,13 @@ +puts "=============" +puts "0030102: Visualization, TKOpenGl - Graphic3d_TOSM_FACET shading is incorrect in some casesn" +puts "=============" + +pload MODELING VISUALIZATION +vclear +vinit View1 +vaxo +vdrawparray b triangles v 0 55 0 v 0 75 0 v 20 55 0 v 0 55 0 v 0 75 0 v 0 55 20 v 0 55 0 v 0 55 20 v 20 55 0 v 0 75 0 v 0 55 20 v 20 55 0 +vrotate 0.3 0.0 0.0 +vfit + +vdump ${imagedir}/${casename}.png