Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
AbradedTranslucent.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 DielectricInterfaceInfo m_interfaceInfo;
20 MicrosurfaceInfo m_microsurfaceInfo;
21
22public:
24 {
25 ClassType clazz("abraded-translucent");
26 clazz.docName("Abraded Translucent Material");
27 clazz.description("Able to model translucent surfaces with variable roughnesses. Such as frosted glass.");
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 AbradedTranslucent.h:12
AbradedTranslucent()
Definition AbradedTranslucent.cpp:10
PH_DEFINE_SDL_CLASS(TSdlOwnerClass< AbradedTranslucent >)
Definition AbradedTranslucent.h:23
void genSurface(const CookingContext &ctx, SurfaceBehavior &behavior) const override
Definition AbradedTranslucent.cpp:17
Information about the world being cooked.
Definition CookingContext.h:24
Data describing the effects when light hits an dielectric interface.
Definition DielectricInterfaceInfo.h:22
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