VTK issueshttps://gitlab.kitware.com/vtk/vtk/-/issues2019-11-07T04:56:14-05:00https://gitlab.kitware.com/vtk/vtk/-/issues/16858VTK volume rendering should warn user when lighting model flat or gouraud is ...2019-11-07T04:56:14-05:00Aashish ChaudharyVTK volume rendering should warn user when lighting model flat or gouraud is usedCurrently we only support Phong Shading.Currently we only support Phong Shading.https://gitlab.kitware.com/vtk/vtk/-/issues/16859VTK volume rendering should support Gouraud shading2022-02-04T03:09:04-05:00Aashish ChaudharyVTK volume rendering should support Gouraud shadingCurrently only Phong shading is supported.Currently only Phong shading is supported.https://gitlab.kitware.com/vtk/vtk/-/issues/16875MSAA does not work anymore in VTK 7.1 / Win322017-10-17T00:45:39-04:00Boris BasicMSAA does not work anymore in VTK 7.1 / Win32MultiSampling is broken in VTK 7.1. To test it quickly, take the cone6 example and set the multisampling to 8 on the render window on line 108.
I have attached screenshots showing that MSAA does not work anymore in 7.1.
![VTK7.0_co...MultiSampling is broken in VTK 7.1. To test it quickly, take the cone6 example and set the multisampling to 8 on the render window on line 108.
I have attached screenshots showing that MSAA does not work anymore in 7.1.
![VTK7.0_cone6_MSAA_X8](/uploads/b4d3312b68a1e2b5a2b5976ff877deda/VTK7.0_cone6_MSAA_X8.png)![VTK7.1_cone6_MSAA_X8_broken](/uploads/b2775c71528abf0b4af521d492146f56/VTK7.1_cone6_MSAA_X8_broken.png)https://gitlab.kitware.com/vtk/vtk/-/issues/16901vtkOSPRayRendererNode.cxx: error: ‘isnan’ was not declared2017-04-24T04:25:09-04:00Jean M. FavrevtkOSPRayRendererNode.cxx: error: ‘isnan’ was not declared@demarle
I switched to a new machine with a newer compiler.
g++ (Ubuntu 5.4.0) does not like
vtkOSPRayRendererNode.cxx:124:36: error: ‘isnan’ was not declared in this scope
I corrected to the following line to make it compile cleanl...@demarle
I switched to a new machine with a newer compiler.
g++ (Ubuntu 5.4.0) does not like
vtkOSPRayRendererNode.cxx:124:36: error: ‘isnan’ was not declared in this scope
I corrected to the following line to make it compile cleanly:
if (std::isnan(ospDepthBuffer[i]))
This is both in ParaView master, and 5.2RC27.1Michael FoglemanMichael Foglemanhttps://gitlab.kitware.com/vtk/vtk/-/issues/16905TestGlyph3DMapperPicking silently failing since CPDM22017-04-24T04:25:08-04:00Allison Vacantialliepiper16@gmail.comTestGlyph3DMapperPicking silently failing since CPDM2I found this error after making a small change to how depth buffers are updated while multisampling:
https://open.cdash.org/testDetails.php?test=495715128&build=4620844
It's been failing for a while with an image error of 9, but my pat...I found this error after making a small change to how depth buffers are updated while multisampling:
https://open.cdash.org/testDetails.php?test=495715128&build=4620844
It's been failing for a while with an image error of 9, but my patch for some reason pushed it above the threshold to 12.
Bisecting the behavior points to the new `vtkCompositePolyDataMapper2` implementation (7912d3407f6ea6a1cbdd6f4f3d63d2b09e9393bb) as the culprit.
Test Image:
![image](/uploads/5e011d4db91fef1d7010b7362df88935/image.png)
Valid Image:
![image](/uploads/2471141fede2c28485c550f60ab02165/image.png)
Inspecting the selection buffer shows that the glyphs have varying values during the id pass, though each glyph instance is supposed to be uniform (image enlarged/brightened):
![image](/uploads/b0632133791de12ea0093b73cdbdd40d/image.png)
This is causing non-selected points to be incorrectly picked.
Other notes:
* Seems to be related to multisampling. This is one of the few tests that doesn't turn it off, and disabling MSAA in the test fixes the bug. Looks like this may be a general issue with picking + MSAA.
* I've verified that we are in fact disabling MSAA with `glDisable(GL_MULTISAMPLE)` while rendering the selection buffers.
* Inspecting the selection buffer produced by an apitrace replay oddly enough does NOT show the buggy selection buffer -- all pixels belonging to a glyph share the correct id.
* This doesn't seem to be platform / driver specific, it's happened on linux and windows (osx/ogl2 coverage is spotty, not sure if it happens there): https://open.cdash.org/index.php?compare1=63&filtercount=2&field1=buildname%2Fstring&project=VTK&field2=buildstarttime%2Fdate&showfilters=0&limit=100&compare2=83&value1=e102e48d&showfeed=0&value2=20161031T152056
* This is really weird.7.1https://gitlab.kitware.com/vtk/vtk/-/issues/16996Some filter/renderPass disable GL_BLEND but never restore them2018-10-29T04:02:55-04:00Simon EsneaultSome filter/renderPass disable GL_BLEND but never restore themNamely :
- [ ] vtkDepthOfFieldPass.cxx
- [ ] vtkEDLShading.cxx
- [ ] vtkPointFillPass.cxx
- [ ] vtkSobelGradientMagnitudePass.cxx
- [x] vtkSSAAPass.cxx (!3003)
Hence if used with something like vtkTextActor or vtkBalloonRepres...Namely :
- [ ] vtkDepthOfFieldPass.cxx
- [ ] vtkEDLShading.cxx
- [ ] vtkPointFillPass.cxx
- [ ] vtkSobelGradientMagnitudePass.cxx
- [x] vtkSSAAPass.cxx (!3003)
Hence if used with something like vtkTextActor or vtkBalloonRepresentation the blending is disabled and the rendering incorrecthttps://gitlab.kitware.com/vtk/vtk/-/issues/17009Old OpenGL backend doesn't apply brush textures during Context2D rendering2018-04-30T09:28:53-04:00Allison Vacantialliepiper16@gmail.comOld OpenGL backend doesn't apply brush textures during Context2D renderingThe old backend does not apply the brush textures while rendering a Context2D scene. To reproduce, see the rendering in TestPDFContextExport and check out the quads in the upper-left quadrant. They should contain a red/blue checkerboard ...The old backend does not apply the brush textures while rendering a Context2D scene. To reproduce, see the rendering in TestPDFContextExport and check out the quads in the upper-left quadrant. They should contain a red/blue checkerboard texture.
It should look like:
![t](/uploads/c629f718b3efb9db8ceb5707578d4a0b/t.png)
But we get:
![TestPDFContextExport](/uploads/d4424206c839edce8f0444039ee9944f/TestPDFContextExport.png)https://gitlab.kitware.com/vtk/vtk/-/issues/17065Feature request: Volume rendering for (non-uniform) rectilinear grids2020-05-11T14:04:12-04:00Armin WehrfritzFeature request: Volume rendering for (non-uniform) rectilinear gridsCurrently, volume rendering for (non-uniform) rectilinear grids is not available (using the binary installer: ParaView-5.4.0-Qt5-OpenGL2-MPI-Linux-64bit.tar.gz).
In order to do a volume rendering of such a dataset, it has to be explic...Currently, volume rendering for (non-uniform) rectilinear grids is not available (using the binary installer: ParaView-5.4.0-Qt5-OpenGL2-MPI-Linux-64bit.tar.gz).
In order to do a volume rendering of such a dataset, it has to be explicitly converted to an unstructured dataset. This is however inefficient, as 1) the memory usage increases significantly and 2) the volume rendering for unstructured dataset is magnitudes slower than for uniform rectilinear (i.e. image) dataset.
Thus this feature request for an efficient and fast volume rendering of non-uniform rectilinear grids.
Alternatively, ParaView could offer a volume rendering representation for non-uniform rectilinear and structured grids in general by internally converting the dataset to an unstructured grid. The option could be named "Volume (unstructured)" or something the like. This would at least give the user a hint that for the respective dataset only the unstructured volume rendering option is available, though with a significant performance hit.
This has been requested and discussed in a few mailing list conversations/ bug reports:
http://www.vtk.org/Bug/bug_relationship_graph.php?bug_id=2567
http://public.kitware.com/pipermail/vtkusers/2009-February/050457.html
http://public.kitware.com/pipermail/paraview/2013-October/029642.html
http://lists.mcs.anl.gov/pipermail/petsc-users/2015-April/025148.html
/label ~"triage:feature" ~"area:rendering"
@kmorel @berkgeveci @lisa-avila @aashish-chaudhary
https://gitlab.kitware.com/vtk/vtk/-/issues/17081vtkSSAAPass does not support renderer on layer != 02018-10-23T12:59:40-04:00Julien FinetvtkSSAAPass does not support renderer on layer != 0When rendering a renderer with Layer != 0, buffers are not cleared.
vtkSSASPass renders an un-Clear-ed black color buffer instead of transparent buffer.
To reproduce, simply add vtkSSAAPass to the renderer of a vtkOrientationMarkerWidget.When rendering a renderer with Layer != 0, buffers are not cleared.
vtkSSASPass renders an un-Clear-ed black color buffer instead of transparent buffer.
To reproduce, simply add vtkSSAAPass to the renderer of a vtkOrientationMarkerWidget.https://gitlab.kitware.com/vtk/vtk/-/issues/17082vtkSSAAPass breaks the use of stencil buffer2018-10-23T12:59:34-04:00Julien FinetvtkSSAAPass breaks the use of stencil bufferUse of stencil buffer in actor custom rendering fails when vtkSSAAPass is in use.Use of stencil buffer in actor custom rendering fails when vtkSSAAPass is in use.https://gitlab.kitware.com/vtk/vtk/-/issues/17138Antialiasing issue in fullscreen QVtkOpenGLWidget2022-07-31T17:39:54-04:00Denys SenkinAntialiasing issue in fullscreen QVtkOpenGLWidgetI have such problem - when I make the vtkOpenGlWidget as separate window and call showFullscreen() on it, the antialiasing is set disabled and there is no way to turn it on. The mesh looks ugly, especially if the EdgeVisibillity is turne...I have such problem - when I make the vtkOpenGlWidget as separate window and call showFullscreen() on it, the antialiasing is set disabled and there is no way to turn it on. The mesh looks ugly, especially if the EdgeVisibillity is turned on - lines are not antialiased at all.
Normal look:
![image](/uploads/86e2bf7fe216f4811703528c701d8a49/image.png)
Ugly look (in fullscreen mode):
![image](/uploads/29e9d89d26d845c4a46b9a17a46dd58c/image.png)
It becomes uglier when I go back from fullscreen mode to normal mode
![image](/uploads/886aca0951586a43288ed42bfe547b70/image.png)
I have tried to set number of multisamples anywhere where I found, but nothing happens.
VTK 8.1 (latest master),
PCL 1.8.1,
Visual Studio 2015,
Windows 10,
NVidia 950Mhttps://gitlab.kitware.com/vtk/vtk/-/issues/17139revamp obj reader for ospray2017-11-06T14:22:27-05:00David E. DeMarlerevamp obj reader for osprayMany obj files contain multiple objects with different materials. VTK's reader produces a single concatenated object and ignores the materials with the exception of texture coordinates. We should revamp the reader to produce multiblock o...Many obj files contain multiple objects with different materials. VTK's reader produces a single concatenated object and ignores the materials with the exception of texture coordinates. We should revamp the reader to produce multiblock of polydata so that applications can work with each object independently. At the same time we should create a tga reader for texture files and lastly parse the mtl files and populate a vtkospray material definition library from them.https://gitlab.kitware.com/vtk/vtk/-/issues/17154Incorrect lines rendering with QVTKOpenGLNativeWidget2020-06-19T15:52:48-04:00Boris BasicIncorrect lines rendering with QVTKOpenGLNativeWidgetWhen moving from the deprecated QVTKWidget to the QVTKOpenGLNativeWidget, I noticed lines looked less smooth than before. To illustrate the problem, I created a window showing 3 axes using the old widget, the new one, and one using a sta...When moving from the deprecated QVTKWidget to the QVTKOpenGLNativeWidget, I noticed lines looked less smooth than before. To illustrate the problem, I created a window showing 3 axes using the old widget, the new one, and one using a standard Win32 window. The expected behavior is displayed by QVTKWidget and the Win32 window, while in QVTKOpenGLNativeWidget, lines looked like they are a little blended with the background.
It is to be noted that using the new QVTKOpenGLWidget resolves the issue, but it is present with QVTKOpenGLNativeWidget.
Screens:
![2017-10-23_16h51_17](/uploads/448e1eb57c670595d3f7ed606f8c8d8c/2017-10-23_16h51_17.png) ![2017-10-23_16h39_14](/uploads/a699697911c4831fdf7d8acb925695bb/2017-10-23_16h39_14.png) ![2017-10-23_16h39_49](/uploads/31cfbe1216c9f350ddfc4a1c8b44c185/2017-10-23_16h39_49.png)
Environment: Windows 7 64-bit, Quadro 2000, Xeon E5-1603 0, MSVC 2015 Update 3.
Here is the code I used:
```c++
#include <QApplication>
#include <vtkActor.h>
#include <vtkGenericOpenGLRenderWindow.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkAxes.h>
#include <vtkProperty.h>
#include <vtkCamera.h>
#include <QVTKWidget.h>
#include <QVTKOpenGLNativeWidget.h>
#include <QSurfaceFormat>
//#define NO_QT
#define OLD_WIDGET
int main(int argc, char** argv)
{
// Create X,Y,Z axes at the origin
vtkNew<vtkAxes> centerAxes;
centerAxes->SetOrigin(0, 0, 0);
centerAxes->SetSymmetric(1);
centerAxes->SetComputeNormals(1);
vtkNew<vtkPolyDataMapper> axesMapper;
axesMapper->SetInputConnection(centerAxes->GetOutputPort());
vtkSmartPointer<vtkActor> centerAxesActor = vtkSmartPointer<vtkActor>::New();
centerAxesActor->SetMapper(axesMapper);
centerAxesActor->GetProperty()->SetLighting(false);
centerAxesActor->PickableOff();
centerAxesActor->SetScale(0.4);
vtkNew<vtkRenderer> renderer;
renderer->AddActor(centerAxesActor);
renderer->SetBackground(0.06, 0.2, 0.5);
double pos[3] = { 1, 0.2, 1 };
double focalPoint[3] = { 0, 0, 0 };
double viewUp[3] = { 0, 1, 0 };
renderer->GetActiveCamera()->SetPosition(pos);
renderer->GetActiveCamera()->SetFocalPoint(focalPoint);
renderer->GetActiveCamera()->SetViewUp(viewUp);
#ifdef NO_QT
vtkNew<vtkRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer);
vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
renderWindowInteractor->SetRenderWindow(renderWindow);
renderWindow->SetSize(512, 512);
renderWindow->Render();
renderWindowInteractor->Start();
#else
QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
QApplication app(argc, argv);
# if defined OLD_WIDGET
QVTKWidget widget;
# else
QVTKOpenGLNativeWidget widget;
vtkNew<vtkGenericOpenGLRenderWindow> renderWindow;
widget.SetRenderWindow(renderWindow);
# endif // OLD_WIDGET
widget.resize(512, 512);
widget.GetRenderWindow()->AddRenderer(renderer);
widget.show();
app.exec();
#endif // NO_QT
return EXIT_SUCCESS;
}
```
@utkarsh.ayachit @cory-quammen @msmolenshttps://gitlab.kitware.com/vtk/vtk/-/issues/17227Offscreen rendering consistency over platforms2018-10-23T11:21:20-04:00eja_fftOffscreen rendering consistency over platformsRendering/OpenGL2/vtkXOpenGLRenderWindow.cxx and Rendering/OpenGL2/vtkWin32OpenGLRenderWindow.cxx have very different code handling the offscreen rendering.
You can look at the methods :
* SetOffScreenRendering
* CreateOffScreenWindow
...Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx and Rendering/OpenGL2/vtkWin32OpenGLRenderWindow.cxx have very different code handling the offscreen rendering.
You can look at the methods :
* SetOffScreenRendering
* CreateOffScreenWindow
* SetSize
* DestroyOffScreenWindow only in X
* CleanUpOffScreenRendering only in Win32
* CleanUpRenderers only in Win32
Moreover, safeguards like "this->CreatingOffScreenWindow" or "resizing" exist in one version and not in the other.
The use of offscreen rendering doesn't seem to be very robust and I often experience segfaults when using it. Maybe a code factorisation is needed first as offscreen handling spreads also into common code handling buffers and windows in Rendering/OpenGL2/vtkOpenGLRenderWindow.cxxhttps://gitlab.kitware.com/vtk/vtk/-/issues/17236OSPRay does not consider alpha channel of lookup table2018-10-25T09:49:38-04:00Nathan SmithOSPRay does not consider alpha channel of lookup tableSetting the alpha component of a lookup table has no effect on the rendered image when OSPRay is used for a rendering pass. This can be seen by modifying the [Cube example](https://lorensen.github.io/VTKExamples/site/Python/DataManipulat...Setting the alpha component of a lookup table has no effect on the rendered image when OSPRay is used for a rendering pass. This can be seen by modifying the [Cube example](https://lorensen.github.io/VTKExamples/site/Python/DataManipulation/Cube/) to include a lookup table.
| OpenGL | OSPRay |
| ------ | ------ |
| ![opengl_cube](/uploads/ae6a3636b02372e26a20c32dcb17a1ff/opengl_cube.png) | ![ospray_cube](/uploads/59536320cb5465d6cc34bb456c34403b/ospray_cube.png) |
Screenshots taken using Paraview nightly build ParaView-5.4.1-1318-gab347f3-Qt5-MPI-Linux-64bit. Script executed as `pvpython cube.py` for OpenGL, and `pvpython cube.py --ospray` for OSPRay.
```python
#!/usr/bin/env python
# This is (almost) a direct C++ to Python transliteration of
# <VTK-root>/Examples/DataManipulation/Cxx/Cube.cxx from the VTK
# source distribution, which "shows how to manually create vtkPolyData"
#
# A convenience function, mkVtkIdList(), has been added and one if/else
# so the example also works in version 6 or later.
#
# Lines like `obj->Delete()` have been transliterated as `del obj` to,
# preserve the resemblance to the original C++ example, although I
# doubt this achieves anything beyond what Python's garbage collection
# would do anyway.
#
# njsmith - Removed spurious del statements to condense; added LUT
import vtk
import sys
# Makes a vtkIdList from a Python iterable. I'm kinda surprised that
# this is necessary, since I assumed that this kind of thing would
# have been built into the wrapper and happen transparently, but it
# seems not.
def mkVtkIdList(it):
vil = vtk.vtkIdList()
for i in it:
vil.InsertNextId(int(i))
return vil
def main():
# x = array of 8 3-tuples of float representing the vertices of a cube:
x = [(0.0, 0.0, 0.0), (1.0, 0.0, 0.0), (1.0, 1.0, 0.0), (0.0, 1.0, 0.0),
(0.0, 0.0, 1.0), (1.0, 0.0, 1.0), (1.0, 1.0, 1.0), (0.0, 1.0, 1.0)]
# pts = array of 6 4-tuples of vtkIdType (int) representing the faces
# of the cube in terms of the above vertices
pts = [(0, 1, 2, 3), (4, 5, 6, 7), (0, 1, 5, 4),
(1, 2, 6, 5), (2, 3, 7, 6), (3, 0, 4, 7)]
# We'll create the building blocks of polydata including data attributes.
cube = vtk.vtkPolyData()
points = vtk.vtkPoints()
polys = vtk.vtkCellArray()
scalars = vtk.vtkFloatArray()
# Load the point, cell, and data attributes.
for i in range(8):
points.InsertPoint(i, x[i])
for i in range(6):
polys.InsertNextCell(mkVtkIdList(pts[i]))
for i in range(8):
scalars.InsertTuple1(i, i)
# We now assign the pieces to the vtkPolyData.
cube.SetPoints(points)
cube.SetPolys(polys)
cube.GetPointData().SetScalars(scalars)
lut = vtk.vtkLookupTable()
lut.SetHueRange(0.0, 0.1)
lut.SetValueRange(1, 1)
lut.SetAlphaRange(0., 0.5)
lut.Build()
# Now we'll look at it.
cubeMapper = vtk.vtkPolyDataMapper()
cubeMapper.SetLookupTable(lut)
cubeMapper.SetInputData(cube)
cubeMapper.SetScalarRange(0, 7)
cubeActor = vtk.vtkActor()
cubeActor.SetMapper(cubeMapper)
# The usual rendering stuff.
camera = vtk.vtkCamera()
camera.SetPosition(1, 1, 1)
camera.SetFocalPoint(0, 0, 0)
renderer = vtk.vtkRenderer()
if len(sys.argv) > 1 and sys.argv[1] == '--ospray':
ospray = vtk.vtkOSPRayPass()
renderer.SetPass(ospray)
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(renderer)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
renderer.AddActor(cubeActor)
renderer.SetActiveCamera(camera)
renderer.ResetCamera()
renderer.SetBackground(1, 1, 1)
renWin.SetSize(300, 300)
# interact with data
renWin.Render()
iren.Start()
main()
```David E. DeMarleDavid E. DeMarlehttps://gitlab.kitware.com/vtk/vtk/-/issues/17265The vtkImageResliceMapper shows a black polygon when slice is out of bounds.2018-05-10T09:48:24-04:00David GobbiThe vtkImageResliceMapper shows a black polygon when slice is out of bounds.When scrolling through a volume with vtkImageResliceMapper, strange things happen when the slice plane moves beyond the volume bounds. With a straight-on view, a black rectangle is shown (as compared to VTK 6.3, where nothing is shown)....When scrolling through a volume with vtkImageResliceMapper, strange things happen when the slice plane moves beyond the volume bounds. With a straight-on view, a black rectangle is shown (as compared to VTK 6.3, where nothing is shown). With an orthogonal view (90 degree rotation), a black rectangle is shown that is displaced horizontally or vertically by the distance beyond the bounds. With an oblique view, after going out-of-bounds the polygon from the last in-bounds position is shown (as a black polygon), and is again displaced.
A work-around is to call SeparateWindowLevelOperationOff(), which causes the rectangle/polygon to become transparent (though it is still present).
The problem seems to be related to vtkOpenGLImageSliceMapper and its polygon-rendering code. When the slice plane moves of bounds, the last valid in-bounds polygon is displayed. It should instead either render an empty polygon, or not render at all. Note that the "Background" option that renders a complementary polygon must also be fixed: if there is no "foreground" polygon to display, the "Background" polygon must fill the entire view.
When fixing this, be sure to test the situation where the slice plane is out-of-bounds on the first render.
This is tangentially related to #16041.8.1.1David GobbiDavid Gobbihttps://gitlab.kitware.com/vtk/vtk/-/issues/17310Thin border around vtkImageResliceMapper rendering2018-05-10T12:15:35-04:00David GobbiThin border around vtkImageResliceMapper renderingAs reported by Andrea Borsic on the mailing list:
In vtkImageResliceMapper the conversion from CT scalar values to screen colors is performed internally and we have tried playing with BackgroundOn() and with SetBackingColor of a vtkImag...As reported by Andrea Borsic on the mailing list:
In vtkImageResliceMapper the conversion from CT scalar values to screen colors is performed internally and we have tried playing with BackgroundOn() and with SetBackingColor of a vtkImagePorperty is passed to the vtkImageResliceMapper, but we are not able to get rid of a thin gray border that at times shows around the image as shown in the screenshot below ....
![reslicemapperborder](/uploads/ad52698554e319449f3ded9c7d30020b/reslicemapperborder.png)8.1.1David GobbiDavid Gobbihttps://gitlab.kitware.com/vtk/vtk/-/issues/17327VTK7.0 show point cloud for ios2018-10-23T10:15:06-04:00HollisJoeVTK7.0 show point cloud for iosWhen using VTK to display point cloud in IOS, the point cloud shows abnormal, and you cannot see a little cloud display. Thanks!When using VTK to display point cloud in IOS, the point cloud shows abnormal, and you cannot see a little cloud display. Thanks!https://gitlab.kitware.com/vtk/vtk/-/issues/17334OSPRay scivis renderer draws outside of the hull of unstructured grids2018-10-23T10:32:43-04:00Michael MiglioreOSPRay scivis renderer draws outside of the hull of unstructured gridsWhen there are holes in the bounding box of an unstructured grid, it looks that OSPRay fills space without cell with the color corresponding to value 0 and 100% opacity.
* VTK renderer:
![Screenshot_from_2018-06-07_14-57-12](/uploads...When there are holes in the bounding box of an unstructured grid, it looks that OSPRay fills space without cell with the color corresponding to value 0 and 100% opacity.
* VTK renderer:
![Screenshot_from_2018-06-07_14-57-12](/uploads/0e223a9a73e69089a985df7fd2195c5a/Screenshot_from_2018-06-07_14-57-12.png)
* OSPRay scivis renderer:
![Screenshot_from_2018-06-07_14-56-59](/uploads/60c88ffafea536b4b7629dbd7956965b/Screenshot_from_2018-06-07_14-56-59.png)https://gitlab.kitware.com/vtk/vtk/-/issues/17404rendering composite data with mixed transparency2019-07-17T10:11:10-04:00Andreas Buykxrendering composite data with mixed transparencyI want to render a vtkMultiBlockDataSet with vtkPolyData blocks, where the blocks have cell-scalars with mixed opacity, using vtkCompositePolyDataMapper2. The transparent cells did not get rendered at all whereas vtkCompositePolyDataMapp...I want to render a vtkMultiBlockDataSet with vtkPolyData blocks, where the blocks have cell-scalars with mixed opacity, using vtkCompositePolyDataMapper2. The transparent cells did not get rendered at all whereas vtkCompositePolyDataMapper can render them. I created a script that tests various scenarios and executed it with vtk 8.1.1 and with vtk master. I currently only have vtkpython available on a linux system rendering with mesa, so I don't know what the results are for native graphics.
Four different mapper configurations (left to right):
* a vtkCompositeDataMapper2 (CPDM2) mapping the vtkMultiBlockDataSet
* a vtkCompositeDataMapper (CPDM) mapping the vtkMultiBlockDataSet
* a vtkPolyDataMapper (PDM) mapping all blocks appended into a single vtkPolyData
* a separate vtkPolyDataMapper (PDM) for each of the blocks
Opacity scenarios demonstrated are (top-bottom):
* opaque cylinder, opaque block
* opaque cylinder, transparent block
* transparent cylinder, transparent block
Results for vtk 8.1.1:
![cell_opacity_811](/uploads/68941d9cee52dd0432f8d93771f8d06f/cell_opacity_811.png)
Results for vtk master (commit 80633bad3a62630cecc7c47a52bbb89b329806b0):
![cell_opacity_master](/uploads/803958f98800c9fa343e6e2ab06be579/cell_opacity_master.png)
I tried to use point scalars instead of cell scalars but this didn't change the results.
Here's the script:
[composite_opacity.py](/uploads/e09b8e43504ac1e0355804de3ce4b057/composite_opacity.py)