diff --git a/modules/rtx/src/vkcv/rtx/RTX.cpp b/modules/rtx/src/vkcv/rtx/RTX.cpp index a6bb38d7a9859ab4b3ae756a7604ae8a8ab5f9b5..48efdaebe151f45cc19ef88211214ebca634d2ac 100644 --- a/modules/rtx/src/vkcv/rtx/RTX.cpp +++ b/modules/rtx/src/vkcv/rtx/RTX.cpp @@ -80,12 +80,6 @@ namespace vkcv::rtx { m_core->getContext().getDevice().updateDescriptorSets(tlasWrite, nullptr); tlasWrite.setDstBinding(2); m_core->getContext().getDevice().updateDescriptorSets(tlasWrite, nullptr); - /* - tlasWrite.setDstSet(m_core->getDescriptorSet(descriptorSetHandles[1]).vulkanHandle); - m_core->getContext().getDevice().updateDescriptorSets(tlasWrite, nullptr); - tlasWrite.setDstSet(m_core->getDescriptorSet(descriptorSetHandles[2]).vulkanHandle); - m_core->getContext().getDevice().updateDescriptorSets(tlasWrite, nullptr); - */ //INDEX & VERTEX BUFFER BottomLevelAccelerationStructure blas = m_asManager->getBLAS(0);//HARD CODED @@ -117,8 +111,6 @@ namespace vkcv::rtx { indexWrite.setDescriptorType(vk::DescriptorType::eStorageBuffer); indexWrite.setPBufferInfo(&indexInfo); m_core->getContext().getDevice().updateDescriptorSets(indexWrite, nullptr); - - } void RTXModule::createRTXPipeline(uint32_t pushConstantSize, std::vector<DescriptorSetLayoutHandle> descriptorSetLayouts, ShaderProgram &rtxShader) { @@ -283,7 +275,8 @@ namespace vkcv::rtx { m_core->getContext().getDevice().destroy(rayMissShaderModule); m_core->getContext().getDevice().destroy(rayClosestHitShaderModule); - createShaderBindingTable(3); //Hardcoded because I'm a dumb + // TODO: add possibility of more than one shader per stage + createShaderBindingTable(shaderStages.size()); } vk::Pipeline RTXModule::getPipeline() { diff --git a/projects/rtx/resources/shaders/raytrace.rmiss b/projects/rtx/resources/shaders/raytrace.rmiss index 0f1075dc5e54895491c3773874c676bc996faafb..fb5c709c516fb69ab92c426b61b5e53c9b17a379 100644 --- a/projects/rtx/resources/shaders/raytrace.rmiss +++ b/projects/rtx/resources/shaders/raytrace.rmiss @@ -13,8 +13,6 @@ layout(location = 0) rayPayloadInEXT Payload { int rayActive; } payload; -//layout(location = 0, binding = 1, set = 0) uniform accelerationStructureEXT tlas; //not neccesary in shader but for compiling ->bug - void main() { payload.rayActive = 0; } diff --git a/projects/rtx/src/main.cpp b/projects/rtx/src/main.cpp index fca905285ed5e86d56b8c47ca09e1a32d2cc920b..6a103efc9fa05c7956f2958395c683c60aca5ab7 100644 --- a/projects/rtx/src/main.cpp +++ b/projects/rtx/src/main.cpp @@ -129,19 +129,6 @@ int main(int argc, const char** argv) { descriptorSetHandles.push_back(rtxShaderDescriptorSet); descriptorSetLayoutHandles.push_back(rtxShaderDescriptorSetLayout); - /* - vkcv::DescriptorSetLayoutHandle rayMissShaderDescriptorSetLayout = core.createDescriptorSetLayout(rayMissShaderProgram.getReflectedDescriptors().at(0)); - vkcv::DescriptorSetHandle rayMissShaderDescriptorSet = core.createDescriptorSet(rayMissShaderDescriptorSetLayout); - descriptorSetHandles.push_back(rayMissShaderDescriptorSet); - descriptorSetLayoutHandles.push_back(rayMissShaderDescriptorSetLayout); - - vkcv::DescriptorSetLayoutHandle rayClosestHitShaderDescriptorSetLayout = core.createDescriptorSetLayout(rayClosestHitShaderProgram.getReflectedDescriptors().at(0)); - vkcv::DescriptorSetHandle rayCHITShaderDescriptorSet = core.createDescriptorSet(rayClosestHitShaderDescriptorSetLayout); - descriptorSetHandles.push_back(rayCHITShaderDescriptorSet); - descriptorSetLayoutHandles.push_back(rayClosestHitShaderDescriptorSetLayout); - */ - - // init RTXModule vkcv::rtx::RTXModule rtxModule(&core, &asManager, vertices, indices,descriptorSetHandles);