329 cload.
Read(&lightinfo,
sizeof(lightinfo));
364 cload.
Read(&spotinfo,
sizeof(spotinfo));
372 cload.
Read(&atteninfo,
sizeof(atteninfo));
378 cload.
Read(&atteninfo,
sizeof(atteninfo));
409 memset(&lightinfo,0,
sizeof(lightinfo));
438 csave.
Write(&lightinfo,
sizeof(lightinfo));
445 memset(&spotinfo,0,
sizeof(spotinfo));
451 csave.
Write(&spotinfo,
sizeof(spotinfo));
463 memset(&atten,0,
sizeof(atten));
466 csave.
Write(&atten,
sizeof(atten));
478 memset(&atten,0,
sizeof(atten));
481 csave.
Write(&atten,
sizeof(atten));
573 WWDEBUG_SAY((
"Unhandled Chunk: 0x%X File: %s Line: %d\r\n",__FILE__,__LINE__));
#define W3D_LIGHT_ATTRIBUTE_SPOT
#define W3D_LIGHT_ATTRIBUTE_DIRECTIONAL
@ W3D_CHUNK_FAR_ATTENUATION
@ W3D_CHUNK_SPOT_LIGHT_INFO
@ W3D_CHUNK_NEAR_ATTENUATION
#define W3D_LIGHT_ATTRIBUTE_POINT
#define W3D_LIGHT_ATTRIBUTE_CAST_SHADOWS
#define W3D_LIGHT_ATTRIBUTE_TYPE_MASK
#define WRITE_MICRO_CHUNK(csave, id, var)
#define READ_MICRO_CHUNK(cload, id, var)
uint32 Cur_Micro_Chunk_ID()
uint32 Read(void *buf, uint32 nbytes)
uint32 Write(const void *buf, uint32 nbytes)
bool Begin_Chunk(uint32 id)
virtual bool Load(ChunkLoadClass &cload)
virtual void Notify_Removed(SceneClass *scene)
float Get_Intensity(void) const
void Set_Diffuse(const Vector3 &color)
void Get_Far_Attenuation_Range(double &fStart, double &fEnd) const
void Set_Flag(FlagsType flag, bool onoff)
bool Are_Shadows_Enabled(void) const
RenderObjClass * Clone(void) const
void Set_Spot_Direction(const Vector3 &dir)
WW3DErrorType Save_W3D(ChunkSaveClass &csave)
void Get_Ambient(Vector3 *set_c) const
void Enable_Shadows(bool onoff)
LightClass(LightType type=POINT)
virtual ~LightClass(void)
void Set_Near_Attenuation_Range(double nStart, double nEnd)
void Set_Spot_Exponent(float k)
WW3DErrorType Load_W3D(ChunkLoadClass &cload)
void Set_Ambient(const Vector3 &color)
virtual const PersistFactoryClass & Get_Factory(void) const
void Set_Spot_Angle(float a)
void Get_Near_Attenuation_Range(double &nStart, double &nEnd) const
void Set_Intensity(float inten)
virtual bool Save(ChunkSaveClass &csave)
void Set_Far_Attenuation_Range(double fStart, double fEnd)
int Get_Flag(FlagsType flag) const
virtual void Notify_Added(SceneClass *scene)
LightClass & operator=(const LightClass &)
virtual void Get_Obj_Space_Bounding_Box(AABoxClass &box) const
void Get_Diffuse(Vector3 *set_c) const
void Set_Specular(const Vector3 &color)
void Get_Specular(Vector3 *set_c) const
virtual void Get_Obj_Space_Bounding_Sphere(SphereClass &sphere) const
float Get_Attenuation_Range(void) const
virtual void Set_Transform(const Matrix3D &m)
virtual void Notify_Added(SceneClass *scene)
RenderObjClass & operator=(const RenderObjClass &)
virtual void Set_Force_Visible(int onoff)
virtual void Notify_Removed(SceneClass *scene)
const Matrix3D & Get_Transform(void) const
virtual void Register(RenderObjClass *obj, RegType for_what)=0
virtual void Unregister(RenderObjClass *obj, RegType for_what)=0
WWINLINE void Set(float x, float y, float z)
static void Convert_Vector(const W3dVectorStruct &v, Vector3 *set)
static void Convert_Color(const W3dRGBStruct &rgb, Vector3 *set)
@ LIGHT_VARIABLE_TRANSFORM
SimplePersistFactoryClass< LightClass, WW3D_PERSIST_CHUNKID_LIGHT > _LightFactory
W3dVectorStruct SpotDirection