From fd613f2c84d770f969074a668324545debf05728 Mon Sep 17 00:00:00 2001 From: Dave Pugmire Date: Thu, 16 Feb 2023 21:55:46 -0500 Subject: [PATCH] Fixes to rendering. Attempt at getting VR --- vtkm/rendering/View3D.cxx | 78 ++++++++++++++++++- .../testing/UnitTestImageCompositing.cxx | 54 ++++++++++++- 2 files changed, 128 insertions(+), 4 deletions(-) diff --git a/vtkm/rendering/View3D.cxx b/vtkm/rendering/View3D.cxx index bc1998cd4..d1a8167dd 100644 --- a/vtkm/rendering/View3D.cxx +++ b/vtkm/rendering/View3D.cxx @@ -11,6 +11,12 @@ #include #include +#ifdef VTKM_ENABLE_MPI +#include +#include +#include +#endif + namespace vtkm { namespace rendering @@ -49,6 +55,8 @@ void View3D::Paint() return; this->Compositor.SetCompositeMode(vtkm::rendering::compositing::Compositor::Z_BUFFER_SURFACE); + //volume render + this->Compositor.SetCompositeMode(vtkm::rendering::compositing::Compositor::VIS_ORDER_BLEND); /* auto colors = (this->GetCanvas().GetColorBuffer().WritePortal().GetArray())[0][0]; auto depths = (this->GetCanvas().GetDepthBuffer().WritePortal().GetArray()); @@ -82,13 +90,46 @@ void View3D::Paint() void View3D::RenderScreenAnnotations() { - if (this->GetScene().GetNumberOfActors() > 0) + vtkm::Range scalarRange; + + int numActors = this->GetScene().GetNumberOfActors(); + if (numActors > 0) + scalarRange = this->GetScene().GetActor(0).GetScalarRange(); + + int totNumActors = numActors; + + /* +#ifdef VTKM_ENABLE_MPI + auto comm = vtkm::cont::EnvironmentTracker::GetCommunicator(); + + vtkm::Float64 minVal = scalarRange.Min, maxVal = scalarRange.Max; + + MPI_Comm mpiComm = vtkmdiy::mpi::mpi_cast(comm.handle()); + int totNumActors = 0; + vtkm::Float64 minVal_res = 0, maxVal_res = 0; + MPI_Reduce(&numActors, &totNumActors, 1, MPI_INT, MPI_SUM, 0, mpiComm); + MPI_Reduce(&minVal, &minVal_res, 1, MPI_DOUBLE, MPI_MIN, 0, mpiComm); + MPI_Reduce(&maxVal, &maxVal_res, 1, MPI_DOUBLE, MPI_MAX, 0, mpiComm); + if (comm.rank() != 0) + return; + + scalarRange.Min = minVal_res; + scalarRange.Max = maxVal_res; +#endif + + std::cout<<"totNumActors= "<