- Merged multiple submodules into the main repository (CMake, DemandLoading, Memory, OmmBaking, PyOptiX, ShaderUtil, examples).
- Renamed
DemandLoader::unloadResource()
toinvalidatePage()
- The
DemandLoader
interface now provides asetPageTableEntry
method, which is helpful for asynchronous resource request handling. In such an approachResourceCallback
can enqueue a request and return false, indicating that the request has not yet been satisfied. Later, when the request has been processed,setPageTableEntry
can called to update the page table. Note that it's not necessary to call this method when requests are processed synchronously: if theResourceCallback
returns true, the page table is automatically updated. - embed_cuda now generates OptiX IR by default. Be careful to use the PTX option when compiling pure CUDA kernels.
- Added CMake presets. Updated README.
- Overhauled vcpkg dependency management and build options.
- Fixed intermittent PTX compilation issues caused by lack of trailing zero bytes in embedded PTX.
- Added Self Intersection Avoidance library.
- Added DemandGeometry library
- Added DemandGeometryViewer example
- OTK now requires cmake 3.24 or later, leveraging a new feature of FetchContent that invokes find_package and uses installed third-party packages when possible.
- Added a new Memory submodule that provides device memory allocators, etc.
- The demand loading library now depends on this submodule.
- The Demand Loading library now supports a wide range of image file types (via OpenImageIO). See the Demand Loading CHANGELOG.
- Added OmmBaking library in commit b4810b0.
- Added a simple OptiX example (OtkHello) in commit 7db1ace.
- Added demandTextureViewer app in commit b3c418c.
- Added DemandLoading overview from OptiX Programming Guide in commit 00dce9b.
- Partial switch from CUDA runtime to drive API in commit e9898e7.