Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::shader::ModelData Struct Reference

#include <ModelDataUbo.hpp>

Inheritance diagram for castor3d::shader::ModelData:
Inheritance graph
[legend]
Collaboration diagram for castor3d::shader::ModelData:
Collaboration graph
[legend]

Public Member Functions

 ModelData (sdw::ShaderWriter &writer, ast::expr::ExprPtr expr, bool enabled)
 
C3D_API sdw::Mat4 getPrvModelMtx (PipelineFlags const &flags, sdw::Mat4 const &curModelMatrix) const
 
C3D_API sdw::Mat3 getNormalMtx (bool hasSkin, sdw::Mat4 const &curModelMatrix) const
 
C3D_API sdw::Mat3 getNormalMtx (PipelineFlags const &flags, sdw::Mat4 const &curModelMatrix) const
 
C3D_API sdw::Vec4 worldToModel (sdw::Vec4 const &pos) const
 
C3D_API DerivVec4 worldToModel (DerivVec4 const &pos) const
 
C3D_API sdw::Vec4 modelToWorld (sdw::Vec4 const &pos) const
 
C3D_API sdw::Vec4 modelToCurWorld (sdw::Vec4 const &pos) const
 
C3D_API sdw::Vec4 modelToPrvWorld (sdw::Vec4 const &pos) const
 
C3D_API sdw::Mat4 getCurModelMtx (PipelineFlags const &flags, sdw::Mat4 const &transform) const
 
C3D_API sdw::Mat4 getCurModelMtx (SkinningData const &skinning, sdw::UInt const &skinningId, sdw::UVec4 const &boneIds0, sdw::UVec4 const &boneIds1, sdw::Vec4 const &boneWeights0, sdw::Vec4 const &boneWeights1) const
 
sdw::UInt getMaterialId () const
 
sdw::UInt isShadowReceiver () const
 
sdw::UInt getEnvMapIndex () const
 
sdw::Mat4 getModelMtx () const
 
sdw::Vec3 getScale () const
 
sdw::UInt getMeshletCount () const
 
sdw::UInt getVertexOffset () const
 
sdw::UInt getIndexOffset () const
 

Constructor & Destructor Documentation

◆ ModelData()

castor3d::shader::ModelData::ModelData ( sdw::ShaderWriter & writer,
ast::expr::ExprPtr expr,
bool enabled )
inline

Member Function Documentation

◆ getCurModelMtx() [1/2]

C3D_API sdw::Mat4 castor3d::shader::ModelData::getCurModelMtx ( PipelineFlags const & flags,
sdw::Mat4 const & transform ) const

◆ getCurModelMtx() [2/2]

C3D_API sdw::Mat4 castor3d::shader::ModelData::getCurModelMtx ( SkinningData const & skinning,
sdw::UInt const & skinningId,
sdw::UVec4 const & boneIds0,
sdw::UVec4 const & boneIds1,
sdw::Vec4 const & boneWeights0,
sdw::Vec4 const & boneWeights1 ) const

◆ getEnvMapIndex()

sdw::UInt castor3d::shader::ModelData::getEnvMapIndex ( ) const
inline

◆ getIndexOffset()

sdw::UInt castor3d::shader::ModelData::getIndexOffset ( ) const
inline

◆ getMaterialId()

sdw::UInt castor3d::shader::ModelData::getMaterialId ( ) const
inline

◆ getMeshletCount()

sdw::UInt castor3d::shader::ModelData::getMeshletCount ( ) const
inline

◆ getModelMtx()

sdw::Mat4 castor3d::shader::ModelData::getModelMtx ( ) const
inline

◆ getNormalMtx() [1/2]

C3D_API sdw::Mat3 castor3d::shader::ModelData::getNormalMtx ( bool hasSkin,
sdw::Mat4 const & curModelMatrix ) const

◆ getNormalMtx() [2/2]

C3D_API sdw::Mat3 castor3d::shader::ModelData::getNormalMtx ( PipelineFlags const & flags,
sdw::Mat4 const & curModelMatrix ) const

◆ getPrvModelMtx()

C3D_API sdw::Mat4 castor3d::shader::ModelData::getPrvModelMtx ( PipelineFlags const & flags,
sdw::Mat4 const & curModelMatrix ) const

◆ getScale()

sdw::Vec3 castor3d::shader::ModelData::getScale ( ) const
inline

◆ getVertexOffset()

sdw::UInt castor3d::shader::ModelData::getVertexOffset ( ) const
inline

◆ isShadowReceiver()

sdw::UInt castor3d::shader::ModelData::isShadowReceiver ( ) const
inline

◆ modelToCurWorld()

C3D_API sdw::Vec4 castor3d::shader::ModelData::modelToCurWorld ( sdw::Vec4 const & pos) const

◆ modelToPrvWorld()

C3D_API sdw::Vec4 castor3d::shader::ModelData::modelToPrvWorld ( sdw::Vec4 const & pos) const

◆ modelToWorld()

C3D_API sdw::Vec4 castor3d::shader::ModelData::modelToWorld ( sdw::Vec4 const & pos) const

◆ worldToModel() [1/2]

C3D_API DerivVec4 castor3d::shader::ModelData::worldToModel ( DerivVec4 const & pos) const

◆ worldToModel() [2/2]

C3D_API sdw::Vec4 castor3d::shader::ModelData::worldToModel ( sdw::Vec4 const & pos) const

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