Castor3D 0.12.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres publiques statiques | Attributs publics statiques | Fonctions membres protégées | Liste de tous les membres
Référence de la classe castor3d::PhongPass

#include <PhongPass.hpp>

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

Fonctions membres publiques

C3D_API PhongPass (Material &parent, PassFlags initialFlags=PassFlag::eNone)
 Constructeur. Plus de détails...
 
C3D_API PhongPass (Material &parent, PassTypeID typeID, PassFlags initialFlags=PassFlag::eNone)
 Constructeur, depuis les classes dérivées. Plus de détails...
 
C3D_API void fillBuffer (PassBuffer &buffer) const override
 Remplit le pass buffer aves les données de cette passe. Plus de détails...
 
C3D_API uint32_t getPassSectionID () const override
 
C3D_API uint32_t getTextureSectionID () const override
 
C3D_API bool writeText (castor::String const &tabs, castor::Path const &folder, castor::String const &subfolder, castor::StringStream &file) const override
 
void setColour (castor::RgbColour const &value) override
 Définit la couleur basique de la passe. Plus de détails...
 
castor::RgbColour const & getColour () const override
 
void setDiffuse (castor::RgbColour const &value)
 Définit la couleur diffuse. Plus de détails...
 
void setSpecular (castor::RgbColour const &value)
 Définit la couleur spéculaire. Plus de détails...
 
void setAmbient (float const &value)
 Définit le facteur d'ambiante. Plus de détails...
 
void setShininess (float value)
 Définit l'exposant. Plus de détails...
 
castor::RangedValue< float > const & getShininess () const
 
castor::RgbColour const & getDiffuse () const
 
castor::RgbColour const & getSpecular () const
 
float getAmbient () const
 
castor::RgbColour & getDiffuse ()
 
castor::RgbColour & getSpecular ()
 
- Fonctions membres publiques hérités de castor3d::Pass
C3D_API void initialise (RenderDevice const &device, QueueData const &queueData)
 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 update ()
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
C3D_API void registerTexture (TextureSourceInfo sourceInfo, PassTextureConfig configuration)
 Ajoute une texture. Plus de détails...
 
C3D_API void registerTexture (TextureSourceInfo sourceInfo, PassTextureConfig configuration, AnimationUPtr animation)
 Ajoute une texture animée. Plus de détails...
 
C3D_API void unregisterTexture (TextureSourceInfo sourceInfo)
 Supprime une unité de texture. Plus de détails...
 
C3D_API void resetTexture (TextureSourceInfo const &srcSourceInfo, TextureSourceInfo dstSourceInfo)
 Remplace la source d'une texture. Plus de détails...
 
C3D_API void updateConfig (TextureSourceInfo const &sourceInfo, TextureConfiguration configuration)
 Met à jour la configuration d'une texture. 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 void prepareTextures ()
 Réduit les textures. Plus de détails...
 
virtual C3D_API void setColour (castor::RgbColour const &value)=0
 Définit la couleur basique de la passe. Plus de détails...
 
virtual C3D_API castor::RgbColour const & getColour () const =0
 
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 void accept (PassVisitorBase &vis)
 Fonction d'acceptation de PassVisitor. Plus de détails...
 
virtual C3D_API void fillBuffer (PassBuffer &buffer) const =0
 Remplit le pass buffer aves les données de cette passe. Plus de détails...
 
C3D_API void fillSssProfileBuffer (SssProfileBuffer &buffer) const
 Remplit le pass buffer aves les données de cette passe. Plus de détails...
 
virtual C3D_API void fillConfig (TextureConfiguration &config, PassVisitorBase &vis)
 Fonction d'acceptation de PassVisitor, pour une configuration de texture. Plus de détails...
 
virtual C3D_API uint32_t getPassSectionID () const =0
 
virtual C3D_API uint32_t getTextureSectionID () const =0
 
virtual C3D_API bool writeText (castor::String const &tabs, castor::Path const &folder, castor::String const &subfolder, castor::StringStream &file) const =0
 
C3D_API bool needsAlphaProcessing () const
 
C3D_API bool hasAlphaBlending () const
 
C3D_API bool hasOnlyAlphaBlending () const
 
C3D_API bool hasAlphaTest () const
 
C3D_API bool hasBlendAlphaTest () const
 
C3D_API TextureUnitPtrArray getTextureUnits (TextureFlags mask=TextureFlag::eAll) const
 
C3D_API uint32_t getTextureUnitsCount (TextureFlags mask=TextureFlag::eAll) const
 
C3D_API TextureFlagsArray getTexturesMask (TextureFlags mask=TextureFlag::eAll) const
 
TextureSourceMapgetSources ()
 
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
 
uint32_t getSssProfileId () const
 
VkCompareOp getAlphaFunc () const
 
float getAlphaValue () const
 
VkCompareOp getBlendAlphaFunc () 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
 
bool hasEdges () const
 
uint32_t getHeightTextureIndex () const
 
bool hasLighting () const
 
bool hasIBL () const
 
PassTypeID getTypeID () const
 
float getEdgeWidth () const
 
float getDepthFactor () const
 
float getNormalFactor () const
 
float getObjectFactor () const
 
castor::RgbaColour getEdgeColour () const
 
RenderPassRegisterInfogetRenderPassInfo () const
 
uint32_t getIndex () 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 setSssProfileId (uint32_t value)
 
void setAlphaFunc (VkCompareOp value)
 
void setAlphaValue (float value)
 
void setBlendAlphaFunc (VkCompareOp value)
 
void setBWAccumulationOperator (uint32_t value)
 
void enableReflections (bool value=true)
 
void enableRefractions (bool value=true)
 
void setImplicit (bool value=true)
 
void enableLighting (bool value)
 
void enablePicking (bool value)
 
void enableEdges (bool value)
 
void setEdgeWidth (float value)
 
void setDepthFactor (float value)
 
void setNormalFactor (float value)
 
void setObjectFactor (float value)
 
void setEdgeColour (castor::RgbaColour const &value)
 

Fonctions membres publiques statiques

static C3D_API PassSPtr create (Material &parent)
 
static C3D_API castor::AttributeParsers createParsers ()
 
static C3D_API castor::AttributeParsers createParsers (uint32_t mtlSectionID, uint32_t texSectionID, uint32_t texRemapSectionID, castor::String const &texRemapSectionName, uint32_t remapChannelSectionID)
 
static C3D_API castor::StrUInt32Map createSections ()
 
- Fonctions membres publiques statiques hérités de castor3d::Pass
static C3D_API void addParser (castor::AttributeParsers &parsers, uint32_t section, castor::String const &name, castor::ParserFunction function, castor::ParserParameterArray &&array=castor::ParserParameterArray{})
 

Attributs publics statiques

static constexpr float MaxShininess = 256.0f
 
static C3D_API castor::String const Type
 
static C3D_API castor::String const LightingModel
 
- Attributs publics statiques hérités de castor3d::Pass
static float constexpr MinEdgeWidth = 0.001f
 
static float constexpr MaxEdgeWidth = 1000.0f
 

Fonctions membres protégées

C3D_API void doAccept (PassVisitorBase &vis) override
 
C3D_API void doAccept (TextureConfiguration &config, PassVisitorBase &vis) override
 
- Fonctions membres protégées hérités de castor3d::Pass
C3D_API Pass (Material &parent, PassTypeID typeID, PassFlags initialFlags)
 Constructeur. Plus de détails...
 
virtual C3D_API ~Pass ()
 Destructeur. Plus de détails...
 
C3D_API void doMergeImages (TextureFlag lhsFlag, uint32_t lhsMaskOffset, uint32_t lhsDstMask, TextureFlag rhsFlag, uint32_t rhsMaskOffset, uint32_t rhsDstMask, castor::String const &name, TextureUnitPtrArray &result)
 
C3D_API void doJoinDifOpa (TextureUnitPtrArray &result, castor::String const &name)
 
C3D_API void doFillData (PassBuffer::PassDataPtr &data) const
 
virtual C3D_API void doAccept (TextureConfiguration &config, PassVisitorBase &vis)=0
 
virtual C3D_API void doAccept (PassVisitorBase &vis)=0
 

Membres hérités additionnels

- Attributs publics hérités de castor3d::Pass
OnPassChanged onChanged
 
OnPassChanged onSssProfileChanged
 
- Fonctions membres protégées statiques hérités de castor3d::Pass
static C3D_API void parseError (castor::String const &error)
 
static C3D_API void addCommonParsers (uint32_t mtlSectionID, uint32_t texSectionID, uint32_t remapChannelSectionID, castor::AttributeParsers &result)
 
- Attributs protégés hérités de castor3d::Pass
bool m_dirty { true }
 
bool m_sssDirty { true }
 

Documentation des constructeurs et destructeur

◆ PhongPass() [1/2]

C3D_API castor3d::PhongPass::PhongPass ( Material parent,
PassFlags  initialFlags = PassFlag::eNone 
)
explicit

Constructeur.

Paramètres
[in]parentLe matériau parent.
[in]initialFlagsLes flags initiaux de la passe.

◆ PhongPass() [2/2]

C3D_API castor3d::PhongPass::PhongPass ( Material parent,
PassTypeID  typeID,
PassFlags  initialFlags = PassFlag::eNone 
)

Constructeur, depuis les classes dérivées.

Paramètres
[in]parentLe matériau parent.
[in]typeIDL'ID du type réel de la passe.
[in]initialFlagsLes flags initiaux de la passe.

Documentation des fonctions membres

◆ create()

static C3D_API PassSPtr castor3d::PhongPass::create ( Material parent)
static

◆ createParsers() [1/2]

static C3D_API castor::AttributeParsers castor3d::PhongPass::createParsers ( )
static

◆ createParsers() [2/2]

static C3D_API castor::AttributeParsers castor3d::PhongPass::createParsers ( uint32_t  mtlSectionID,
uint32_t  texSectionID,
uint32_t  texRemapSectionID,
castor::String const &  texRemapSectionName,
uint32_t  remapChannelSectionID 
)
static

◆ createSections()

static C3D_API castor::StrUInt32Map castor3d::PhongPass::createSections ( )
static

◆ doAccept() [1/2]

C3D_API void castor3d::PhongPass::doAccept ( PassVisitorBase vis)
overrideprotectedvirtual

Implémente castor3d::Pass.

◆ doAccept() [2/2]

C3D_API void castor3d::PhongPass::doAccept ( TextureConfiguration config,
PassVisitorBase vis 
)
overrideprotectedvirtual

Implémente castor3d::Pass.

◆ fillBuffer()

C3D_API void castor3d::PhongPass::fillBuffer ( PassBuffer buffer) const
overridevirtual

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

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

Implémente castor3d::Pass.

◆ getAmbient()

float castor3d::PhongPass::getAmbient ( ) const
inline
Renvoie
Le facteur d'ambiante.

◆ getColour()

castor::RgbColour const & castor3d::PhongPass::getColour ( ) const
inlineoverridevirtual

Renvoie
La couleur basique de la passe.

Implémente castor3d::Pass.

Références getDiffuse().

Voici le graphe d'appel pour cette fonction :

◆ getDiffuse() [1/2]

castor::RgbColour & castor3d::PhongPass::getDiffuse ( )
inline
Renvoie
La couleur diffuse.

◆ getDiffuse() [2/2]

castor::RgbColour const & castor3d::PhongPass::getDiffuse ( ) const
inline
Renvoie
La couleur diffuse.

Référencé par getColour().

Voici le graphe des appelants de cette fonction :

◆ getPassSectionID()

C3D_API uint32_t castor3d::PhongPass::getPassSectionID ( ) const
overridevirtual

Renvoie
L'ID de section de fichier de scène, utilisé pour le type effectif de la passe.

Implémente castor3d::Pass.

◆ getShininess()

castor::RangedValue< float > const & castor3d::PhongPass::getShininess ( ) const
inline
Renvoie
La valeur d'exposant.

◆ getSpecular() [1/2]

castor::RgbColour & castor3d::PhongPass::getSpecular ( )
inline
Renvoie
La couleur spéculaire.

◆ getSpecular() [2/2]

castor::RgbColour const & castor3d::PhongPass::getSpecular ( ) const
inline
Renvoie
La couleur spéculaire.

◆ getTextureSectionID()

C3D_API uint32_t castor3d::PhongPass::getTextureSectionID ( ) const
overridevirtual

Renvoie
L'ID de section de fichier de scène, utilisé pour le type effectif des textures de la passe.

Implémente castor3d::Pass.

◆ setAmbient()

void castor3d::PhongPass::setAmbient ( float const &  value)
inline

Définit le facteur d'ambiante.

Paramètres
[in]valueLa nouvelle valeur.

◆ setColour()

void castor3d::PhongPass::setColour ( castor::RgbColour const &  value)
inlineoverridevirtual

Définit la couleur basique de la passe.

Paramètres
[in]valueLa nouvelle valeur.

Implémente castor3d::Pass.

Références setDiffuse().

Voici le graphe d'appel pour cette fonction :

◆ setDiffuse()

void castor3d::PhongPass::setDiffuse ( castor::RgbColour const &  value)
inline

Définit la couleur diffuse.

Paramètres
[in]valueLa nouvelle valeur.

Référencé par setColour().

Voici le graphe des appelants de cette fonction :

◆ setShininess()

void castor3d::PhongPass::setShininess ( float  value)
inline

Définit l'exposant.

Paramètres
[in]valueLa nouvelle valeur.

◆ setSpecular()

void castor3d::PhongPass::setSpecular ( castor::RgbColour const &  value)
inline

Définit la couleur spéculaire.

Paramètres
[in]valueLa nouvelle valeur.

◆ writeText()

C3D_API bool castor3d::PhongPass::writeText ( castor::String const &  tabs,
castor::Path const &  folder,
castor::String const &  subfolder,
castor::StringStream &  file 
) const
overridevirtual

Implémente castor3d::Pass.

Documentation des données membres

◆ LightingModel

C3D_API castor::String const castor3d::PhongPass::LightingModel
static

◆ MaxShininess

constexpr float castor3d::PhongPass::MaxShininess = 256.0f
staticconstexpr

◆ Type

C3D_API castor::String const castor3d::PhongPass::Type
static

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