12#ifndef TT_INCLUDE__UNDERGROUNDEFFECTCLASS_H
13#define TT_INCLUDE__UNDERGROUNDEFFECTCLASS_H
15#include "MaterialEffectClass.h"
20class MatrixMapperClass;
22class UndergroundEffectClass :
public MaterialEffectClass
25 UndergroundEffectClass(
void);
26 ~UndergroundEffectClass(
void);
28 virtual void Timestep(
float dt);
29 virtual void Render_Push(RenderInfoClass & rinfo,PhysClass * obj);
30 virtual void Render_Pop(RenderInfoClass & rinfo);
32 void Set_Underground(
bool onoff);
33 void Set_Visible(
bool onoff);
34 bool Is_Underground() {
return IsUnderground; }
35 bool Is_Visible() {
return IsVisible; }
36 void Set_Fade_Distance(
float d) { FadeDistance = d; }
37 float Get_Fade_Distance()
const {
return FadeDistance; }
38 void Set_Color(Vector3 &color) {Color = color;}
39 Vector3 & Get_Color() {
return Color;}
41 static const char* Get_Underground_Shader_Name() {
return UndergroundShaderName; };
42 static void Set_Underground_Shader_Name(
const char* new_name);
50 float CurrentFraction;
51 bool RenderStealthMaterial;
53 MaterialPassClass* MaterialPass;
54 MatrixMapperClass* Mapper;
57 static char UndergroundShaderName[64];
60 void Update_Target_Fraction(
void);