Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
AbradedOpaque.h
Go to the documentation of this file.
1#pragma once
2
6#include "SDL/sdl_interface.h"
7
8namespace ph
9{
10
12{
13public:
15
16 void genSurface(const CookingContext& ctx, SurfaceBehavior& behavior) const override;
17
18private:
19 ConductiveInterfaceInfo m_interfaceInfo;
20 MicrosurfaceInfo m_microsurfaceInfo;
21
22public:
24 {
25 ClassType clazz("abraded-opaque");
26 clazz.docName("Abraded Opaque Material");
27 clazz.description("Able to model surfaces ranging from nearly specular to extremely rough appearances.");
28 clazz.baseOn<SurfaceMaterial>();
29
30 clazz.addStruct(&OwnerType::m_interfaceInfo);
31 clazz.addStruct(&OwnerType::m_microsurfaceInfo);
32
33 return clazz;
34 }
35};
36
37}// end namespace ph
Definition AbradedOpaque.h:12
AbradedOpaque()
Definition AbradedOpaque.cpp:10
void genSurface(const CookingContext &ctx, SurfaceBehavior &behavior) const override
Definition AbradedOpaque.cpp:18
PH_DEFINE_SDL_CLASS(TSdlOwnerClass< AbradedOpaque >)
Definition AbradedOpaque.h:23
Data describing the effects when light hits an conductive interface.
Definition ConductiveInterfaceInfo.h:23
Information about the world being cooked.
Definition CookingContext.h:24
Definition MicrosurfaceInfo.h:19
Definition SurfaceBehavior.h:15
Definition SurfaceMaterial.h:15
SDL binding type for a canonical SDL resource class.
Definition TSdlOwnerClass.h:23
The root for all renderer implementations.
Definition EEngineProject.h:6