Skip to content

Kuesa::Serenity::GLTF2Material

#include <gltf2material.h>

Inherits from Serenity::Material

Inherited by Kuesa::Serenity::Iro2AlphaEquiRectMaterial, Kuesa::Serenity::Iro2AlphaSemMaterial, Kuesa::Serenity::Iro2DiffuseEquiRectMaterial, Kuesa::Serenity::Iro2DiffuseSemMaterial, Kuesa::Serenity::Iro2GlassEquiRectMaterial, Kuesa::Serenity::Iro2GlassSemMaterial, Kuesa::Serenity::Iro2MatteAlphaMaterial, Kuesa::Serenity::Iro2PlanarReflectionEquiRectMaterial, Kuesa::Serenity::Iro2PlanarReflectionSemMaterial, Kuesa::Serenity::IroDiffuseAlphaMaterial, Kuesa::Serenity::IroDiffuseHemiMaterial, Kuesa::Serenity::IroDiffuseMaterial, Kuesa::Serenity::IroGlassAddMaterial, Kuesa::Serenity::IroMatteAddMaterial, Kuesa::Serenity::IroMatteAlphaMaterial, Kuesa::Serenity::IroMatteBackgroundMaterial, Kuesa::Serenity::IroMatteMultMaterial, Kuesa::Serenity::IroMatteOpaqueMaterial, Kuesa::Serenity::IroMatteSkyboxMaterial, Kuesa::Serenity::MetallicRoughnessMaterial, Kuesa::Serenity::UnlitMaterial

Public Types

Name
enum BlendMode { Opaque, Blend, Mask}
enum MeshType { Skybox, Background, Regular}
using std::shared_ptr<::Serenity::AnimationCallback > CallBackPtr
using std::function< CallBackPtr(GLTF2Material *)> CallBackGenerator
using std::pair< int, CallBackGenerator > ComponentCountAndGenerator

Public Functions

Name
~GLTF2Material()
virtual std::optional< ComponentCountAndGenerator > callBackAndComponentCountForPropertyName(const String & propertyName)
const MeshType meshType() const

Protected Functions

Name
GLTF2Material()

Public Attributes

Name
Property< bool > hasNormalAttribute
Property< bool > hasTangentAttribute
Property< bool > hasTexCoordAttribute
Property< bool > hasTexCoord1Attribute
Property< bool > hasColorAttribute
Property< bool > baseColorUsesTexCoord1
Property< Color > baseColorFactor
Property<::Serenity::Texture * > baseColorMap
Property< BlendMode > blendMode
Property< float > alphaCutOff

Protected Attributes

Name
MeshType m_meshType

Public Types Documentation

enum BlendMode

Enumerator Value Description
Opaque
Blend
Mask

enum MeshType

Enumerator Value Description
Skybox
Background
Regular

using CallBackPtr

1
using Kuesa::Serenity::GLTF2Material::CallBackPtr =  std::shared_ptr<::Serenity::AnimationCallback>;

using CallBackGenerator

1
using Kuesa::Serenity::GLTF2Material::CallBackGenerator =  std::function<CallBackPtr(GLTF2Material *)>;

using ComponentCountAndGenerator

1
using Kuesa::Serenity::GLTF2Material::ComponentCountAndGenerator =  std::pair<int, CallBackGenerator>;

Public Functions Documentation

function ~GLTF2Material

1
~GLTF2Material()

function callBackAndComponentCountForPropertyName

1
2
3
virtual std::optional< ComponentCountAndGenerator > callBackAndComponentCountForPropertyName(
    const String & propertyName
)

Reimplemented by: Kuesa::Serenity::IroDiffuseMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroDiffuseAlphaMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroDiffuseHemiMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroGlassAddMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroMatteAddMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroMatteAlphaMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroMatteBackgroundMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroMatteMultMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroMatteOpaqueMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::IroMatteSkyboxMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2AlphaEquiRectMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2AlphaSemMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2DiffuseEquiRectMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2DiffuseSemMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2GlassEquiRectMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2GlassSemMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2MatteAlphaMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2PlanarReflectionEquiRectMaterial::callBackAndComponentCountForPropertyName, Kuesa::Serenity::Iro2PlanarReflectionSemMaterial::callBackAndComponentCountForPropertyName

function meshType

1
inline const MeshType meshType() const

Protected Functions Documentation

function GLTF2Material

1
explicit GLTF2Material()

Public Attributes Documentation

variable hasNormalAttribute

1
Property< bool > hasNormalAttribute { false };

variable hasTangentAttribute

1
Property< bool > hasTangentAttribute { false };

variable hasTexCoordAttribute

1
Property< bool > hasTexCoordAttribute { false };

variable hasTexCoord1Attribute

1
Property< bool > hasTexCoord1Attribute { false };

variable hasColorAttribute

1
Property< bool > hasColorAttribute { false };

variable baseColorUsesTexCoord1

1
Property< bool > baseColorUsesTexCoord1 { false };

variable baseColorFactor

1
Property< Color > baseColorFactor { { 0.0f, 0.0f, 0.0f, 0.0f } };

variable baseColorMap

1
Property<::Serenity::Texture * > baseColorMap { nullptr };

variable blendMode

1
Property< BlendMode > blendMode { Opaque };

variable alphaCutOff

1
Property< float > alphaCutOff { 0.0f };

Protected Attributes Documentation

variable m_meshType

1
MeshType m_meshType = Regular;

Updated on 2022-10-18 at 11:12:51 +0200