Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Public Attributes | Static Protected Member Functions | List of all members
castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T > Struct Template Reference

#include <GlslSurface.hpp>

Inheritance diagram for castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >:
Inheritance graph
[legend]
Collaboration diagram for castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >:
Collaboration graph
[legend]

Public Member Functions

 RasterizerSurfaceBaseT (sdw::ShaderWriter &writer, sdw::expr::ExprPtr expr, bool enabled)
 
void computeVelocity (CameraData const &cameraData, Position4T &curPos, Position4T &prvPos)
 
void computeTangentSpace (PipelineFlags const &flags, sdw::Vec3 const &cameraPosition, Position3T const &worldPos, Normal3T const &nml, Normal4T const &tan)
 
void computeTangentSpace (PipelineFlags const &flags, sdw::Vec3 const &cameraPosition, Position3T const &worldPos, sdw::Mat3 const &mtx, Normal3T const &nml, Normal4T const &tan)
 
void computeTangentSpace (PipelineFlags const &flags, sdw::Vec3 const &cameraPosition, Position3T const &worldPos, sdw::Mat3 const &mtx, Normal3T const &nml, Normal4T const &tan, Normal3T const &bin)
 
void computeTangentSpace (PipelineFlags const &flags, sdw::Vec3 const &cameraPosition, Position3T const &worldPos, Normal3T const &nml, Normal4T const &tan, Normal3T const &bin)
 
sdw::Vec2 getVelocity () const
 
- Public Member Functions inherited from castor3d::shader::SurfaceBaseT< Position3T, Position4T, Normal3T >
 SurfaceBaseT (sdw::ShaderWriter &writer, sdw::expr::ExprPtr expr, bool enabled)
 

Public Attributes

Position4T curPosition
 
Position4T prvPosition
 
Position3T tangentSpaceFragPosition
 
sdw::Vec3 tangentSpaceViewPosition
 
Normal4T tangent
 
Normal3T bitangent
 
sdw::Vec3 colour
 
sdw::Array< sdw::Vec4 > passMultipliers
 
sdw::UInt nodeId
 
sdw::UInt vertexId
 
sdw::UInt meshletId
 
- Public Attributes inherited from castor3d::shader::SurfaceBaseT< Position3T, Position4T, Normal3T >
sdw::Vec3 clipPosition
 
Position4T viewPosition
 
Position4T worldPosition
 
Normal3T normal
 

Static Protected Member Functions

static void fillIOType (sdw::type::IOStruct &type, SubmeshShaders const &submeshShaders, PassShaders const &passShaders, PipelineFlags const &flags, uint32_t &index)
 
static void fillType (sdw::type::BaseStruct &type, SubmeshShaders const &submeshShaders, PassShaders const &passShaders, PipelineFlags const &flags)
 
static void fillType (sdw::type::BaseStruct &type, SubmeshShaders const &submeshShaders)
 
- Static Protected Member Functions inherited from castor3d::shader::SurfaceBaseT< Position3T, Position4T, Normal3T >
static void fillType (sdw::type::BaseStruct &type)
 
static void fillType (sdw::type::BaseStruct &type, PipelineFlags const &flags)
 
static void fillIOType (sdw::type::IOStruct &type, PipelineFlags const &flags, uint32_t &index)
 
static void fillInit (sdw::expr::ExprList &init, sdw::Vec3 clip, Position4T view, Position4T world, Normal3T normal)
 
static void fillInit (sdw::expr::ExprList &init, PipelineFlags const &flags, sdw::Vec3 clip, Position4T view, Position4T world, Normal3T normal)
 
static Position3T makePosition3 (sdw::Vec3 const &in)
 
static Position3T makePosition3 (sdw::Vec3 const &in)
 
static Position3T makePosition3 (sdw::Float const &in)
 
static Position4T makePosition4 (sdw::Vec4 const &in)
 
static Position4T makePosition4 (sdw::Vec4 const &in)
 
static Position4T makePosition4 (sdw::Vec3 const &rgb, sdw::Float const &a)
 
static Position4T makePosition4 (DerivVec3 const &rgb, DerivFloat const &a)
 
static Position4T makePosition4 (sdw::Vec3 const &in)
 
static Position4T makePosition4 (DerivVec3 const &in)
 
static Position4T makePosition4 (sdw::Float const &in)
 
static Normal3T makeNormal (sdw::Vec3 const &in)
 
static Normal3T makeNormal (sdw::Vec3 const &in)
 
static Normal3T makeNormal (sdw::Float const &in)
 

Constructor & Destructor Documentation

◆ RasterizerSurfaceBaseT()

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::RasterizerSurfaceBaseT ( sdw::ShaderWriter & writer,
sdw::expr::ExprPtr expr,
bool enabled )

Member Function Documentation

◆ computeTangentSpace() [1/4]

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::computeTangentSpace ( PipelineFlags const & flags,
sdw::Vec3 const & cameraPosition,
Position3T const & worldPos,
Normal3T const & nml,
Normal4T const & tan )

◆ computeTangentSpace() [2/4]

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::computeTangentSpace ( PipelineFlags const & flags,
sdw::Vec3 const & cameraPosition,
Position3T const & worldPos,
Normal3T const & nml,
Normal4T const & tan,
Normal3T const & bin )

◆ computeTangentSpace() [3/4]

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::computeTangentSpace ( PipelineFlags const & flags,
sdw::Vec3 const & cameraPosition,
Position3T const & worldPos,
sdw::Mat3 const & mtx,
Normal3T const & nml,
Normal4T const & tan )

◆ computeTangentSpace() [4/4]

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::computeTangentSpace ( PipelineFlags const & flags,
sdw::Vec3 const & cameraPosition,
Position3T const & worldPos,
sdw::Mat3 const & mtx,
Normal3T const & nml,
Normal4T const & tan,
Normal3T const & bin )

◆ computeVelocity()

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::computeVelocity ( CameraData const & cameraData,
Position4T & curPos,
Position4T & prvPos )

◆ fillIOType()

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
static void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::fillIOType ( sdw::type::IOStruct & type,
SubmeshShaders const & submeshShaders,
PassShaders const & passShaders,
PipelineFlags const & flags,
uint32_t & index )
staticprotected

◆ fillType() [1/2]

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
static void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::fillType ( sdw::type::BaseStruct & type,
SubmeshShaders const & submeshShaders )
staticprotected

◆ fillType() [2/2]

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
static void castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::fillType ( sdw::type::BaseStruct & type,
SubmeshShaders const & submeshShaders,
PassShaders const & passShaders,
PipelineFlags const & flags )
staticprotected

◆ getVelocity()

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
sdw::Vec2 castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::getVelocity ( ) const

Member Data Documentation

◆ bitangent

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
Normal3T castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::bitangent

◆ colour

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
sdw::Vec3 castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::colour

◆ curPosition

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
Position4T castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::curPosition

◆ meshletId

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
sdw::UInt castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::meshletId

◆ nodeId

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
sdw::UInt castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::nodeId

◆ passMultipliers

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
sdw::Array< sdw::Vec4 > castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::passMultipliers

◆ prvPosition

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
Position4T castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::prvPosition

◆ tangent

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
Normal4T castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::tangent

◆ tangentSpaceFragPosition

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
Position3T castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::tangentSpaceFragPosition

◆ tangentSpaceViewPosition

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
sdw::Vec3 castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::tangentSpaceViewPosition

◆ vertexId

template<typename Position3T , typename Position4T , typename Normal3T , typename Normal4T >
sdw::UInt castor3d::shader::RasterizerSurfaceBaseT< Position3T, Position4T, Normal3T, Normal4T >::vertexId

The documentation for this struct was generated from the following file: