Loading [MathJax]/extensions/tex2jax.js
Photon Engine
2.0.0-beta
A physically based renderer.
Toggle main menu visibility
Home
Components
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
a
b
c
d
e
f
g
h
k
m
p
r
s
t
u
x
y
z
Typedefs
a
b
c
d
e
f
h
i
k
l
m
p
q
r
s
t
v
Enumerations
e
Enumerator
Concepts
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
i
k
m
n
o
p
r
s
t
v
w
Enumerations
Related Symbols
Files
File List
File Members
All
b
c
f
i
k
m
p
s
Functions
Typedefs
Macros
▼
Photon Engine
Home
Components
►
Engine
►
Engine Directories
Bibliography
►
Namespaces
►
Concepts
►
Classes
▼
Files
▼
File List
Documentation
►
Include
▼
Source
▼
Actor
►
Basic
►
Dome
►
Geometry
►
Image
►
Light
▼
Material
►
Component
►
Volume
AbradedOpaque.cpp
►
AbradedOpaque.h
AbradedSurface.cpp
►
AbradedSurface.h
AbradedTranslucent.cpp
►
AbradedTranslucent.h
►
BinaryMixedSurfaceMaterial.cpp
►
BinaryMixedSurfaceMaterial.h
►
FullMaterial.cpp
►
FullMaterial.h
►
IdealSubstance.cpp
►
IdealSubstance.h
LayeredSurface.cpp
►
LayeredSurface.h
Material.cpp
►
Material.h
MatteOpaque.cpp
►
MatteOpaque.h
SurfaceMaterial.cpp
►
SurfaceMaterial.h
ThinDielectricSurface.cpp
►
ThinDielectricSurface.h
ThinFilm.cpp
►
ThinFilm.h
VolumeMaterial.cpp
►
VolumeMaterial.h
►
ModelParser
►
MotionSource
►
SDLExtension
►
Actor.cpp
►
Actor.h
►
ADome.cpp
►
ADome.h
AMaskedModel.cpp
►
AMaskedModel.h
►
AModel.cpp
►
AModel.h
APhantomModel.cpp
►
APhantomModel.h
►
ATransformedInstance.cpp
►
ATransformedInstance.h
ModelBuilder.cpp
ModelBuilder.h
ModelLoader.cpp
ModelLoader.h
PhysicalActor.cpp
►
PhysicalActor.h
StandaloneSdlResource.h
►
Api
►
Common
►
Core
►
DataIO
►
EngineEnv
►
Frame
►
Math
►
SDL
►
Utility
►
World
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Concepts
Loading...
Searching...
No Matches
Material.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
SDL/TSdlResourceBase.h
"
4
#include "
Core/SurfaceBehavior/SurfaceBehavior.h
"
5
#include "
SDL/sdl_interface.h
"
6
7
#include <string>
8
9
namespace
ph
{
class
CookingContext; }
10
11
namespace
ph
12
{
13
14
class
PrimitiveMetadata;
15
16
class
Material
:
public
TSdlResourceBase
<ESdlTypeCategory::Ref_Material>
17
{
18
public
:
19
virtual
void
genBehaviors
(
const
CookingContext
& ctx,
PrimitiveMetadata
& metadata)
const
= 0;
20
21
public
:
22
PH_DEFINE_SDL_CLASS
(
TSdlOwnerClass<Material>
)
23
{
24
ClassType clazz(std::string(
sdl::category_to_string
(
CATEGORY
)));
25
clazz.docName(
"Material"
);
26
clazz.description(
"Defines and models the appearance of scene elements."
);
27
return
clazz;
28
}
22
PH_DEFINE_SDL_CLASS
(
TSdlOwnerClass<Material>
) {
…
}
29
};
16
class
Material
:
public
TSdlResourceBase
<ESdlTypeCategory::Ref_Material> {
…
};
30
31
}
// end namespace ph
SurfaceBehavior.h
TSdlResourceBase.h
ph::CookingContext
Information about the world being cooked.
Definition
CookingContext.h:24
ph::Material
Definition
Material.h:17
ph::Material::genBehaviors
virtual void genBehaviors(const CookingContext &ctx, PrimitiveMetadata &metadata) const =0
ph::Material::PH_DEFINE_SDL_CLASS
PH_DEFINE_SDL_CLASS(TSdlOwnerClass< Material >)
Definition
Material.h:22
ph::PrimitiveMetadata
Collection of attached components to a primitive. This type effectively "glues" various components th...
Definition
PrimitiveMetadata.h:22
ph::TSdlOwnerClass
SDL binding type for a canonical SDL resource class.
Definition
TSdlOwnerClass.h:23
ph::TSdlResourceBase
A convenient ISdlResource with core requirements implemented. This class is similar to SdlResourceBas...
Definition
TSdlResourceBase.h:16
ph::TSdlResourceBase< ESdlTypeCategory::Ref_Material >::CATEGORY
static constexpr ESdlTypeCategory CATEGORY
Definition
TSdlResourceBase.h:22
ph::sdl::category_to_string
std::string_view category_to_string(const ESdlTypeCategory category)
Definition
ESdlTypeCategory.h:59
ph
The root for all renderer implementations.
Definition
EEngineProject.h:6
sdl_interface.h
Source
Actor
Material
Material.h
Generated by
1.11.0