Wraps shader code driver handle (VkShaderModule). See ShaderManager for compiling shaders dynamically...
Definition foray_shadermodule.hpp:11
Shader binding table implementation for storing hit groups (Consist of optional closesthit,...
Definition foray_hitsbt.hpp:10
virtual void WriteToShaderCollection(RtShaderCollection &collection) const override
For any shader group defined, register it with the collection.
void SetGroup(GroupIndex groupIndex, core::ShaderModule *closestHit, core::ShaderModule *anyHit, core::ShaderModule *intersect)
Set shader group with shader.
virtual void Destroy() override
virtual VectorRange WriteToShaderGroupCiVector(std::vector< VkRayTracingShaderGroupCreateInfoKHR > &groupCis, const RtShaderCollection &shaderCollection) const override
Write the shader groups to groupCis vector.
std::vector< ShaderGroup > mGroups
Definition foray_hitsbt.hpp:36
void SetGroup(GroupIndex groupIndex, core::ShaderModule *closestHit, core::ShaderModule *anyHit, core::ShaderModule *intersect, const void *data)
Set shader group with shader and custom data.
virtual size_t GetGroupArrayCount() const override
Definition foray_hitsbt.hpp:38
HitShaderBindingTable(VkDeviceSize entryDataSize=0)
Definition foray_hitsbt.hpp:19
Helper class to manage unique Rt ShaderModules.
Definition foray_rtshadercollection.hpp:11
Shader Binding Table base class, providing functions to manage custom generic shader group data and S...
Definition foray_basesbt.hpp:35
#define FORAY_GETTER_CR(member)
Return constant reference.
Definition foray_basics.hpp:60
Definition foray_basesbt.hpp:9
int32_t GroupIndex
Type used for indexing ShaderGroups in SBTs.
Definition foray_rtshadertypes.hpp:45
Definition foray_env.hpp:92
Definition foray_hitsbt.hpp:13
core::ShaderModule * AnyHitModule
Definition foray_hitsbt.hpp:15
core::ShaderModule * IntersectModule
Definition foray_hitsbt.hpp:16
core::ShaderModule * ClosestHitModule
Definition foray_hitsbt.hpp:14
Definition foray_basesbt.hpp:40