00001 #ifndef DYNLIGHT_H
00002 #define DYNLIGHT_H
00003
00004 #include "genesis.h"
00005
00006 #pragma warning( disable : 4068 )
00007
00008 #pragma GE_Type("dynlight.bmp")
00009
00010 typedef struct DynamicLight
00011 {
00012 #pragma GE_Private
00013 geFloat LastTime;
00014 geFloat IntervalWidth;
00015 int NumFunctionValues;
00016 geLight * DynLight;
00017
00018 #pragma GE_Published
00019 geVec3d origin;
00020 int MinRadius;
00021 int MaxRadius;
00022 int InterpolateValues;
00023 int AllowRotation;
00024 char * RadiusFunction;
00025 geFloat RadiusSpeed;
00026 geWorld_Model * Model;
00027 GE_RGBA Color;
00028
00029 #pragma GE_Origin(origin)
00030 #pragma GE_DefaultValue(MinRadius, "50")
00031 #pragma GE_DefaultValue(MaxRadius, "300")
00032 #pragma GE_DefaultValue(Color, "40.0 40.0 153.0")
00033 #pragma GE_DefaultValue(RadiusFunction, "aza")
00034 #pragma GE_DefaultValue(RadiusSpeed, "2.0")
00035 #pragma GE_DefaultValue(InterpolateValues, "1")
00036 #pragma GE_DefaultValue(AllowRotation, "1")
00037
00038 #pragma GE_Documentation(MinRadius, "Minimum radius of the light (texels)")
00039 #pragma GE_Documentation(MaxRadius, "Maximum radius of the light (texels)")
00040 #pragma GE_Documentation(InterpolateValues, "0 or 1. Whether to interpolate between the RadiusFunction values")
00041 #pragma GE_Documentation(AllowRotation, "0 or 1. Whether or not to follow the model rotation if the light is attached to a model")
00042 #pragma GE_Documentation(RadiusFunction, "a-z, repeated (E.g. aabdfzddsfdz) Specify light values over time. a = Minimum z = maximum")
00043 #pragma GE_Documentation(RadiusSpeed, "How fast to run through RadiusFunction values (seconds)")
00044 #pragma GE_Documentation(Model, "Model that the light is attached to. Optional")
00045 #pragma GE_Documentation(Color, "Color of the light")
00046
00047 } DynamicLight;
00048
00049 geBoolean DynLight_Init(geEngine *Engine, geWorld *World, geVFile *Context);
00050 geBoolean DynLight_Reset(geWorld *World);
00051 geBoolean DynLight_Frame(geWorld *World, const geXForm3d *ViewPoint, geFloat Time);
00052 geBoolean DynLight_Shutdown(void);
00053
00054 #pragma warning( default : 4068 )
00055
00056 #endif
00057