Salome HOME
bos #23995 updating to latest version of patch: paraview.0008-ParaView_coincident_ren...
authorNabil Ghodbane <nabil.ghodbane@cea.fr>
Wed, 5 May 2021 16:24:00 +0000 (18:24 +0200)
committerNabil Ghodbane <nabil.ghodbane@cea.fr>
Wed, 5 May 2021 16:24:00 +0000 (18:24 +0200)
products/patches/paraview.0008-ParaView_coincident_rendering.patch

index a1e25e7fc8666fee05f0324921a83dff7c4931d8..2c38df69e1bc4fcfe3c15ddee2e9ee65c070985c 100644 (file)
@@ -1,6 +1,6 @@
-diff -Naur ParaView-5.9.0_SRC_orig/Remoting/Views/Resources/utilities_remotingviews.xml ParaView-5.9.0_SRC_modif/Remoting/Views/Resources/utilities_remotingviews.xml
---- ParaView-5.9.0_SRC_orig/Remoting/Views/Resources/utilities_remotingviews.xml
-+++ ParaView-5.9.0_SRC_modif/Remoting/Views/Resources/utilities_remotingviews.xml
+diff -Naur ParaView-5.8.0_SRC_orig/Remoting/Views/Resources/utilities_remotingviews.xml ParaView-5.8.0_SRC_modif/Remoting/Views/Resources/utilities_remotingviews.xml
+--- ParaView-5.8.0_SRC_orig/Remoting/Views/Resources/utilities_remotingviews.xml       2020-03-23 13:30:04.000000000 +0300
++++ ParaView-5.8.0_SRC_modif/Remoting/Views/Resources/utilities_remotingviews.xml      2020-04-27 19:07:56.559333300 +0300
 @@ -31,7 +31,7 @@
        <DoubleVectorProperty name="PolygonOffsetParameters"
          command="SetPolygonOffsetParameters"
@@ -28,10 +28,10 @@ diff -Naur ParaView-5.9.0_SRC_orig/Remoting/Views/Resources/utilities_remotingvi
          panel_visibility="advanced">
          <DoubleRangeDomain name="range" />
          <Documentation>
-diff -Naur ParaView-5.9.0_SRC_orig/VTK/Rendering/Core/vtkMapper.cxx ParaView-5.9.0_SRC_modif/VTK/Rendering/Core/vtkMapper.cxx
---- ParaView-5.9.0_SRC_orig/VTK/Rendering/Core/vtkMapper.cxx
-+++ ParaView-5.9.0_SRC_modif/VTK/Rendering/Core/vtkMapper.cxx
-@@ -36,11 +36,11 @@
+diff -Naur ParaView-5.8.0_SRC_orig/VTK/Rendering/Core/vtkMapper.cxx ParaView-5.8.0_SRC_modif/VTK/Rendering/Core/vtkMapper.cxx
+--- ParaView-5.8.0_SRC_orig/VTK/Rendering/Core/vtkMapper.cxx   2020-03-23 13:31:28.000000000 +0300
++++ ParaView-5.8.0_SRC_modif/VTK/Rendering/Core/vtkMapper.cxx  2020-04-27 18:07:54.639203400 +0300
+@@ -35,11 +35,11 @@
  static double vtkMapperGlobalResolveCoincidentTopologyZShift = 0.01;
  static int vtkMapperGlobalResolveCoincidentTopologyPolygonOffsetFaces = 1;
  
@@ -46,34 +46,32 @@ diff -Naur ParaView-5.9.0_SRC_orig/VTK/Rendering/Core/vtkMapper.cxx ParaView-5.9
 +static double vtkMapperGlobalResolveCoincidentTopologyLineOffsetUnits = 1.0;
 +static double vtkMapperGlobalResolveCoincidentTopologyPointOffsetUnits = 0.0;
  
- vtkCxxSetObjectMacro(vtkMapper, Selection, vtkSelection);
+ // Construct with initial range (0,1).
+ vtkMapper::vtkMapper()
+diff -Naur ParaView-5.8.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx ParaView-5.8.0_SRC_modif/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx
+--- ParaView-5.8.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx  2020-03-23 13:31:28.000000000 +0300
++++ ParaView-5.8.0_SRC_modif/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx 2020-04-27 18:12:49.486483700 +0300
+@@ -1963,7 +1963,6 @@
+   float factor = 0.0;
+   float offset = 0.0;
+   this->GetCoincidentParameters(ren, actor, factor, offset);
+-  vtkOpenGLCamera* cam = (vtkOpenGLCamera*)(ren->GetActiveCamera());
  
-diff -Naur ParaView-5.9.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx ParaView-5.9.0_SRC_modif/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx
---- ParaView-5.9.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx
-+++ ParaView-5.9.0_SRC_modif/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx
-@@ -2430,42 +2430,26 @@
+   // if we need an offset handle it here
+   // The value of .000016 is suitable for depth buffers
+@@ -1974,23 +1973,26 @@
    {
      std::string FSSource = shaders[vtkShader::Fragment]->GetSource();
  
--    if (ren->GetActiveCamera()->GetParallelProjection())
--    {
--      vtkShaderProgram::Substitute(FSSource, "//VTK::Coincident::Dec", "uniform float cCValue;");
--      if (this->DrawingTubesOrSpheres(*this->LastBoundBO, actor))
--      {
--        vtkShaderProgram::Substitute(
--          FSSource, "//VTK::Depth::Impl", "gl_FragDepth = gl_FragDepth + cCValue;\n");
--      }
--      else
--      {
--        vtkShaderProgram::Substitute(
--          FSSource, "//VTK::Depth::Impl", "gl_FragDepth = gl_FragCoord.z + cCValue;\n");
--      }
+-    if (cam->GetParallelProjection())
 +    if (factor != 0.0)
-+    {
+     {
+-      vtkShaderProgram::Substitute(FSSource, "//VTK::Coincident::Dec", "uniform float cCValue;");
 +      vtkShaderProgram::Substitute(FSSource, "//VTK::Coincident::Dec", 
 +        "uniform float cfactor;\n"
 +        "uniform float coffset;");
-+       vtkShaderProgram::Substitute(
+       vtkShaderProgram::Substitute(
+-        FSSource, "//VTK::Depth::Impl", "gl_FragDepth = gl_FragCoord.z + cCValue;\n");
 +        FSSource, 
 +        "//VTK::UniformFlow::Impl",
 +        "float cscale = length(vec2(dFdx(gl_FragCoord.z),dFdy(gl_FragCoord.z)));\n"
@@ -84,39 +82,27 @@ diff -Naur ParaView-5.9.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper
      }
      else
      {
--      vtkShaderProgram::Substitute(FSSource, "//VTK::Coincident::Dec",
+       vtkShaderProgram::Substitute(FSSource, "//VTK::Coincident::Dec",
 -        "uniform float cCValue;\n"
 -        "uniform float cSValue;\n"
 -        "uniform float cDValue;");
--      if (this->DrawingTubesOrSpheres(*this->LastBoundBO, actor))
--      {
--        vtkShaderProgram::Substitute(FSSource, "//VTK::Depth::Impl",
--          "float Zdc = gl_FragDepth*2.0 - 1.0;\n"
--          "  float Z2 = -1.0*cDValue/(Zdc + cCValue) + cSValue;\n"
--          "  float Zdc2 = -1.0*cCValue - cDValue/Z2;\n"
--          "  gl_FragDepth = Zdc2*0.5 + 0.5;\n");
--      }
--      else
--      {
--        vtkShaderProgram::Substitute(FSSource, "//VTK::Depth::Impl",
--          "float Zdc = gl_FragCoord.z*2.0 - 1.0;\n"
--          "  float Z2 = -1.0*cDValue/(Zdc + cCValue) + cSValue;\n"
--          "  float Zdc2 = -1.0*cCValue - cDValue/Z2;\n"
--          "  gl_FragDepth = Zdc2*0.5 + 0.5;\n");
--      }
-+       vtkShaderProgram::Substitute(FSSource, "//VTK::Coincident::Dec",
+-      vtkShaderProgram::Substitute(FSSource, "//VTK::Depth::Impl",
+-        "float Zdc = gl_FragCoord.z*2.0 - 1.0;\n"
+-        "  float Z2 = -1.0*cDValue/(Zdc + cCValue) + cSValue;\n"
+-        "  float Zdc2 = -1.0*cCValue - cDValue/Z2;\n"
+-        "  gl_FragDepth = Zdc2*0.5 + 0.5;\n");
 +        "uniform float coffset;");
 +      vtkShaderProgram::Substitute(
 +        FSSource, "//VTK::Depth::Impl", "gl_FragDepth = gl_FragCoord.z + 0.000016*coffset;\n");
      }
      shaders[vtkShader::Fragment]->SetSource(FSSource);
    }
-@@ -2586,14 +2570,13 @@
+@@ -2110,14 +2112,12 @@
    // Have the renderpasses changed?
    vtkMTimeType renderPassMTime = this->GetRenderPassStageMTime(actor);
  
 -  vtkOpenGLCamera* cam = (vtkOpenGLCamera*)(ren->GetActiveCamera());
+-
    // shape of input data changed?
    float factor, offset;
    this->GetCoincidentParameters(ren, actor, factor, offset);
@@ -125,13 +111,13 @@ diff -Naur ParaView-5.9.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper
 -    ((cam->GetParallelProjection() != 0.0) ? 0x08 : 0) + ((offset != 0.0) ? 0x10 : 0) +
 +    ((factor != 0.0) ? 0x08 : 0) + ((offset != 0.0) ? 0x10 : 0) +
      (this->VBOs->GetNumberOfComponents("scalarColor") ? 0x20 : 0) +
-     (vtkOpenGLRenderer::SafeDownCast(ren)->GetUseSphericalHarmonics() ? 0x40 : 0) +
-     (actor->GetProperty()->GetCoatStrength() > 0.0 ? 0x80 : 0) +
-@@ -2910,6 +2893,19 @@
-     lineWidth[1] = 2.0 * propLineWidth / vp[3];
+     ((this->VBOs->GetNumberOfComponents("tcoord") % 4) << 6);
+@@ -2381,6 +2381,19 @@
+     lineWidth[1] = 2.0 * actor->GetProperty()->GetLineWidth() / vp[3];
      cellBO.Program->SetUniform2f("lineWidthNVC", lineWidth);
    }
-+   
++  
 +  // handle coincident
 +  if (cellBO.Program->IsUniformUsed("coffset"))
 +  {
@@ -144,10 +130,10 @@ diff -Naur ParaView-5.9.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper
 +      cellBO.Program->SetUniformf("cfactor", factor);
 +    }
 +  }
-   vtkOpenGLCheckErrorMacro("failed after UpdateShader");
  }
  
-@@ -2995,25 +2991,6 @@
+ //-----------------------------------------------------------------------------
+@@ -2436,25 +2449,6 @@
      }
    }
  
@@ -170,7 +156,6 @@ diff -Naur ParaView-5.9.0_SRC_orig/VTK/Rendering/OpenGL2/vtkOpenGLPolyDataMapper
 -    }
 -  }
 -
-   vtkNew<vtkMatrix3x3> env;
-   if (program->IsUniformUsed("envMatrix"))
-   {
-
+   // If the VBO coordinates were shifted and scaled, apply the inverse transform
+   // to the model->view matrix:
+   vtkOpenGLVertexBufferObject* vvbo = this->VBOs->GetVBO("vertexMC");