Castor3D 0.15.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres publiques statiques | Attributs publics | Amis | Liste de tous les membres
Référence de la structure castor3d::shader::Material

#include <GlslMaterial.hpp>

Graphe d'héritage de castor3d::shader::Material:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::shader::Material:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API Material (sdw::ShaderWriter &writer, ast::expr::ExprPtr expr, bool enabled)
 
 SDW_DeclStructInstance (C3D_API, Material)
 
C3D_API void applyAlphaFunc (VkCompareOp alphaFunc, sdw::Float &opacity, sdw::Float const &passMultiplier, bool opaque=true) const
 Ecrit la fonction d'opacité en GLSL.
 
C3D_API void applyAlphaFunc (VkCompareOp alphaFunc, sdw::Float &opacity, sdw::Float const &alphaRef, sdw::Float const &passMultiplier, bool opaque=true) const
 Ecrit la fonction d'opacité en GLSL.
 
C3D_API void getPassMultipliers (PipelineFlags const &flags, sdw::UVec4 const &passMasks, sdw::Array< sdw::Vec4 > &passMultipliers) const
 
C3D_API sdw::UInt getTexture (uint32_t index) const
 
C3D_API sdw::UInt getTexture (sdw::UInt const &index) const
 

Fonctions membres publiques statiques

static C3D_API ast::type::BaseStructPtr makeType (ast::type::TypesCache &cache, PassShaders &passShaders, sdw::expr::ExprList &inits)
 
static ast::type::BaseStructPtr makeType (ast::type::TypesCache &cache, PassShaders &passShaders)
 
static C3D_API void applyAlphaFunc (sdw::ShaderWriter &writer, VkCompareOp alphaFunc, sdw::Float &opacity, sdw::Float const &alphaRef, sdw::Float const &passMultiplier, bool opaque=true)
 Ecrit la fonction d'opacité en GLSL.
 

Attributs publics

sdw::UInt passId
 
sdw::UInt index
 
sdw::UInt passCount
 
sdw::UInt lighting
 
sdw::UInt lightingModel
 
sdw::Array< sdw::UInt32 > textures
 
sdw::UInt texturesCount
 
sdw::Vec3 colour
 
sdw::Vec3 specular
 
sdw::Float transmission
 
sdw::UInt hasTransmission
 
sdw::Float opacity
 
sdw::Float alphaRef
 
sdw::UInt hasReflection
 
sdw::Float refractionRatio
 
sdw::Vec3 attenuationColour
 
sdw::Float attenuationDistance
 
sdw::Float thicknessFactor
 

Amis

class Materials
 

Documentation des constructeurs et destructeur

◆ Material()

C3D_API castor3d::shader::Material::Material ( sdw::ShaderWriter &  writer,
ast::expr::ExprPtr  expr,
bool  enabled 
)

Documentation des fonctions membres

◆ applyAlphaFunc() [1/3]

static C3D_API void castor3d::shader::Material::applyAlphaFunc ( sdw::ShaderWriter &  writer,
VkCompareOp  alphaFunc,
sdw::Float &  opacity,
sdw::Float const &  alphaRef,
sdw::Float const &  passMultiplier,
bool  opaque = true 
)
static

Ecrit la fonction d'opacité en GLSL.

Paramètres
writerLe writer.
alphaFuncLa fonction d'opacité.
[in]opacityLa valeur d'opacité.
[in]alphaRefLa valeur de référence pour la comparaison alpha.
[in]passMultiplierLe facteur de multiplication de la passe.
[in]opaquetrue pour les noeuds opaques, false pour les transparents.

◆ applyAlphaFunc() [2/3]

C3D_API void castor3d::shader::Material::applyAlphaFunc ( VkCompareOp  alphaFunc,
sdw::Float &  opacity,
sdw::Float const &  alphaRef,
sdw::Float const &  passMultiplier,
bool  opaque = true 
) const

Ecrit la fonction d'opacité en GLSL.

Paramètres
alphaFuncLa fonction d'opacité.
[in]opacityLa valeur d'opacité.
[in]alphaRefLa valeur de référence pour la comparaison alpha.
[in]passMultiplierLe facteur de multiplication de la passe.
[in]opaquetrue pour les noeuds opaques, false pour les transparents.

◆ applyAlphaFunc() [3/3]

C3D_API void castor3d::shader::Material::applyAlphaFunc ( VkCompareOp  alphaFunc,
sdw::Float &  opacity,
sdw::Float const &  passMultiplier,
bool  opaque = true 
) const

Ecrit la fonction d'opacité en GLSL.

Paramètres
alphaFuncLa fonction d'opacité.
[in]opacityLa valeur d'opacité.
[in]passMultiplierLe facteur de multiplication de la passe.
[in]opaquetrue pour les noeuds opaques, false pour les transparents.

◆ getPassMultipliers()

C3D_API void castor3d::shader::Material::getPassMultipliers ( PipelineFlags const &  flags,
sdw::UVec4 const &  passMasks,
sdw::Array< sdw::Vec4 > &  passMultipliers 
) const

◆ getTexture() [1/2]

C3D_API sdw::UInt castor3d::shader::Material::getTexture ( sdw::UInt const &  index) const

◆ getTexture() [2/2]

C3D_API sdw::UInt castor3d::shader::Material::getTexture ( uint32_t  index) const

◆ makeType() [1/2]

static ast::type::BaseStructPtr castor3d::shader::Material::makeType ( ast::type::TypesCache &  cache,
PassShaders passShaders 
)
inlinestatic

Références makeType().

Voici le graphe d'appel pour cette fonction :

◆ makeType() [2/2]

static C3D_API ast::type::BaseStructPtr castor3d::shader::Material::makeType ( ast::type::TypesCache &  cache,
PassShaders passShaders,
sdw::expr::ExprList &  inits 
)
static

Référencé par makeType().

Voici le graphe des appelants de cette fonction :

◆ SDW_DeclStructInstance()

castor3d::shader::Material::SDW_DeclStructInstance ( C3D_API  ,
Material   
)

Documentation des fonctions amies et associées

◆ Materials

friend class Materials
friend

Documentation des données membres

◆ alphaRef

sdw::Float castor3d::shader::Material::alphaRef

◆ attenuationColour

sdw::Vec3 castor3d::shader::Material::attenuationColour

◆ attenuationDistance

sdw::Float castor3d::shader::Material::attenuationDistance

◆ colour

sdw::Vec3 castor3d::shader::Material::colour

◆ hasReflection

sdw::UInt castor3d::shader::Material::hasReflection

◆ hasTransmission

sdw::UInt castor3d::shader::Material::hasTransmission

◆ index

sdw::UInt castor3d::shader::Material::index

◆ lighting

sdw::UInt castor3d::shader::Material::lighting

◆ lightingModel

sdw::UInt castor3d::shader::Material::lightingModel

◆ opacity

sdw::Float castor3d::shader::Material::opacity

◆ passCount

sdw::UInt castor3d::shader::Material::passCount

◆ passId

sdw::UInt castor3d::shader::Material::passId

◆ refractionRatio

sdw::Float castor3d::shader::Material::refractionRatio

◆ specular

sdw::Vec3 castor3d::shader::Material::specular

◆ textures

sdw::Array< sdw::UInt32 > castor3d::shader::Material::textures

◆ texturesCount

sdw::UInt castor3d::shader::Material::texturesCount

◆ thicknessFactor

sdw::Float castor3d::shader::Material::thicknessFactor

◆ transmission

sdw::Float castor3d::shader::Material::transmission

La documentation de cette structure a été générée à partir du fichier suivant :