You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the build/update methods of both, class bottom_level_acceleration_structure_t and class top_level_acceleration_structure_t, support only "pointer to an array"-style input.
Add support for:
"array of pointers" input to bottom level acceleration structure builds/updates
"array of pointers" input to top level acceleration structure builds/updates
Host-builds of bottom level acceleration structures
Host-builds of top level acceleration structures
The relevant code that needs to be updated/extended in order to support these different built/update types is contained in the methods:
More information about "array of pointers" input format can be found here: VkAccelerationStructureBuildGeometryInfoKHR => the description of VkBool32 geometryArrayOfPointers;
All the new types of acceleration structure builds/updates mentioned above have been implemented
The interfaces to the methods mentioned above have been updated, and they are easy, convenient, and safe to use.
There should be an example application that lets users choose between all the different types of builds/updates of acceleration structures. This functionality shall either be integrated into an entirely new ray tracing example application or it has been added to an existing example application.
Out of curiosity, a quick small test has been made, measuring the build time differences of ~10,000 host builds compared to ~10,000 device builds.
It has been determined if the assert(sizeof(VkAabbPositionsKHR) == result.mSizeOfOneElement); in buffer_meta.hpp#L833 is really appropriate.
It has been determined if the assert(sizeof(VkAccelerationStructureInstanceKHR) == result.mSizeOfOneElement); in buffer_meta.hpp#L912 is really appropriate.
All modified or new methods, as well as the example application are well documented and the Contribution Guidelines have been followed.
The text was updated successfully, but these errors were encountered:
Currently, the
build
/update
methods of both,class bottom_level_acceleration_structure_t
andclass top_level_acceleration_structure_t
, support only "pointer to an array"-style input.Add support for:
The relevant code that needs to be updated/extended in order to support these different built/update types is contained in the methods:
top_level_acceleration_structure_t::build_or_update
bottom_level_acceleration_structure_t::build_or_update
More information about "array of pointers" input format can be found here: VkAccelerationStructureBuildGeometryInfoKHR => the description of
VkBool32 geometryArrayOfPointers;
More information about host builds of acceleration structures can be found here: 36.5. Host Acceleration Structure Operations
Definition of done:
assert(sizeof(VkAabbPositionsKHR) == result.mSizeOfOneElement);
in buffer_meta.hpp#L833 is really appropriate.assert(sizeof(VkAccelerationStructureInstanceKHR) == result.mSizeOfOneElement);
in buffer_meta.hpp#L912 is really appropriate.The text was updated successfully, but these errors were encountered: