0028400: Visualization, Graphic3d_MaterialAspect - remove undocumented and unsupporte...
authorkgv <kgv@opencascade.com>
Fri, 27 Jan 2017 15:16:50 +0000 (18:16 +0300)
committerapn <apn@opencascade.com>
Thu, 2 Feb 2017 13:18:56 +0000 (16:18 +0300)
src/Graphic3d/Graphic3d_MaterialAspect.cxx
src/Graphic3d/Graphic3d_MaterialAspect.hxx
src/OpenGl/FILES
src/OpenGl/OpenGl_Context.cxx
src/OpenGl/OpenGl_Context.hxx
src/OpenGl/OpenGl_NamedStatus.hxx [deleted file]
src/OpenGl/OpenGl_View_Redraw.cxx
src/OpenGl/OpenGl_Workspace.cxx
src/OpenGl/OpenGl_Workspace.hxx

index 1771846..bff137b 100644 (file)
@@ -30,7 +30,6 @@ namespace
     Standard_ShortReal       TransparencyCoef;
     Standard_ShortReal       RefractionIndex;
     Standard_ShortReal       Shininess;
-    Standard_ShortReal       EnvReflexion;
     Graphic3d_TypeOfMaterial MaterialType;
     Graphic3d_NameOfMaterial MaterialName;
     Standard_Boolean         ReflActivity[Graphic3d_TypeOfReflection_NB];
@@ -81,7 +80,6 @@ RawMaterial::RawMaterial (Graphic3d_NameOfMaterial theName, const char* theStrin
   TransparencyCoef(0.0f),
   RefractionIndex (1.0f),
   Shininess       (0.039f),
-  EnvReflexion    (0.0f),
   MaterialType    (Graphic3d_MATERIAL_ASPECT),
   MaterialName    (theName)
 {
@@ -516,7 +514,6 @@ void Graphic3d_MaterialAspect::init (const Graphic3d_NameOfMaterial theName)
   myTransparencyCoef = aMat.TransparencyCoef;
   myRefractionIndex  = aMat.RefractionIndex;
   myShininess        = aMat.Shininess;
-  myEnvReflexion     = aMat.EnvReflexion;
   myMaterialType     = aMat.MaterialType;
   myMaterialName     = theName;
   myRequestedMaterialName = theName;
index 0c43a58..0e93472 100644 (file)
@@ -208,10 +208,6 @@ public:
   //! Set material type.
   Standard_EXPORT void SetMaterialType (const Graphic3d_TypeOfMaterial theType);
 
-  Standard_ShortReal EnvReflexion() const { return myEnvReflexion; }
-
-  void SetEnvReflexion (const Standard_ShortReal theValue) { myEnvReflexion = theValue; }
-
   //! Returns TRUE if this material differs from specified one.
   Standard_Boolean IsDifferent (const Graphic3d_MaterialAspect& theOther) const { return !IsEqual (theOther); }
 
@@ -229,7 +225,6 @@ public:
         && myRefractionIndex  == theOther.myRefractionIndex
         && myBSDF             == theOther.myBSDF
         && myShininess        == theOther.myShininess
-        && myEnvReflexion     == theOther.myEnvReflexion
         && myColors[Graphic3d_TOR_AMBIENT]    == theOther.myColors[Graphic3d_TOR_AMBIENT]
         && myColors[Graphic3d_TOR_DIFFUSE]    == theOther.myColors[Graphic3d_TOR_DIFFUSE]
         && myColors[Graphic3d_TOR_SPECULAR]   == theOther.myColors[Graphic3d_TOR_SPECULAR]
@@ -266,7 +261,6 @@ private:
   Standard_ShortReal       myTransparencyCoef;
   Standard_ShortReal       myRefractionIndex;
   Standard_ShortReal       myShininess;
-  Standard_ShortReal       myEnvReflexion;
 
   Graphic3d_TypeOfMaterial myMaterialType;
   Graphic3d_NameOfMaterial myMaterialName;
index b9dbf9e..7c3eab0 100755 (executable)
@@ -40,7 +40,6 @@ OpenGl_Material.hxx
 OpenGl_MaterialState.hxx
 OpenGl_Matrix.hxx
 OpenGl_MatrixState.hxx
-OpenGl_NamedStatus.hxx
 OpenGl_TextParam.hxx
 OpenGl_LineAttributes.hxx
 OpenGl_LineAttributes.cxx
index 723174d..3ca3907 100644 (file)
@@ -2848,8 +2848,7 @@ Handle(OpenGl_FrameBuffer) OpenGl_Context::SetDefaultFrameBuffer (const Handle(O
 // =======================================================================
 void OpenGl_Context::SetShadingMaterial (const OpenGl_AspectFace* theAspect,
                                          const Handle(Graphic3d_PresentationAttributes)& theHighlight,
-                                         const Standard_Boolean theUseDepthWrite,
-                                         Standard_Integer& theRenderingPassFlags)
+                                         const Standard_Boolean theUseDepthWrite)
 {
   const Handle(Graphic3d_AspectFillArea3d)& anAspect = (!theHighlight.IsNull() && !theHighlight->BasicFillAreaAspect().IsNull())
                                                       ?  theHighlight->BasicFillAreaAspect()
@@ -2887,21 +2886,7 @@ void OpenGl_Context::SetShadingMaterial (const OpenGl_AspectFace* theAspect,
     aTranspFront = theHighlight->Transparency();
     aTranspBack  = theHighlight->Transparency();
   }
-  if ((theRenderingPassFlags & OPENGL_NS_2NDPASSDO) != 0)
   {
-    // second pass
-    myMatFront.Diffuse.a() = aMatFrontSrc.EnvReflexion();
-    myMatBack .Diffuse.a() = aMatBackSrc .EnvReflexion();
-  }
-  else
-  {
-    if (aMatFrontSrc.EnvReflexion() != 0.0f
-     || aMatBackSrc .EnvReflexion() != 0.0f)
-    {
-      // if the material reflects the environment scene, the second pass is needed
-      theRenderingPassFlags |= OPENGL_NS_2NDPASSNEED;
-    }
-
     GLboolean aDepthMask = GL_TRUE;
     if (aTranspFront != 0.0f
      || aTranspBack  != 0.0f)
index e5bddc0..8b37dd2 100644 (file)
@@ -628,8 +628,7 @@ public: //! @name methods to alter or retrieve current state
   //! Setup current shading material.
   Standard_EXPORT void SetShadingMaterial (const OpenGl_AspectFace* theAspect,
                                            const Handle(Graphic3d_PresentationAttributes)& theHighlight,
-                                           const Standard_Boolean theUseDepthWrite,
-                                           Standard_Integer& theRenderingPassFlags);
+                                           const Standard_Boolean theUseDepthWrite);
 
   //! Setup current color.
   Standard_EXPORT void SetColor4fv (const OpenGl_Vec4& theColor);
diff --git a/src/OpenGl/OpenGl_NamedStatus.hxx b/src/OpenGl/OpenGl_NamedStatus.hxx
deleted file mode 100644 (file)
index ae1b1da..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Created on: 2011-09-20
-// Created by: Sergey ZERCHANINOV
-// Copyright (c) 2011-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _OpenGl_NamedStatus_Header
-#define _OpenGl_NamedStatus_Header
-
-// Dynamic fields
-#define OPENGL_NS_2NDPASSNEED  (1<<6)
-#define OPENGL_NS_2NDPASSDO    (1<<7)
-
-#endif //_OpenGl_NamedStatus_Header
index 7835b4f..92cb21d 100644 (file)
@@ -938,54 +938,9 @@ void OpenGl_View::renderScene (Graphic3d_Camera::Projection theProjection,
     aContext->ShaderManager()->UpdateClippingState();
   }
 
-  // Clear status bitfields
-  myWorkspace->NamedStatus &= ~(OPENGL_NS_2NDPASSNEED | OPENGL_NS_2NDPASSDO);
-
-  // First pass
   renderStructs (theProjection, theReadDrawFbo, theToDrawImmediate);
   myWorkspace->DisableTexture();
 
-  // Second pass
-  if (myWorkspace->NamedStatus & OPENGL_NS_2NDPASSNEED)
-  {
-    myWorkspace->NamedStatus |= OPENGL_NS_2NDPASSDO;
-
-    // Remember OpenGl properties
-    GLint aSaveBlendDst = GL_ONE_MINUS_SRC_ALPHA, aSaveBlendSrc = GL_SRC_ALPHA;
-    GLint aSaveZbuffFunc;
-    GLboolean aSaveZbuffWrite;
-    glGetBooleanv (GL_DEPTH_WRITEMASK, &aSaveZbuffWrite);
-    glGetIntegerv (GL_DEPTH_FUNC, &aSaveZbuffFunc);
-  #if !defined(GL_ES_VERSION_2_0)
-    glGetIntegerv (GL_BLEND_DST, &aSaveBlendDst);
-    glGetIntegerv (GL_BLEND_SRC, &aSaveBlendSrc);
-  #endif
-    GLboolean wasZbuffEnabled = glIsEnabled (GL_DEPTH_TEST);
-    GLboolean wasBlendEnabled = glIsEnabled (GL_BLEND);
-
-    // Change the properties for second rendering pass
-    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-    glEnable (GL_BLEND);
-
-    glDepthFunc (GL_EQUAL);
-    glDepthMask (GL_FALSE);
-    glEnable (GL_DEPTH_TEST);
-
-    // Render the view
-    renderStructs (theProjection, theReadDrawFbo, theToDrawImmediate);
-    myWorkspace->DisableTexture();
-
-    // Restore properties back
-    glBlendFunc (aSaveBlendSrc, aSaveBlendDst);
-    if (!wasBlendEnabled)
-      glDisable (GL_BLEND);
-
-    glDepthFunc (aSaveZbuffFunc);
-    glDepthMask (aSaveZbuffWrite);
-    if (!wasZbuffEnabled)
-      glDisable (GL_DEPTH_FUNC);
-  }
-
   // Apply restored view matrix.
   aContext->ApplyWorldViewMatrix();
 
index 2094fe1..0017e1d 100644 (file)
@@ -130,8 +130,7 @@ void OpenGl_Material::Init (const Graphic3d_MaterialAspect& theMat,
 // purpose  :
 // =======================================================================
 OpenGl_Workspace::OpenGl_Workspace (OpenGl_View* theView, const Handle(OpenGl_Window)& theWindow)
-: NamedStatus (0),
-  myView (theView),
+: myView (theView),
   myWindow (theWindow),
   myGlContext (!theWindow.IsNull() ? theWindow->GetGlContext() : NULL),
   myUseZBuffer    (Standard_True),
@@ -211,7 +210,6 @@ void OpenGl_Workspace::ResetAppliedAspect()
 {
   myGlContext->BindDefaultVao();
 
-  NamedStatus           = 0;
   myHighlightStyle.Nullify();
   myToAllowFaceCulling  = false;
   myAspectLineSet       = &myDefaultAspectLine;
@@ -635,8 +633,7 @@ const OpenGl_AspectFace* OpenGl_Workspace::ApplyAspectFace()
     }
     if (toSuppressBackFaces)
     {
-      if (!(NamedStatus & OPENGL_NS_2NDPASSDO)
-       && (float )myAspectFaceSet->Aspect()->FrontMaterial().Transparency() != 0.0f)
+      if ((float )myAspectFaceSet->Aspect()->FrontMaterial().Transparency() != 0.0f)
       {
         // disable culling in case of translucent shading aspect
         toSuppressBackFaces = false;
@@ -715,7 +712,7 @@ const OpenGl_AspectFace* OpenGl_Workspace::ApplyAspectFace()
   }
   else
   {
-    myGlContext->SetShadingMaterial (myAspectFaceSet, myHighlightStyle, myUseDepthWrite, NamedStatus);
+    myGlContext->SetShadingMaterial (myAspectFaceSet, myHighlightStyle, myUseDepthWrite);
   }
 
   if (myAspectFaceSet->Aspect()->ToMapTexture())
index 0723828..10cb687 100644 (file)
@@ -23,7 +23,6 @@
 #include <OpenGl_FrameBuffer.hxx>
 #include <OpenGl_Material.hxx>
 #include <OpenGl_Matrix.hxx>
-#include <OpenGl_NamedStatus.hxx>
 #include <OpenGl_RenderFilter.hxx>
 #include <OpenGl_ShaderObject.hxx>
 #include <OpenGl_ShaderProgram.hxx>
@@ -125,8 +124,6 @@ public:
   //! @return true if clipping algorithm enabled
   Standard_EXPORT Standard_Boolean IsCullingEnabled() const;
 
-  Standard_Integer NamedStatus;
-
   //// RELATED TO STATUS ////
 
   //! Return true if active group might activate face culling (e.g. primitives are closed).