Traversal
The Traversal class manages the configuration of a ray tracing pipeline, providing control over shaders, resource bindings, and pipeline states. It allows users to configure and retrieve various ray tracing pipeline parameters, including samplers, textures, and buffer bindings. The class supports shader creation, loading, and compilation in multiple formats, such as native, GLSL, and SPIRV, offering fine-grained control over ray tracing pipeline states.
#include <platform/TellusimTraversal.h>
Constructors
Traversal()
Methods
Traversal platform.
Platform getPlatform() const
const char *getPlatformName() const
Traversal device index.
uint32_t getIndex() const
Clear traversal.
void clear()
Check traversal.
bool isCreated() const
Traversal name.
void setName(const char *name)
String getName() const
Create traversal.
bool create()
Traversal parameters.
void setParameters(const Traversal &traversal)
bool saveState(Stream &stream) const
Shader pointers.
void addShader(Shader &shader, bool owner = false)
Shader getRayGenShader() const
Load shaders.
bool loadShader(Type type, const char *name, const char *format)
bool loadShaderGLSL(Type type, const char *name, const char *format)
bool loadShader(Type type, const char *name, const String ¯os = String::null, const char **includes = nullptr, uint32_t size = 0)
bool loadShaderGLSL(Type type, const char *name, const String ¯os = String::null, const char **includes = nullptr, uint32_t size = 0)
bool loadShaderSPIRV(Type type, const char *name)
Create shaders.
bool createShader(Type type, const char *src, const char *format)
bool createShaderGLSL(Type type, const char *src, const char *format)
bool createShader(Type type, const char *src, const String ¯os = String::null, const char **includes = nullptr, uint32_t size = 0)
bool createShaderGLSL(Type type, const char *src, const String ¯os = String::null, const char **includes = nullptr, uint32_t size = 0)
bool createShaderSPIRV(Type type, Array<uint32_t> data)
Sampler parameters.
uint32_t addSampler(Mask mask)
uint32_t getNumSamplers() const
Traversal setSamplerOffset(uint32_t offset)
uint32_t getSamplerOffset() const
Traversal setSamplerMask(uint32_t index, Mask mask)
Mask getSamplerMask(uint32_t index) const
Traversal setSamplerMasks(uint32_t index, uint32_t num, Mask mask, bool array = false)
Mask getSamplerMasks(uint32_t index, uint32_t num) const
Traversal setSamplerArray(uint32_t index, uint32_t num, bool array)
uint32_t getSamplerArray(uint32_t index) const
Texture parameters.
uint32_t addTexture(Mask mask)
uint32_t getNumTextures() const
Traversal setTextureOffset(uint32_t offset)
uint32_t getTextureOffset() const
Traversal setTextureMask(uint32_t index, Mask mask)
Mask getTextureMask(uint32_t index) const
Traversal setTextureMasks(uint32_t index, uint32_t num, Mask mask, bool array = false)
Mask getTextureMasks(uint32_t index, uint32_t num) const
Traversal setTextureArray(uint32_t index, uint32_t num, bool array)
uint32_t getTextureArray(uint32_t index) const
Surface parameters.
uint32_t addSurface(Mask mask)
uint32_t getNumSurfaces() const
Traversal setSurfaceOffset(uint32_t offset)
uint32_t getSurfaceOffset() const
Traversal setSurfaceMask(uint32_t index, Mask mask)
Mask getSurfaceMask(uint32_t index) const
Traversal setSurfaceMasks(uint32_t index, uint32_t num, Mask mask, bool array = false)
Mask getSurfaceMasks(uint32_t index, uint32_t num) const
Traversal setSurfaceArray(uint32_t index, uint32_t num, bool array)
uint32_t getSurfaceArray(uint32_t index) const
Uniform parameters.
uint32_t addUniform(Mask mask, BindFlags flags = BindFlagNone)
uint32_t getNumUniforms() const
Traversal setUniformOffset(uint32_t offset)
uint32_t getUniformOffset() const
Traversal setUniformMask(uint32_t index, Mask mask, BindFlags flags = BindFlagNone)
Mask getUniformMask(uint32_t index) const
Traversal setUniformMasks(uint32_t index, uint32_t num, Mask mask, BindFlags flags = BindFlagNone)
Mask getUniformMasks(uint32_t index, uint32_t num) const
Traversal setUniformFlags(uint32_t index, BindFlags flags)
BindFlags getUniformFlags(uint32_t index) const
Storage parameters.
uint32_t addStorage(Mask mask, BindFlags flags = BindFlagNone)
uint32_t getNumStorages() const
Traversal setStorageOffset(uint32_t offset)
uint32_t getStorageOffset() const
Traversal setStorageMask(uint32_t index, Mask mask, BindFlags flags = BindFlagNone)
Mask getStorageMask(uint32_t index) const
Traversal setStorageMasks(uint32_t index, uint32_t num, Mask mask, BindFlags flags = BindFlagNone)
Mask getStorageMasks(uint32_t index, uint32_t num) const
Traversal setStorageFlags(uint32_t index, BindFlags flags)
BindFlags getStorageFlags(uint32_t index) const
Tracing parameters.
uint32_t addTracing(Mask mask)
uint32_t getNumTracings() const
Traversal setTracingOffset(uint32_t offset)
uint32_t getTracingOffset() const
Traversal setTracingMask(uint32_t index, Mask mask)
Mask getTracingMask(uint32_t index) const
Traversal setTracingMasks(uint32_t index, uint32_t num, Mask mask)
Mask getTracingMasks(uint32_t index, uint32_t num) const
Texel parameters.
uint32_t addTexel(Mask mask)
uint32_t getNumTexels() const
Traversal setTexelOffset(uint32_t offset)
uint32_t getTexelOffset() const
Traversal setTexelMask(uint32_t index, Mask mask)
Mask getTexelMask(uint32_t index) const
Traversal setTexelMasks(uint32_t index, uint32_t num, Mask mask)
Mask getTexelMasks(uint32_t index, uint32_t num) const
Table parameters.
uint32_t addTable(TableType type, uint32_t size, Mask mask, BindFlags flags = BindFlagNone)
uint32_t getNumTables() const
Traversal setTableOffset(uint32_t offset)
uint32_t getTableOffset() const
Traversal setTableType(uint32_t index, TableType type, uint32_t size, Mask mask, BindFlags flags = BindFlagNone)
TableType getTableType(uint32_t index) const
uint32_t getTableSize(uint32_t index) const
Traversal setTableMask(uint32_t index, Mask mask, BindFlags flags = BindFlagNone)
Mask getTableMask(uint32_t index) const
Traversal setTableFlags(uint32_t index, BindFlags flags)
BindFlags getTableFlags(uint32_t index) const
Recursion depth.
void setRecursionDepth(uint32_t depth)
uint32_t getRecursionDepth() const