shocker-0x15 / VLR

GPU Monte Carlo Ray Tracing Renderer using NVIDIA OptiX 7
221 stars 25 forks source link

Difference between VLR and Optix wrapper #5

Closed ib00 closed 2 years ago

ib00 commented 2 years ago

What's the difference between VLR project and your other Optix wrapper?

shocker-0x15 commented 2 years ago

VLR is a renderer based on my OptiX wrapper, so this is an application. OptiX Utility is a wrapper library with sample code demonstrating how to use the library.

The master branch of VLR is based on an old version of OptiX (6.0) and wrapper, while OptiX7_RE branch is based on almost recent version and still WIP.

ib00 commented 2 years ago

So, you could write VLR-like renderer using Optix_Utility?

shocker-0x15 commented 2 years ago

Yes you can. VLR (OptiX7_RE) is already based on OptiX_Utility.

shocker-0x15 commented 2 years ago

Sorry, my first comment was a bit incorrect. The master branch of VLR doesn't use my wrapper, it just uses the official C++ interface.

ib00 commented 2 years ago

I want to write my own toy renderer, so Optix_Wrapper seems what I am looking for.

Are you aware of a similar wrapper (functionality-wise) for Vulkan?

shocker-0x15 commented 2 years ago

I'm not familiar with Vulkan. I think it is conceptually possible to make a similar wrapper for Vulkan or DX12 but resource management could be mess or complicated. CUDA/OptiX allow us to use a raw pointer in a kernel and language (CUDA C++) is sophisticated compared to HLSL/GLSL. I like to use CUDA unless we want to distribute a multi-platform software or write rasterizer based graphics application.