2#include "../core/foray_shadermodule.hpp"
4#include <unordered_map>
33 std::unordered_map<core::ShaderModule*, Entry>
mEntries;
Wraps shader code driver handle (VkShaderModule). See ShaderManager for compiling shaders dynamically...
Definition foray_shadermodule.hpp:11
Helper class to manage unique Rt ShaderModules.
Definition foray_rtshadercollection.hpp:11
std::vector< VkPipelineShaderStageCreateInfo > mShaderStageCis
Definition foray_rtshadercollection.hpp:34
uint32_t IndexOf(core::ShaderModule *module) const
Get index of a module in the ShaderStageCi vector.
void Add(core::ShaderModule *module, RtShaderType type, const char *entryPointName="main")
Add a shadermodule. If a new module, also adds an entry to the ShaderStageCi vector.
std::unordered_map< core::ShaderModule *, Entry > mEntries
Definition foray_rtshadercollection.hpp:33
#define FORAY_GETTER_R(member)
Shorthand for mutable & constant reference getters.
Definition foray_basics.hpp:75
Definition foray_basesbt.hpp:9
RtShaderType
Shader types used in Raytracing.
Definition foray_rtshadertypes.hpp:9
Definition foray_rtshadercollection.hpp:26
core::ShaderModule * Module
Definition foray_rtshadercollection.hpp:27
uint32_t StageCiIndex
Definition foray_rtshadercollection.hpp:30
RtShaderType Type
Definition foray_rtshadercollection.hpp:28
const char * EntryPointName
Definition foray_rtshadercollection.hpp:29