12#ifndef TT_INCLUDE__MATERIALEFFECTCLASS_H
13#define TT_INCLUDE__MATERIALEFFECTCLASS_H
14#include "engine_vector.h"
17class MaterialPassClass;
18class MaterialEffectClass :
public MultiListObjectClass,
public RefCountClass
21 MaterialEffectClass(
void);
22 virtual ~MaterialEffectClass(
void);
23 void Enable_Auto_Remove(
bool onoff) { AutoRemoveEnabled = onoff; }
24 bool Is_Auto_Remove_Enabled(
void) {
return AutoRemoveEnabled; }
25 void Enable_Suppress_Shadows(
bool onoff) { SuppressShadows = onoff; }
26 bool Are_Shadows_Suppressed(
void) {
return SuppressShadows; }
27 virtual void Timestep(
float dt) { }
28 virtual void Render_Push(RenderInfoClass & rinfo,PhysClass * obj) = 0;
29 virtual void Render_Pop(RenderInfoClass & rinfo) = 0;
30 static void Timestep_All_Effects(
float dt);
32 bool AutoRemoveEnabled;
36 static MultiListClass<MaterialEffectClass> AllocatedEffects;