Welcome back to the oneAPI channel.
Computer generated graphics is beautiful, But is also very compute intensive,
Rendering one frame using ray tracing can take many billions of operations
In previous videos we have introduced Embree, oneAPI ray tracing kernel library
That enables real time ray tracing of scenes constructed by surfaces.
But many natural phenomena like smoke and clouds are difficult to model using surfaces,
This is why we need the oneVKL, Intel Open volume Kernel Library
In previous videos we have talked about the oneAPI components.
We mentioned the multi-device, multi-vendor and open spec libraries..
That can now work on multiple devices, CPU,
GPU and others, what we call XPUs.. And are arranged into toolkits,
One of them is the oneAPI rendering toolkit, Which has many components..
One of them is Intel Embree to deal with scenes constructed by surfaces,
look for the video on Embree
And openVKL, the Open Volume Kernel library
OpenVKL, like Embree is a high-performance library for ray sampling of scenes.
Embree concentrates on computing surface samples – and openVKL covers volume sampling
and efficient traversal of a ray through volumes.
openVKL has a very rich set of volume types as you can see here
choose the volume type that fits the nature of the object you are modeling
sparse, spherical, particle or other…
And you can apply multiple operations using the C or C++ API on these volume types
Operations that solve common ray volume traversal problems
like sampling the volume, computing gradients and many others
OpenVKL is built for performance, leveraging the latest accelerations like AVX 512
and even though some of the data types are sparse,
the operations are optimized for memory consumption and compute
OpenVKL is available on all major operating systems on Intel CPUs and soon GPUs
And it’s all open source… Maybe the fastest way to get
started is by connecting to the intel dev-cloud I’ll leave you the link, and how to open an
interactive VNC session in this video description..
Once you have a VNC session on the devcloud..
You can navigate to the openVKL bin directory.
And all the examples are here, ready to run. I will run the vkl-Examples
and I will ask for a Sphere object And you can see the Sphere here..
If you navigate to openVKL.org, I’ll leave the link later, you can see here the API description,
What to include How to initialize
The basic data-types And the volume types supported
Adaptive mesh, sparse VDB and so on
Under examples, you can find our interactive demo Click here and we jump to the github page,
Interactive.. And here is the code
Look for field,
You can see that we can use wavelet, xyz or sphere as objects
If we look for Sphere, we can see how the object is defined and handled..
Now if I ask for the debug renderer I can see the full bounding box of the sphere,
Look how big it is related to the actual rendered sphere
I can move it around
Back to the rendered view
Play with the ambient light and other parameters.. cool..
And this is the xyz object This is how it looks using debug mode.
And you can see that the object is sparse, Pretty cool
openVKL, Volume sampling and traversal kernel library
Enjoy, subscribe, thank you