Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
foray_rtshadertypes.hpp
Go to the documentation of this file.
1#pragma once
2#include "../foray_basics.hpp"
3#include "../foray_vulkan.hpp"
4
5namespace foray::rtpipe {
6
8 enum class RtShaderType
9 {
11 Raygen,
13 Anyhit,
15 Miss,
17 };
18
21 {
23 Raygen,
24 Miss,
27 Hit,
28 };
29
32 {
33 public:
35 static VkShaderStageFlagBits ToStage(RtShaderType shaderType);
39 static RtShaderGroupType ToGroupType(VkShaderStageFlagBits stage);
41 static RtShaderType ToType(VkShaderStageFlagBits stage);
42 };
43
45 using GroupIndex = int32_t;
46} // namespace foray
Enum conversion methods.
Definition foray_rtshadertypes.hpp:32
static VkShaderStageFlagBits ToStage(RtShaderType shaderType)
Convert shaderType to VkShaderStageFlagBits stage. RtShaderType::Undefined causes Exception!
static RtShaderType ToType(VkShaderStageFlagBits stage)
Get shaderType for VkShaderStageFlagBits stage. Non raytracing shaderstages map to RtShaderType::Unde...
static RtShaderGroupType ToGroupType(RtShaderType shaderType)
Get correct group type for shaderType. RtShaderType::Undefined maps to RtShaderGroupType::Undefined.
static RtShaderGroupType ToGroupType(VkShaderStageFlagBits stage)
Get correct group type for VkShaderStageFlagBits stage. Non raytracing shaderstages map to RtShaderGr...
Definition foray_basesbt.hpp:9
RtShaderType
Shader types used in Raytracing.
Definition foray_rtshadertypes.hpp:9
RtShaderGroupType
ShaderGroup Types.
Definition foray_rtshadertypes.hpp:21
@ Hit
Hit group contains ClosestHit, AnyHit and Intersect Shader Types.
int32_t GroupIndex
Type used for indexing ShaderGroups in SBTs.
Definition foray_rtshadertypes.hpp:45