Castor3D  0.11.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics | Fonctions membres protégées | Liste de tous les membres
Référence de la classe castor3d::Passabstract
Graphe d'héritage de castor3d::Pass:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::Pass:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API void initialise (RenderDevice const &device)
 Initialise la passe et toutes ses dépendances. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie la passe et toutes ses dépendances. Plus de détails...
 
C3D_API void addTextureUnit (TextureUnitSPtr unit)
 Ajoute une unité de texture. Plus de détails...
 
C3D_API void removeTextureUnit (uint32_t index)
 Retire la TextureUnit à l'index donné. Plus de détails...
 
C3D_API TextureUnitSPtr getTextureUnit (uint32_t index) const
 Récupère la TextureUnit à l'index donné. Plus de détails...
 
C3D_API bool hasAlphaBlending () const
 Dit si la passe a besoin de mélange d'alpha. Plus de détails...
 
C3D_API bool hasAlphaTest () const
 Dit si la passe a besoin de test d'alpha. Plus de détails...
 
C3D_API void prepareTextures ()
 Réduit les textures. Plus de détails...
 
C3D_API MaterialType getType () const
 
C3D_API void setOpacity (float value)
 Définit la valeur alpha globale. Plus de détails...
 
C3D_API PassFlags getPassFlags () const
 
C3D_API void setSubsurfaceScattering (SubsurfaceScatteringUPtr value)
 Définit les informations étendues pour le subsurface scattering. Plus de détails...
 
virtual C3D_API uint32_t getPassSize () const =0
 
virtual C3D_API void accept (PassBuffer &buffer) const =0
 Remplit le pass buffer aves les données de cette passe. Plus de détails...
 
C3D_API bool needsGammaCorrection () const
 
C3D_API TextureUnitPtrArray getTextureUnits (TextureFlags mask=TextureFlag::eAll) const
 
C3D_API uint32_t getTextureUnitsCount (TextureFlags mask=TextureFlag::eAll) const
 
C3D_API TextureFlagsArray getTextures (TextureFlags mask) const
 
TextureFlags const & getTextures () const
 
bool hasAutomaticShader () const
 
bool isTwoSided () const
 
bool hasEnvironmentMapping () const
 
float getOpacity () const
 
uint32_t getBWAccumulationOperator () const
 
float getEmissive () const
 
float getRefractionRatio () const
 
BlendMode getAlphaBlendMode () const
 
BlendMode getColourBlendMode () const
 
uint32_t getId () const
 
VkCompareOp getAlphaFunc () const
 
float getAlphaValue () const
 
castor::Point3f getTransmission () const
 
bool hasSubsurfaceScattering () const
 
ParallaxOcclusionMode getParallaxOcclusion () const
 
bool hasParallaxOcclusion () const
 
SubsurfaceScattering const & getSubsurfaceScattering () const
 
bool isImplicit () const
 
bool hasReflections () const
 
bool hasRefraction () const
 
uint32_t getHeightTextureIndex () const
 
auto begin () const
 
auto begin ()
 
auto end () const
 
auto end ()
 
void setTwoSided (bool value)
 
void setEmissive (float const &value)
 
void setRefractionRatio (float value)
 
void setTransmission (castor::Point3f value)
 
void setParallaxOcclusion (ParallaxOcclusionMode value)
 
void setAlphaBlendMode (BlendMode value)
 
void setColourBlendMode (BlendMode value)
 
void setId (uint32_t value)
 
void setAlphaFunc (VkCompareOp value)
 
void setAlphaValue (float value)
 
void setBWAccumulationOperator (uint32_t value)
 
void enableReflections (bool value=true)
 
void enableRefractions (bool value=true)
 
void setImplicit (bool value=true)
 

Attributs publics

OnPassChanged onChanged
 

Fonctions membres protégées

C3D_API Pass (Material &parent)
 Constructeur. Plus de détails...
 
C3D_API ~Pass ()
 Destructeur. Plus de détails...
 

Documentation des constructeurs et destructeur

◆ Pass()

C3D_API castor3d::Pass::Pass ( Material parent)
explicitprotected

Constructeur.

Paramètres
[in]parentLe matériau parent.

◆ ~Pass()

C3D_API castor3d::Pass::~Pass ( )
protected

Destructeur.

Documentation des fonctions membres

◆ accept()

virtual C3D_API void castor3d::Pass::accept ( PassBuffer buffer) const
pure virtual

Remplit le pass buffer aves les données de cette passe.

Paramètres
[in,out]bufferLe pass buffer.

Implémenté dans castor3d::MetallicRoughnessPbrPass, castor3d::PhongPass, et castor3d::SpecularGlossinessPbrPass.

◆ addTextureUnit()

C3D_API void castor3d::Pass::addTextureUnit ( TextureUnitSPtr  unit)

Ajoute une unité de texture.

Paramètres
[in]unitL'unité de texture.

◆ begin() [1/2]

auto castor3d::Pass::begin ( ) const
inline

name Itération sur les textures.

◆ begin() [2/2]

auto castor3d::Pass::begin ( )
inline

◆ cleanup()

C3D_API void castor3d::Pass::cleanup ( )

Nettoie la passe et toutes ses dépendances.

◆ enableReflections()

void castor3d::Pass::enableReflections ( bool  value = true)
inline

Références castor3d::eReflection.

◆ enableRefractions()

void castor3d::Pass::enableRefractions ( bool  value = true)
inline

Références castor3d::eRefraction.

◆ end() [1/2]

auto castor3d::Pass::end ( ) const
inline

◆ end() [2/2]

auto castor3d::Pass::end ( )
inline

◆ getAlphaBlendMode()

BlendMode castor3d::Pass::getAlphaBlendMode ( ) const
inline

◆ getAlphaFunc()

VkCompareOp castor3d::Pass::getAlphaFunc ( ) const
inline

◆ getAlphaValue()

float castor3d::Pass::getAlphaValue ( ) const
inline

◆ getBWAccumulationOperator()

uint32_t castor3d::Pass::getBWAccumulationOperator ( ) const
inline

◆ getColourBlendMode()

BlendMode castor3d::Pass::getColourBlendMode ( ) const
inline

◆ getEmissive()

float castor3d::Pass::getEmissive ( ) const
inline

◆ getHeightTextureIndex()

uint32_t castor3d::Pass::getHeightTextureIndex ( ) const
inline

◆ getId()

uint32_t castor3d::Pass::getId ( ) const
inline

◆ getOpacity()

float castor3d::Pass::getOpacity ( ) const
inline

◆ getParallaxOcclusion()

ParallaxOcclusionMode castor3d::Pass::getParallaxOcclusion ( ) const
inline

◆ getPassFlags()

C3D_API PassFlags castor3d::Pass::getPassFlags ( ) const
Renvoie
La combinaison d'indicateurs de passe.

◆ getPassSize()

virtual C3D_API uint32_t castor3d::Pass::getPassSize ( ) const
pure virtual
Remarques
Les passes sont alignées sur 4 flottants, donc la taille d'une passe correspond aux nombres de float[4] qu'il faut pour la contenir.

Implémenté dans castor3d::MetallicRoughnessPbrPass, castor3d::PhongPass, et castor3d::SpecularGlossinessPbrPass.

◆ getRefractionRatio()

float castor3d::Pass::getRefractionRatio ( ) const
inline

◆ getSubsurfaceScattering()

SubsurfaceScattering const& castor3d::Pass::getSubsurfaceScattering ( ) const
inline

◆ getTextures() [1/2]

C3D_API TextureFlagsArray castor3d::Pass::getTextures ( TextureFlags  mask) const

◆ getTextures() [2/2]

TextureFlags const& castor3d::Pass::getTextures ( ) const
inline

◆ getTextureUnit()

C3D_API TextureUnitSPtr castor3d::Pass::getTextureUnit ( uint32_t  index) const

Récupère la TextureUnit à l'index donné.

Paramètres
[in]indexL'index voulu.
Renvoie
La TextureUnit récupérée, nullptr si index était hors bornes.

◆ getTextureUnits()

C3D_API TextureUnitPtrArray castor3d::Pass::getTextureUnits ( TextureFlags  mask = TextureFlag::eAll) const

◆ getTextureUnitsCount()

C3D_API uint32_t castor3d::Pass::getTextureUnitsCount ( TextureFlags  mask = TextureFlag::eAll) const

◆ getTransmission()

castor::Point3f castor3d::Pass::getTransmission ( ) const
inline

◆ getType()

C3D_API MaterialType castor3d::Pass::getType ( ) const
Renvoie
Le type de matériau.

◆ hasAlphaBlending()

C3D_API bool castor3d::Pass::hasAlphaBlending ( ) const

Dit si la passe a besoin de mélange d'alpha.

Renvoie
true si au moins une unité de texture a un canal alpha.

Référencé par setAlphaFunc().

Voici le graphe des appelants de cette fonction :

◆ hasAlphaTest()

C3D_API bool castor3d::Pass::hasAlphaTest ( ) const

Dit si la passe a besoin de test d'alpha.

Renvoie
true si la fonction alpha ne vaut pas Always.

Référencé par setAlphaFunc().

Voici le graphe des appelants de cette fonction :

◆ hasAutomaticShader()

bool castor3d::Pass::hasAutomaticShader ( ) const
inline

◆ hasEnvironmentMapping()

bool castor3d::Pass::hasEnvironmentMapping ( ) const
inline

◆ hasParallaxOcclusion()

bool castor3d::Pass::hasParallaxOcclusion ( ) const
inline

Références castor3d::eNone.

◆ hasReflections()

bool castor3d::Pass::hasReflections ( ) const
inline

Références castor3d::eReflection.

◆ hasRefraction()

bool castor3d::Pass::hasRefraction ( ) const
inline

Références castor3d::eRefraction.

◆ hasSubsurfaceScattering()

bool castor3d::Pass::hasSubsurfaceScattering ( ) const
inline

◆ initialise()

C3D_API void castor3d::Pass::initialise ( RenderDevice const &  device)

Initialise la passe et toutes ses dépendances.

Paramètres
[in]deviceLe device GPU.

◆ isImplicit()

bool castor3d::Pass::isImplicit ( ) const
inline

◆ isTwoSided()

bool castor3d::Pass::isTwoSided ( ) const
inline

◆ needsGammaCorrection()

C3D_API bool castor3d::Pass::needsGammaCorrection ( ) const

name Accesseurs.

◆ prepareTextures()

C3D_API void castor3d::Pass::prepareTextures ( )

Réduit les textures.

◆ removeTextureUnit()

C3D_API void castor3d::Pass::removeTextureUnit ( uint32_t  index)

Retire la TextureUnit à l'index donné.

Paramètres
[in]indexL'index de la TextureUnit à retirer.

◆ setAlphaBlendMode()

void castor3d::Pass::setAlphaBlendMode ( BlendMode  value)
inline

Références onChanged.

◆ setAlphaFunc()

void castor3d::Pass::setAlphaFunc ( VkCompareOp  value)
inline

Références castor3d::eAlphaBlending, castor3d::eAlphaTest, hasAlphaBlending(), et hasAlphaTest().

Voici le graphe d'appel pour cette fonction :

◆ setAlphaValue()

void castor3d::Pass::setAlphaValue ( float  value)
inline

Références onChanged.

◆ setBWAccumulationOperator()

void castor3d::Pass::setBWAccumulationOperator ( uint32_t  value)
inline

Références onChanged.

◆ setColourBlendMode()

void castor3d::Pass::setColourBlendMode ( BlendMode  value)
inline

Références onChanged.

◆ setEmissive()

void castor3d::Pass::setEmissive ( float const &  value)
inline

Références onChanged.

◆ setId()

void castor3d::Pass::setId ( uint32_t  value)
inline

◆ setImplicit()

void castor3d::Pass::setImplicit ( bool  value = true)
inline

◆ setOpacity()

C3D_API void castor3d::Pass::setOpacity ( float  value)

Définit la valeur alpha globale.

Paramètres
[in]valueLa nouvelle valeur.

◆ setParallaxOcclusion()

void castor3d::Pass::setParallaxOcclusion ( ParallaxOcclusionMode  value)
inline

◆ setRefractionRatio()

void castor3d::Pass::setRefractionRatio ( float  value)
inline

Références onChanged.

◆ setSubsurfaceScattering()

C3D_API void castor3d::Pass::setSubsurfaceScattering ( SubsurfaceScatteringUPtr  value)

Définit les informations étendues pour le subsurface scattering.

Paramètres
[in]valueLa nouvelle valeur.

◆ setTransmission()

void castor3d::Pass::setTransmission ( castor::Point3f  value)
inline

Références onChanged.

◆ setTwoSided()

void castor3d::Pass::setTwoSided ( bool  value)
inline

name Mutateurs.

Références onChanged.

Documentation des données membres

◆ onChanged

OnPassChanged castor3d::Pass::onChanged

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