vulkan triangle
This commit is contained in:
parent
8b2fd773b1
commit
96b5d1a299
8 changed files with 170 additions and 48 deletions
|
|
@ -43,9 +43,12 @@ RenderingElement3DVulkan::RenderingElement3DVulkan(Mesh& mesh) {
|
|||
VkDeviceAddress blasDeviceAddr = VulkanDevice::vkGetAccelerationStructureDeviceAddressKHR(VulkanDevice::device, &addrInfo);
|
||||
|
||||
instance = {
|
||||
.transform = identity,
|
||||
.mask = 0xFF,
|
||||
.accelerationStructureReference = blasDeviceAddr
|
||||
.transform = identity,
|
||||
.instanceCustomIndex = 0,
|
||||
.mask = 0xFF,
|
||||
.instanceShaderBindingTableRecordOffset = 0,
|
||||
.flags = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR | VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
|
||||
.accelerationStructureReference = blasDeviceAddr
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -56,6 +59,8 @@ void RenderingElement3DVulkan::BuildTLAS(VkCommandBuffer cmd) {
|
|||
instanceBuffer.value[i] = elements[i].instance;
|
||||
}
|
||||
|
||||
instanceBuffer.FlushDevice(cmd, VK_ACCESS_MEMORY_READ_BIT, VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR);
|
||||
|
||||
VkAccelerationStructureGeometryInstancesDataKHR instancesData = VkAccelerationStructureGeometryInstancesDataKHR {
|
||||
.sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
|
||||
.arrayOfPointers = VK_FALSE,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue