Releases: rnd-team-dev/plotoptix
IOIDN 2.3.1
- Intel denoiser libs updated to 2.3.1. Accumulation frames, before the final one, are denoised using the fast model, the final frame is denoised using the high quality / slower model.
- Several minor fixes and improvements.
OptiX 8.1 and ffmpeg 7
- Moved to OptiX 8.1.
- Encoder code upgraded to use FFmpeg 7.0; FFmpeg libs excluded from the Windows release (too large to keep them within the package).
OIDN denoiser, volume plots
- Included Intel Open Image Denoiser: HDR/LDR, supporting RGB/Albedo/Normal inputs.
- Switched to optional counting of transmission path segments (previously they were counted always and included in
the segment range limits). - Const-size geometry primitives (same radii, or u/v/w vectors for all data points) with much lower memory
consumption, beneficial e.g. for volume plots. - Volume coloring material for semi-transparent volume visualization (experimental).
Noise based work distribution modes
Work distribution has moved to a camera property. It is now possible to setup cameras with different modes and switch easyli.
Work distribution is now based on relative or absolute noise values.
See this example.
Noise-balanced sampling
Noise-balanced sampling is quite a nice feature. It took some more time to encode it, so the release is out not waiting for more features.
Sample code is in this notebook.
OptiX 7.7
NVIDIA driver r530 or above required
Code was moved to the new OptiX SDK and progresively new features should be covered. Also GPU-GPU transfers are evolving, now including CuPy arrays. In this release we have:
- CuPy support for texture and geometry data updates
- new curve geometries: Ribbon, Beziers
- no dedicated PyTorch/CuPy/... methods, all types handled with single corresponding method (it is a breaking change, that require minor code updates)
and more news is coming, check Patreon ;)
Updates of data on GPU.
This release introduces fast and simplified ways to copy data straight to device:
-
set texture data from pytorch tensors
-
texture filter modes enabled, default is trilinear, optionally nearest
-
set geometry data directly from numpy array or pytorch tensor (no host copy is made on the way)
-
synchronization method to update host copy with data from gpu:
NpOptiX.sync_raw_data()
-
convenience method to get a copy of geometry data (more simple than PinnedBuffer, though returns a copy): NpOptiX.get_data()
OpenCV-like camera setup
- OpenCV-like intrinsic matrix in camera setup, but note: distortion coefficients not supported still
- configurable denoiser start frame
- ovrlaping refractive volumes handling
AI upsampler and OptiX 7.6
NOTE: NVIDIA driver r520 or above is required for this release.
Updates are:
- AI upsampler and HDR denoiser
- Catmull-Rom curve primitive
- binaries updated to OptiX 7.6
- raytracing and callbacks workflow explained in the docs
Update packages
Code is updated to work with recently released pythonnet 3.0, which enables using Python 3.10 and more recent linux distros. There are also a few internal packages updated.
- packages updated to VS 2022, DllExport changed to the one by 3F
- code updated to support pythonnet 3.0, thus compatible with all pythons up to 3.10