Castor3D 0.13.0
Multiplatform 3D engine
|
#include <Pass.hpp>
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 | 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 |
TextureSourceMap & | getSources () |
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::RgbColour | 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 |
RenderPassRegisterInfo * | getRenderPassInfo () const |
uint32_t | getIndex () const |
uint32_t | getMaxTexCoordSet () 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::RgbColour 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 void | addParser (castor::AttributeParsers &parsers, uint32_t section, castor::String const &name, castor::ParserFunction function, castor::ParserParameterArray &&array=castor::ParserParameterArray{}) |
Attributs publics | |
OnPassChanged | onChanged |
OnPassChanged | onSssProfileChanged |
Fonctions membres protégées | |
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 |
Fonctions membres protégées statiques | |
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 | |
bool | m_dirty { true } |
bool | m_sssDirty { true } |
|
explicitprotected |
Constructeur.
[in] | parent | Le matériau parent. |
[in] | typeID | L'ID du type de la passe. |
[in] | initialFlags | Les flags hérités du type de passe. |
|
protectedvirtual |
Destructeur.
|
virtual |
Fonction d'acceptation de PassVisitor.
vis | Le ... visiteur. |
|
staticprotected |
|
static |
|
inline |
|
inline |
name Itération sur les textures.
C3D_API void castor3d::Pass::cleanup | ( | ) |
Nettoie la passe et toutes ses dépendances.
|
protectedpure virtual |
Implémenté dans castor3d::PbrPass, et castor3d::PhongPass.
|
protectedpure virtual |
Implémenté dans castor3d::PbrPass, et castor3d::PhongPass.
|
protected |
|
protected |
|
protected |
|
inline |
Références castor3d::eDrawEdge.
|
inline |
Références castor3d::eLighting.
|
inline |
Références castor3d::ePickable.
|
inline |
Références castor3d::eReflection.
|
inline |
Références castor3d::eRefraction.
|
inline |
|
inline |
|
pure virtual |
Remplit le pass buffer aves les données de cette passe.
[in,out] | buffer | Le pass buffer. |
Implémenté dans castor3d::PbrPass, et castor3d::PhongPass.
|
virtual |
Fonction d'acceptation de PassVisitor, pour une configuration de texture.
config | La configuration de texture. |
vis | Le ... visiteur. |
C3D_API void castor3d::Pass::fillSssProfileBuffer | ( | SssProfileBuffer & | buffer | ) | const |
Remplit le pass buffer aves les données de cette passe.
[in,out] | buffer | Le pass buffer. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implémenté dans castor3d::PbrPass, et castor3d::PhongPass.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implémenté dans castor3d::PbrPass, castor3d::BlinnPhongPass, et castor3d::PhongPass.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implémenté dans castor3d::PbrPass, castor3d::BlinnPhongPass, et castor3d::PhongPass.
C3D_API TextureFlagsArray castor3d::Pass::getTexturesMask | ( | TextureFlags | mask = TextureFlag::eAll | ) | const |
C3D_API TextureUnitSPtr castor3d::Pass::getTextureUnit | ( | uint32_t | index | ) | const |
Récupère la TextureUnit à l'index donné.
[in] | index | L'index voulu. |
nullptr
si index était hors bornes. C3D_API TextureUnitPtrArray castor3d::Pass::getTextureUnits | ( | TextureFlags | mask = TextureFlag::eAll | ) | const |
C3D_API uint32_t castor3d::Pass::getTextureUnitsCount | ( | TextureFlags | mask = TextureFlag::eAll | ) | const |
|
inline |
|
inline |
C3D_API bool castor3d::Pass::hasAlphaBlending | ( | ) | const |
C3D_API bool castor3d::Pass::hasAlphaTest | ( | ) | const |
|
inline |
C3D_API bool castor3d::Pass::hasBlendAlphaTest | ( | ) | const |
|
inline |
Références castor3d::eDrawEdge.
|
inline |
Références castor3d::eReflection, et castor3d::eRefraction.
|
inline |
Références castor3d::eImageBasedLighting.
|
inline |
Références castor3d::eLighting.
C3D_API bool castor3d::Pass::hasOnlyAlphaBlending | ( | ) | const |
|
inline |
Références castor3d::eNone.
|
inline |
Références castor3d::eReflection.
|
inline |
Références castor3d::eRefraction.
|
inline |
Références castor3d::eSubsurfaceScattering.
C3D_API void castor3d::Pass::initialise | ( | ) |
Initialise la passe et toutes ses dépendances.
|
inline |
|
inline |
C3D_API bool castor3d::Pass::needsAlphaProcessing | ( | ) | const |
name Accesseurs.
|
staticprotected |
C3D_API void castor3d::Pass::prepareTextures | ( | ) |
Réduit les textures.
C3D_API void castor3d::Pass::registerTexture | ( | TextureSourceInfo | sourceInfo, |
PassTextureConfig | configuration | ||
) |
Ajoute une texture.
[in] | sourceInfo | La source de la texture. |
[in] | configuration | La configuration de la texture. |
C3D_API void castor3d::Pass::registerTexture | ( | TextureSourceInfo | sourceInfo, |
PassTextureConfig | configuration, | ||
AnimationUPtr | animation | ||
) |
Ajoute une texture animée.
[in] | sourceInfo | La source de la texture. |
[in] | configuration | La configuration de la texture. |
[in] | animation | L'animation de la texture. |
C3D_API void castor3d::Pass::resetTexture | ( | TextureSourceInfo const & | srcSourceInfo, |
TextureSourceInfo | dstSourceInfo | ||
) |
Remplace la source d'une texture.
[in] | srcSourceInfo | La source d'origine de la texture. |
[in] | dstSourceInfo | La source de remplacement de la texture. |
|
inline |
Références castor3d::eAlphaBlending, et hasAlphaBlending().
|
inline |
|
inline |
|
inline |
Références castor3d::eBlendAlphaTest, et hasBlendAlphaTest().
|
inline |
|
pure virtual |
Définit la couleur basique de la passe.
[in] | value | La nouvelle valeur. |
Implémenté dans castor3d::PbrPass, et castor3d::PhongPass.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API void castor3d::Pass::setOpacity | ( | float | value | ) |
Définit la valeur alpha globale.
[in] | value | La nouvelle valeur. |
|
inline |
|
inline |
|
inline |
C3D_API void castor3d::Pass::setSubsurfaceScattering | ( | SubsurfaceScatteringUPtr | value | ) |
Définit les informations étendues pour le subsurface scattering.
[in] | value | La nouvelle valeur. |
|
inline |
|
inline |
name Mutateurs.
C3D_API void castor3d::Pass::unregisterTexture | ( | TextureSourceInfo | sourceInfo | ) |
Supprime une unité de texture.
[in] | sourceInfo | La source de la texture. |
C3D_API void castor3d::Pass::update | ( | ) |
Met à jour la passe de rendu, au niveau CPU.
C3D_API void castor3d::Pass::updateConfig | ( | TextureSourceInfo const & | sourceInfo, |
TextureConfiguration | configuration | ||
) |
Met à jour la configuration d'une texture.
[in] | sourceInfo | La source de la texture. |
[in] | configuration | La nouvelle configuration de la texture. |
|
pure virtual |
Implémenté dans castor3d::PbrPass, et castor3d::PhongPass.
|
protected |
|
protected |
OnPassChanged castor3d::Pass::onChanged |
OnPassChanged castor3d::Pass::onSssProfileChanged |