Castor3D  ..
Espaces de nommage | Classes | Définitions de type | Énumérations | Fonctions | Variables
Référence de l'espace de nommage castor3d::shader

Espaces de nommage

 legacy
 
 pbr
 

Classes

struct  BaseMaterial
 
struct  DirectionalLight
 
class  Fog
 
struct  FragmentInput
 
struct  LegacyMaterial
 
class  LegacyMaterials
 
struct  Light
 
class  LightingModel
 
class  Materials
 
class  MetallicBrdfLightingModel
 
struct  MetallicRoughnessMaterial
 
struct  OutputComponents
 
class  PbrMRMaterials
 
class  PbrSGMaterials
 
class  PhongLightingModel
 
class  PhongReflectionModel
 
struct  PointLight
 
class  Shadow
 
class  SpecularBrdfLightingModel
 
struct  SpecularGlossinessMaterial
 
struct  SpotLight
 
class  SssTransmittance
 

Définitions de type

using ParallaxFunction = glsl::Function< glsl::Vec2, glsl::InParam< glsl::Vec2 >, glsl::InParam< glsl::Vec3 > >
 
using ParallaxShadowFunction = glsl::Function< glsl::Float, glsl::InParam< glsl::Vec3 >, glsl::InParam< glsl::Vec2 >, glsl::InParam< glsl::Float > >
 

Énumérations

enum  TypeName {
  TypeName::eLight = int( glsl::TypeName::eCount ), TypeName::eDirectionalLight, TypeName::ePointLight, TypeName::eSpotLight,
  TypeName::eMaterial, TypeName::eLegacyMaterial, TypeName::eMetallicRoughnessMaterial, TypeName::eSpecularGlossinessMaterial
}
 

Fonctions

C3D_API std::unique_ptr< MaterialscreateMaterials (glsl::GlslWriter &writer, PassFlags const &passFlags)
 Crée le tampon de matériaux GLSL approprié. Plus de détails...
 
C3D_API void applyAlphaFunc (glsl::GlslWriter &writer, ComparisonFunc alphaFunc, glsl::Float const &alpha, glsl::Float const &alphaRef)
 Ecrit la fonction d'opacité en GLSL. Plus de détails...
 
C3D_API ParallaxFunction declareParallaxMappingFunc (glsl::GlslWriter &writer, TextureChannels const &textureFlags, ProgramFlags const &programFlags)
 
C3D_API ParallaxShadowFunction declareParallaxShadowFunc (glsl::GlslWriter &writer, TextureChannels const &textureFlags, ProgramFlags const &programFlags)
 
 DECLARE_GLSL_PARAMETER (Light)
 
C3D_API castor::String paramToString (castor::String &sep, FragmentInput const &value)
 
C3D_API castor::String paramToString (castor::String &sep, OutputComponents const &value)
 
C3D_API castor::String toString (FragmentInput const &value)
 
C3D_API castor::String toString (OutputComponents const &value)
 
 DECLARE_SMART_PTR (BaseMaterial)
 

Variables

static constexpr uint32_t SpotShadowMapCount = 10u
 
static constexpr uint32_t PointShadowMapCount = 6u
 
static constexpr int BaseLightComponentsCount = 2
 
static constexpr int MaxLightComponentsCount = 14
 
static constexpr float LightComponentsOffset = MaxLightComponentsCount * 0.001f
 
static uint32_t constexpr MaxMaterialsCount = 2000u
 
static int constexpr MaxMaterialComponentsCount = 6
 
castor::String const PassBufferName = cuT( "Materials" )
 

Documentation des définitions de type

◆ ParallaxFunction

using castor3d::shader::ParallaxFunction = typedef glsl::Function< glsl::Vec2, glsl::InParam< glsl::Vec2 >, glsl::InParam< glsl::Vec3 > >

◆ ParallaxShadowFunction

using castor3d::shader::ParallaxShadowFunction = typedef glsl::Function< glsl::Float, glsl::InParam< glsl::Vec3 >, glsl::InParam< glsl::Vec2 >, glsl::InParam< glsl::Float > >

Documentation du type de l'énumération

◆ TypeName

Valeurs énumérées
eLight 
eDirectionalLight 
ePointLight 
eSpotLight 
eMaterial 
eLegacyMaterial 
eMetallicRoughnessMaterial 
eSpecularGlossinessMaterial 

Documentation des fonctions

◆ applyAlphaFunc()

C3D_API void castor3d::shader::applyAlphaFunc ( glsl::GlslWriter &  writer,
ComparisonFunc  alphaFunc,
glsl::Float const &  alpha,
glsl::Float const &  alphaRef 
)

Ecrit la fonction d'opacité en GLSL.

Paramètres
[in]writerLe writer GLSL.
alphaFuncLa fonction d'opacité.
[in]alphaLa valeur d'opacité.
[in]alphaRefLa valeur de référence pour la comparaison alpha.

◆ createMaterials()

C3D_API std::unique_ptr< Materials > castor3d::shader::createMaterials ( glsl::GlslWriter &  writer,
PassFlags const &  passFlags 
)

Crée le tampon de matériaux GLSL approprié.

Paramètres
[in]writerLe writer GLSL.
passFlagsLes indicateurs de passe.

◆ DECLARE_GLSL_PARAMETER()

castor3d::shader::DECLARE_GLSL_PARAMETER ( Light  )

◆ DECLARE_SMART_PTR()

castor3d::shader::DECLARE_SMART_PTR ( BaseMaterial  )

◆ declareParallaxMappingFunc()

C3D_API ParallaxFunction castor3d::shader::declareParallaxMappingFunc ( glsl::GlslWriter &  writer,
TextureChannels const &  textureFlags,
ProgramFlags const &  programFlags 
)

◆ declareParallaxShadowFunc()

C3D_API ParallaxShadowFunction castor3d::shader::declareParallaxShadowFunc ( glsl::GlslWriter &  writer,
TextureChannels const &  textureFlags,
ProgramFlags const &  programFlags 
)

◆ paramToString() [1/2]

C3D_API castor::String castor3d::shader::paramToString ( castor::String &  sep,
FragmentInput const &  value 
)

◆ paramToString() [2/2]

C3D_API castor::String castor3d::shader::paramToString ( castor::String &  sep,
OutputComponents const &  value 
)

◆ toString() [1/2]

C3D_API castor::String castor3d::shader::toString ( FragmentInput const &  value)

◆ toString() [2/2]

C3D_API castor::String castor3d::shader::toString ( OutputComponents const &  value)

Documentation des variables

◆ BaseLightComponentsCount

constexpr int castor3d::shader::BaseLightComponentsCount = 2
static

◆ LightComponentsOffset

constexpr float castor3d::shader::LightComponentsOffset = MaxLightComponentsCount * 0.001f
static

◆ MaxLightComponentsCount

constexpr int castor3d::shader::MaxLightComponentsCount = 14
static

◆ MaxMaterialComponentsCount

int constexpr castor3d::shader::MaxMaterialComponentsCount = 6
static

◆ MaxMaterialsCount

uint32_t constexpr castor3d::shader::MaxMaterialsCount = 2000u
static

◆ PassBufferName

castor::String const castor3d::shader::PassBufferName = cuT( "Materials" )

◆ PointShadowMapCount

constexpr uint32_t castor3d::shader::PointShadowMapCount = 6u
static

◆ SpotShadowMapCount

constexpr uint32_t castor3d::shader::SpotShadowMapCount = 10u
static