Castor3D
..
|
Classe de base d'une passe d'un matériau. Plus de détails...
Classes | |
class | TextWriter |
Loader de Pass. Plus de détails... | |
Fonctions membres publiques | |
C3D_API void | initialise () |
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 | bindTextures () |
Active les textures de la passe. Plus de détails... | |
C3D_API void | unbindTextures () |
Désactive les textures de la passe. Plus de détails... | |
C3D_API void | addTextureUnit (TextureUnitSPtr p_unit) |
Ajoute une unité de texture. Plus de détails... | |
C3D_API TextureUnitSPtr | getTextureUnit (TextureChannel channel) const |
Récupère la TextureUnit au canal demandé. Plus de détails... | |
C3D_API void | destroyTextureUnit (uint32_t index) |
Détruit 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 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 les variables de shader du noeud de rendu donné. Plus de détails... | |
TextureChannels const & | getTextureFlags () const |
bool | hasAutomaticShader () const |
void | setTwoSided (bool value) |
Définit le statut d'application aux deux faces. Plus de détails... | |
void | setEmissive (float const &value) |
Définit le facteur d'émission. Plus de détails... | |
void | setRefractionRatio (float value) |
Définit le ratio de réfraction. Plus de détails... | |
void | setParallaxOcclusion (bool value) |
Définit l'utilisation du parallax occlusion mapping. Plus de détails... | |
void | setAlphaBlendMode (BlendMode value) |
Définit le mode de mélange alpha. Plus de détails... | |
void | setColourBlendMode (BlendMode value) |
Définit le mode de mélange couleur. Plus de détails... | |
uint32_t | getTextureUnitsCount () const |
bool | IsTwoSided () const |
bool | hasEnvironmentMapping () const |
float | getOpacity () const |
float | getEmissive () const |
float | getRefractionRatio () const |
BlendMode | getAlphaBlendMode () const |
BlendMode | getColourBlendMode () const |
auto | begin () const |
auto | begin () |
auto | end () const |
auto | end () |
bool | needsGammaCorrection () const |
uint32_t | getId () const |
void | setId (uint32_t value) |
Définit l'ID de la passe. Plus de détails... | |
castor3d::ComparisonFunc | getAlphaFunc () const |
void | setAlphaFunc (castor3d::ComparisonFunc value) |
Définit la fonction d'alpha. Plus de détails... | |
float | getAlphaValue () const |
void | setAlphaValue (float value) |
Définit la valeur de référence pour l'alpha. Plus de détails... | |
bool | hasSubsurfaceScattering () const |
bool | hasParallaxOcclusion () const |
SubsurfaceScattering const & | getSubsurfaceScattering () const |
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... | |
bool | doPrepareTexture (TextureChannel channel, uint32_t &index, TextureUnitSPtr &opacitySource, castor::PxBufferBaseSPtr &opacity) |
Prépare une texture à être intégrée à la passe. Plus de détails... | |
castor::PxBufferBaseSPtr | doPrepareTexture (TextureChannel channel, uint32_t &index) |
Prépare une texture à être intégrée à la passe. Plus de détails... | |
void | doPrepareOpacity (TextureUnitSPtr opacitySource, castor::PxBufferBaseSPtr opacityImage, uint32_t &index) |
Prépare le canal d'opacité. Plus de détails... | |
void | doUpdateFlags () |
Met à jour les indicateurs de texture en fonction des unités de texture. Plus de détails... | |
void | doReduceTexture (TextureChannel channel, castor::PixelFormat format) |
Réduit la texture au canal donné dans le format de pixels donné. Plus de détails... | |
Classe de base d'une passe d'un matériau.
Constructeur.
[in] | parent | Le matériau parent. |
|
protected |
Destructeur.
|
pure virtual |
Remplit les variables de shader du noeud de rendu donné.
Implémenté dans castor3d::LegacyPass, castor3d::MetallicRoughnessPbrPass, et castor3d::SpecularGlossinessPbrPass.
C3D_API void castor3d::Pass::addTextureUnit | ( | TextureUnitSPtr | p_unit | ) |
Ajoute une unité de texture.
[in] | p_unit | L'unité de texture. |
|
inline |
|
inline |
C3D_API void castor3d::Pass::bindTextures | ( | ) |
Active les textures de la passe.
Référencé par castor3d::doBindPass().
C3D_API void castor3d::Pass::cleanup | ( | ) |
Nettoie la passe et toutes ses dépendances.
C3D_API void castor3d::Pass::destroyTextureUnit | ( | uint32_t | index | ) |
Détruit la TextureUnit à l'index donné.
[in] | index | L'index de la TextureUnit à détruire. |
|
protected |
Prépare le canal d'opacité.
[in] | opacitySource | L'unité de texture depuis laquelle l'opacité provient. |
[in] | opacityImage | Le canal alpha de opacitySource. |
[in,out] | index | L'index de la texture. |
Référencé par getSubsurfaceScattering().
|
protected |
Prépare une texture à être intégrée à la passe.
[in] | channel | Le canal de texture. |
[in,out] | index | L'index de la texture. |
[in,out] | opacitySource | Reçoit l'unité de texture si opacity est modifié. |
[in,out] | opacity | Reçoit le canal alpha de la texture. |
true
Si la texture possédait un canal alpha. Référencé par getSubsurfaceScattering().
|
protected |
Prépare une texture à être intégrée à la passe.
[in] | channel | Le canal de texture. |
[in,out] | index | L'index de la texture. |
|
protected |
Réduit la texture au canal donné dans le format de pixels donné.
[in] | channel | Le canal de texture. |
[in] | format | Le format de pixels voulu. |
Référencé par getSubsurfaceScattering().
|
protected |
Met à jour les indicateurs de texture en fonction des unités de texture.
Référencé par getSubsurfaceScattering().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API PassFlags castor3d::Pass::getPassFlags | ( | ) | const |
|
pure virtual |
Implémenté dans castor3d::LegacyPass, castor3d::MetallicRoughnessPbrPass, et castor3d::SpecularGlossinessPbrPass.
|
inline |
|
inline |
Références doPrepareOpacity(), doPrepareTexture(), doReduceTexture(), et doUpdateFlags().
|
inline |
Référencé par hasEnvironmentMapping().
C3D_API TextureUnitSPtr castor3d::Pass::getTextureUnit | ( | TextureChannel | channel | ) | const |
Récupère la TextureUnit au canal demandé.
[in] | channel | Le canal. |
nullptr
si pas de TextureUnit au canal voulu. Référencé par castor3d::doBindPassOpacityMap(), et castor3d::doUnbindPassOpacityMap().
C3D_API TextureUnitSPtr castor3d::Pass::getTextureUnit | ( | uint32_t | index | ) | const |
Récupère la TextureUnit à l'index donné.
[in] | index | L'index voulu. |
|
inline |
C3D_API MaterialType castor3d::Pass::getType | ( | ) | const |
C3D_API bool castor3d::Pass::hasAlphaBlending | ( | ) | const |
Dit si la passe a besoin de mélange d'alpha.
true
si au moins une unité de texture a un canal alpha.
|
inline |
true
si le shader de la passe est généré automatiquement.
|
inline |
true
si l'environment mapping est activé sur cette passe. Références castor3d::eReflection, castor3d::eRefraction, et getTextureFlags().
Référencé par castor3d::doBindPass().
|
inline |
true
si la passe utilise le parallax occlusion mapping.
|
inline |
true
si la passe a des informations étendues pour le subsurface scattering. C3D_API void castor3d::Pass::initialise | ( | ) |
Initialise la passe et toutes ses dépendances.
|
inline |
|
inline |
true
si la correction gamma doit être appliquée à cette passe. C3D_API void castor3d::Pass::prepareTextures | ( | ) |
Réduit les textures.
|
inline |
|
inline |
|
inline |
Définit la valeur de référence pour l'alpha.
[in] | value | La nouvelle valeur. |
Références onChanged.
|
inline |
|
inline |
|
inline |
Définit l'ID de la passe.
[in] | value | La nouvelle valeur. |
C3D_API void castor3d::Pass::setOpacity | ( | float | value | ) |
Définit la valeur alpha globale.
[in] | value | La nouvelle valeur. |
|
inline |
Définit l'utilisation du parallax occlusion mapping.
[in] | value | La nouvelle valeur. |
Références onChanged.
|
inline |
C3D_API void castor3d::Pass::setSubsurfaceScattering | ( | SubsurfaceScatteringUPtr && | value | ) |
Définit les informations étendues pour le subsurface scattering.
[in] | value | La nouvelle valeur. |
|
inline |
Définit le statut d'application aux deux faces.
[in] | value | La nouvelle valeur. |
Références onChanged.
C3D_API void castor3d::Pass::unbindTextures | ( | ) |
Désactive les textures de la passe.
OnPassChanged castor3d::Pass::onChanged |
Référencé par castor3d::MetallicRoughnessPbrPass::setAlbedo(), setAlphaBlendMode(), setAlphaFunc(), setAlphaValue(), castor3d::LegacyPass::setAmbient(), setColourBlendMode(), castor3d::SpecularGlossinessPbrPass::setDiffuse(), castor3d::LegacyPass::setDiffuse(), setEmissive(), castor3d::SpecularGlossinessPbrPass::setGlossiness(), castor3d::MetallicRoughnessPbrPass::setMetallic(), setParallaxOcclusion(), setRefractionRatio(), castor3d::MetallicRoughnessPbrPass::setRoughness(), castor3d::LegacyPass::setShininess(), castor3d::LegacyPass::setSpecular(), castor3d::SpecularGlossinessPbrPass::setSpecular(), et setTwoSided().