You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Each Mesh has a MaterialID, which can get a Material from SceneDatabase.
std::string m_name;
Name of Material.
TextureIDMap m_textureIDs;
Each Material has a std::map<MaterialTextureType, TextureID>, which can get TextureID by specified MaterialTextureType.
After that we can use TextureID to get a actural texture path from SceneDatabase.
What O3DE have
At the begining, we can refer to the BasePBR material type of O3DE. BasePBR.materialtype
An explanation of the properties can be found here: PBR Shading Model
Each PropertyGroup has several property and each property has several attribute including:
id
name
description
type
default value
a link to a variable in one of the shaders referenced by the .materialtype file.
...
The icon √ means that it's necessary for us to serialize this property.
What we have for now
MaterialImpl.h
:MaterialID m_id;
Each
Mesh
has aMaterialID
, which can get aMaterial
fromSceneDatabase
.std::string m_name;
Name of
Material
.TextureIDMap m_textureIDs;
Each
Material
has astd::map<MaterialTextureType, TextureID>
, which can getTextureID
by specifiedMaterialTextureType
.After that we can use
TextureID
to get a actural texture path fromSceneDatabase
.What O3DE have
At the begining, we can refer to the
BasePBR
material type of O3DE.BasePBR.materialtype
An explanation of the properties can be found here:
PBR Shading Model
Each
PropertyGroup
has severalproperty
and eachproperty
has severalattribute
including:id
name
description
type
default value
The icon √ means that it's necessary for us to serialize this property.
BaseColor
BaseColorPropertyGroup.json
properties:
Metallic
MetallicPropertyGroup.json
properties:
Roughness
RoughnessPropertyGroup.json
properties:
Specular
SpecularPropertyGroup.json
properties:
Normal
NormalPropertyGroup.json
properties:
Uv
UvPropertyGroup.json
properties:
Irradiance
IrradiancePropertyGroup.json
We can ignore this PropertyGroup for now.
General Settings
GeneralCommonPropertyGroup.json
properties:
How can we expand our Material Sysyem
#122
The text was updated successfully, but these errors were encountered: