Hi Guillermo,
As far as I see this, there are two ways you could try this:
1.) Obviously, the first one is to use VTK as input source and implement the Volume Rendering by yourself. Guessing from your response this is the solution you wanted to avoid. However, there is a simple working volume rendering example in case you consider it:
https://esri.github.io/devsummit-2019-3D-jsapi/Advanced-WebGL-in-3D-SceneViews/External-Volume-Rende...
and the source code for this here:
https://github.com/Esri/devsummit-2019-3D-jsapi/tree/master/Advanced-WebGL-in-3D-SceneViews/External...
2.) If you can manage that VTK uses a externally provided render context for rendering it's images you might be able to use the VTK volume rendering. In this case, you could try to do everything in the same WebGL context provided by the external renderer, This would require you to:
- ensure that all VTK ressources are loaded with the correct WebGL context (also framebuffers):
- sync the scene state (e.g. give camera position to VTK)
- call VTK render functions within our WebGL context
- use the framebuffer/texture for further processing
There is no ArcGIS API example for this implementation and from a quick browse over the VTK documentation it seems that it's not intended to be used this way. Best is to ask VTK support for more details about if and how that's possible at all.
All the best