Castor3D 0.17.0
Multiplatform 3D engine
Classes | Namespaces
SdwModule.hpp File Reference

Classes

struct  castor3d::shader::ShadowOptions
 
struct  castor3d::shader::BrdfDescT< BrdfCreatorT >
 
struct  castor3d::shader::LightingModelSpec
 
struct  castor3d::shader::LightingModelDesc
 
struct  castor3d::shader::LightingModelNames
 
struct  castor3d::shader::BufferData
 

Namespaces

namespace  castor3d
 
namespace  castor3d::shader
 

Shader

using castor3d::shader::DerivFloat = DerivativeValueT< sdw::Float, "C3D_DerivFloat" >
 
using castor3d::shader::DerivVec2 = DerivativeValueT< sdw::Vec2, "C3D_DerivVec2" >
 
using castor3d::shader::DerivTex = DerivVec2
 
using castor3d::shader::Surface = SurfaceT< sdw::Vec3, sdw::Vec4, sdw::Vec3 >
 
using castor3d::shader::DerivSurface = SurfaceT< DerivVec3, DerivVec4, DerivVec3 >
 
using castor3d::shader::RasterizerSurfaceBase = RasterizerSurfaceBaseT< sdw::Vec3, sdw::Vec4, sdw::Vec3, sdw::Vec4 >
 
using castor3d::shader::DerivRasterizerSurfaceBase = RasterizerSurfaceBaseT< DerivVec3, DerivVec4, DerivVec3, DerivVec4 >
 
template<ast::var::Flag FlagT>
using castor3d::shader::FragmentSurfaceT = RasterizerSurfaceT< sdw::Vec3, sdw::Vec4, sdw::Vec3, sdw::Vec4, sdw::Vec3, FlagT >
 
using castor3d::shader::RasterizerSurface = RasterizerSurfaceT< sdw::Vec3, sdw::Vec4, sdw::Vec3, sdw::Vec4, sdw::Vec3, ast::var::Flag::eNone >
 
using castor3d::shader::DerivFragmentSurface = RasterizerSurfaceT< sdw::Vec3, sdw::Vec4, sdw::Vec3, sdw::Vec4, DerivTex, ast::var::Flag::eNone >
 
using castor3d::shader::AllDerivFragmentSurface = RasterizerSurfaceT< DerivVec3, DerivVec4, DerivVec3, DerivVec4, DerivTex, ast::var::Flag::eNone >
 
template<typename TexcoordT >
using castor3d::shader::RasterSurfaceT = RasterizerSurfaceT< sdw::Vec3, sdw::Vec4, sdw::Vec3, sdw::Vec4, TexcoordT, ast::var::Flag::eNone >
 
using castor3d::shader::MeshVertex = MeshVertexT< sdw::var::Flag::eNone >
 
using castor3d::shader::VoxelSurface = VoxelSurfaceT< sdw::var::Flag::eNone >
 
using castor3d::shader::OverlaySurface = OverlaySurfaceT< sdw::var::Flag::eNone >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::Colour3FT = ColourT< sdw::Vec3, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::Colour4FT = ColourT< sdw::Vec4, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::Position2FT = PositionT< sdw::Vec2, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::Position3FT = PositionT< sdw::Vec3, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::Position4FT = PositionT< sdw::Vec4, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::PosUv2FT = PosUvT< sdw::Vec2, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::PosUv3FT = PosUvT< sdw::Vec3, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::PosUv4FT = PosUvT< sdw::Vec4, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::Uv2FT = UvT< sdw::Vec2, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::Uv3FT = UvT< sdw::Vec3, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::TwoUv2FT = TwoUvT< sdw::Vec2, FlagT >
 
template<sdw::var::Flag FlagT>
using castor3d::shader::TwoUv3FT = TwoUvT< sdw::Vec3, FlagT >
 
template<typename BrdfCreatorT >
using castor3d::shader::BrdfArrayT = castor::Vector< BrdfDescT< BrdfCreatorT > >
 
using castor3d::shader::BackgroundModelPtr = castor::RawUniquePtr< BackgroundModel >
 
using castor3d::shader::ReflectionModelPtr = castor::RawUniquePtr< ReflectionModel >
 
using castor3d::shader::LightingModelPtr = castor::UniquePtr < LightingModel >
 
using castor3d::shader::ClearcoatBRDFPtr = castor::UniquePtr< ClearcoatBRDF >
 
using castor3d::shader::DiffuseBRDFPtr = castor::UniquePtr < DiffuseBRDF >
 
using castor3d::shader::SheenBRDFPtr = castor::UniquePtr < SheenBRDF >
 
using castor3d::shader::SpecularBRDFPtr = castor::UniquePtr < SpecularBRDF >
 
using castor3d::shader::ScatteringModelPtr = castor::UniquePtr < ScatteringModel >
 
using castor3d::shader::DiffuseBrdfCreator = castor::Function< DiffuseBRDFPtr( sdw::ShaderWriter &, BRDFHelpers & ) >
 
using castor3d::shader::SpecularBrdfCreator = castor::Function< SpecularBRDFPtr( sdw::ShaderWriter &, BRDFHelpers & ) >
 
using castor3d::shader::SheenBrdfCreator = castor::Function< SheenBRDFPtr( sdw::ShaderWriter &, BRDFHelpers & ) >
 
using castor3d::shader::ClearcoatBrdfCreator = castor::Function< ClearcoatBRDFPtr( sdw::ShaderWriter &, BRDFHelpers & ) >
 
using castor3d::shader::ScatteringModelCreator = castor::Function< ScatteringModelPtr( sdw::ShaderWriter & ) >
 
using castor3d::shader::DiffuseBrdfDesc = BrdfDescT< DiffuseBrdfCreator >
 
using castor3d::shader::SpecularBrdfDesc = BrdfDescT< SpecularBrdfCreator >
 
using castor3d::shader::SheenBrdfDesc = BrdfDescT< SheenBrdfCreator >
 
using castor3d::shader::ClearcoatBrdfDesc = BrdfDescT< ClearcoatBrdfCreator >
 
using castor3d::shader::ScatteringModelDesc = BrdfDescT< ScatteringModelCreator >
 
using castor3d::shader::DiffuseBrdfArray = BrdfArrayT< DiffuseBrdfCreator >
 
using castor3d::shader::SpecularBrdfArray = BrdfArrayT< SpecularBrdfCreator >
 
using castor3d::shader::SheenBrdfArray = BrdfArrayT< SheenBrdfCreator >
 
using castor3d::shader::ClearcoatBrdfArray = BrdfArrayT< ClearcoatBrdfCreator >
 
using castor3d::shader::ScatteringModelArray = BrdfArrayT< ScatteringModelCreator >
 
using castor3d::shader::LightingModelCreator
 
using castor3d::shader::BackgroundModelCreator
 
using castor3d::shader::BackgroundModelFactory
 
C3D_API uint32_t castor3d::shader::getSpotShadowMapCount ()
 
C3D_API uint32_t castor3d::shader::getPointShadowMapCount ()
 
C3D_API void castor3d::shader::groupMemoryBarrierWithGroupSync (sdw::ShaderWriter &writer)
 
C3D_API castor::String castor3d::shader::concatModelNames (castor::String lhs, castor::String rhs)
 
template<typename ... ExprT>
sdw::expr::ExprList castor3d::shader::makeExprList (ExprT &&... expr)