Photon Engine
2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
SurfaceMaterial.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Actor/Material/Material.h
"
4
#include "
SDL/sdl_interface.h
"
5
6
#include <memory>
7
8
namespace
ph
9
{
10
11
class
SurfaceOptics;
12
class
SurfaceBehavior;
13
14
class
SurfaceMaterial
:
public
Material
15
{
16
public
:
17
virtual
void
genSurface
(
const
CookingContext
& ctx,
SurfaceBehavior
& behavior)
const
= 0;
18
19
void
genBehaviors
(
const
CookingContext
& ctx,
PrimitiveMetadata
& metadata)
const override
;
20
21
public
:
22
PH_DEFINE_SDL_CLASS
(
TSdlOwnerClass<SurfaceMaterial>
)
23
{
24
ClassType clazz(
"surface-material"
);
25
clazz.docName(
"Surface Material"
);
26
clazz.baseOn<
Material
>();
27
return
clazz;
28
}
29
};
30
31
}
// end namespace ph
Material.h
ph::CookingContext
Information about the world being cooked.
Definition
CookingContext.h:24
ph::Material
Definition
Material.h:17
ph::PrimitiveMetadata
Collection of attached components to a primitive. This type effectively "glues" various components th...
Definition
PrimitiveMetadata.h:22
ph::SurfaceBehavior
Definition
SurfaceBehavior.h:15
ph::SurfaceMaterial
Definition
SurfaceMaterial.h:15
ph::SurfaceMaterial::PH_DEFINE_SDL_CLASS
PH_DEFINE_SDL_CLASS(TSdlOwnerClass< SurfaceMaterial >)
Definition
SurfaceMaterial.h:22
ph::SurfaceMaterial::genSurface
virtual void genSurface(const CookingContext &ctx, SurfaceBehavior &behavior) const =0
ph::SurfaceMaterial::genBehaviors
void genBehaviors(const CookingContext &ctx, PrimitiveMetadata &metadata) const override
Definition
SurfaceMaterial.cpp:8
ph::TSdlOwnerClass
SDL binding type for a canonical SDL resource class.
Definition
TSdlOwnerClass.h:23
ph
The root for all renderer implementations.
Definition
EEngineProject.h:6
sdl_interface.h
Source
Actor
Material
SurfaceMaterial.h
Generated by
1.11.0