List of ANARI renderers in ParaView 6.1.1

I have built one version of ParaView 6.1.1 with ANARI support yesterday.
(commit eea2fc2dc970dbfac2be500736fdea26c2d9188b)

I test a simple Wedge (Unstructured mesh with 27 points and 16 cells). I get this
with OSPRay pathtracer

and nothing when enabling ANARI with barney backend (OptiX or CUDA)

I have a few questions about this latest ParaView

  1. Documentation for ParaView 6.1.1 shows a slightly different interface than mine . The presence of the ANARI Library box which I don’t have (only ANARI Renderers and ANARI Renderer Parameters) ?

ParaView/Documentation/release/ParaView-6.1.0.md at 595be493bdaf0e24cccb049e0dc82ec115be2f61 · Kitware/ParaView

  1. My ANARI Renderers box is greyed out (disabled). I had a previous built (last april) which was
    displaying an ANARIRenderers menu with five entries (interactive, fast, quality, …, default which by the way I didn’t find in ParaView nor VTK what these were refering to … variable options linked to selected library I guess ? I didn’t find any reference in the cpp code … maybe in the .json configs ?? ) an was able to render an even more large unstructured mesh.

  2. I export ANARI_LIBRARY=barney in the environment. I know barney is able to render this unstructured mesh (from usage with another frontend). So I’m wondering if I’m missing something in the use of the GUI … I played a little bit with UnitDistance and AmbientRadiance
    but with no results.

I understand this is all pretty recent stuff and bound to evolve quickly.

Thanks.

Jean-Marc

Hello @jmb64,

Indeed few things changes slightly in the interface, I tried it with visrtx and I was able to have something like that :

For that I set the env variable ANARI_LIBRARY=visrtx and expose in my PATH the libanari_visrtx.so.

I didn’t try recently barney, do you have any error/warning in the console ?

Hi Lucas,

With ParaView, I get the same result with visrtx backend, that is nothing :slight_smile:

I get ANARI API messages but I think they are only informative.

And, BTW, I’m even surprised that visrtx can render an unstructured mesh.
It is not supported as far as I am concerned. My ANARI visrtx library is at a commit
from last april 20 and visrtx has been evolving quickly these past few months but
I don’t see any code for unstructured ?

Add implementation for KHR_SPATIAL_FIELD_UNSTRUCTURED · Issue #140 · NVIDIA/VisRTX

I am definitely intrigued now :slight_smile:

Jean-Marc

PS: And you GUI has Display/View tabs side by side with Properties /Information … that is new …

Indeed these information is only informative, is it possible to share your data?

And, BTW, I’m even surprised that visrtx can render an unstructured mesh.
It is not supported as far as I am concerned. My ANARI visrtx library is at a commit
from last april 20 and visrtx has been evolving quickly these past few months but
I don’t see any code for unstructured ?

Indeed it doesn’t support unstructured grid directly but in paraview, when you display an UnstructuredGrid it will internally extract the surface by using the vtkGeometryFilter so what we push to VisRTX is a surface/PolyData.

It’s not new, you can already have such display by enabling it in the settings:

Hi Lucas,

I’m using the file Wedge.vtu from vtk-examples:

src/Testing/Data/Wedge.vtu · master · VTK / VTK Examples · GitLab

Actually I got it from lorensen/VTKExamples: The VTK examples, formerly hosted on media wiki which is probably a fork from kitware’s .

Thanks,

Jean-Marc

That’s weird, it works on my side:

So maybe a problem with your version of visrtx/anari/paraview ?

On my side I have:

  • ANARI : v0.14.1
  • VisRTX : 0.11.0
  • Optix (deps used by VisRTX) : 8.0.0
  • ParaView master : 6.1.1-742-g908c455bf3 ( 908c455bf3 is the commit hash, which point to a merge commit from the 30th June)

Weird but hey, sometimes I’m thinking it’s even weirder that it works ! :slight_smile:

And I have

ANARI 0.15 : commit 1c82885762ee1fe031c368dc756f15d5fa83be11 (april 27th)
VisRTX: commit 1c82885762ee1fe031c368dc756f15d5fa83be11 (april 30th)
OptiX8.0.0/denoiser ON
my ParaView is recent too: Version: 6.1.1-733-geea2fc2dc9

I’ve checked on VisRTX and at least I see that the list of renderer names have been changed (
Commit 8026c52, feb 17th) and that explains why you have dpt, …,etc and I have another
list (fast, interactive, quality (which I suppose corresponds to dpt pathtracer), debug, default (helide probably)
… That’s that .

This visrtx is a mystery right now … but I was more concerned with barney which is able to deal with unstructured mesh. Maybe the issues are linked.

Well, thanks for you time Lucas.

Jean-Marc

yeah I know, and also my apology ! I completely forgot that unstructured rendering with anari is not possible right now until this work would be done : https://gitlab.kitware.com/vtk/vtk/-/merge_requests/13266

even if you are able to have something in ParaView with Barney, it would be a surface/polydata because your unstructured grid would be converted internally as I said in this prior post.

Good news is that it will be supported in the future

Ok, nice to see there’s already an MR in the oven ! :slight_smile:

I am curious. Would it be possible for you to pinpoint in the code where this surface extraction happens in the anari/visrtx code path even when an unstructured volume is selected in the gui ?

Thanks,

Jean-Marc

It doesn’t happen in anari/visrtx, it happens way earlier in the ParaView itself, not in VTK.

When you load a data in ParaView, a representation will be created for this dataset, in most case it will be a vtkGeometryRepresentation or a subclass of this one.

This representation holds an actor, a mapper and a vtkGeometryFilter, this filter will compute from your unstructured grid a polydata. Then it will associate this polydata to the mapper (see vtkGeometryRepresentation::ProcessViewRequest) and forward the related actor to the view vtkGeometryRepresentation::AddToView. The View holds the vtkRenderWindow and we finally are in the realm on Anari !

tl&dr : currently the view will never know that the dataset was an unstructured grid at the beginning so there is nothing in the Anari about unstructured grid (for now).

Side note : any mapper (like vtkOpenGLPolyDataMapper) is associated to the correct anari node by a factory : vtkAnariViewNodeFactory::vtkAnariViewNodeFactory .

Thanks for the explanation.
I will also have a look at Stefan’s MR to add an ANARI unstructured volume mapper and try
to understand a little bit better.

Jean-Marc