55static _LightingLODCutoff = 0.5f;
56static _LightingLODCutoff2 = 0.5f * 0.5f;
103 double atten_start,atten_end;
113 if (dist > atten_start) {
122 atten = 1.0f - (dist - atten_start) / (atten_end - atten_start);
156 if (
Diffuse.Length2() > _LightingLODCutoff2) {
250 if (diff[0]<0.05f && diff[1]<0.05f && diff[2]<0.05f) {
275 for (
int light_index=0; light_index <
LightCount; light_index++) {
280 for (
int i =
LightCount; i > light_index; --i) {
316 for (
int light_index=0; light_index<
LightCount; light_index++) {
327 _LightingLODCutoff = inten;
328 _LightingLODCutoff2 = _LightingLODCutoff * _LightingLODCutoff;
333 return _LightingLODCutoff;
385 float primary_contribution =
InputLights[0].Contribution();
390 for (
int i = 1; i < num_lights; ++i) {
393 float ratio =
InputLights[i].Contribution() / primary_contribution;
408 if(temp.
X > 360.0f) {
float Get_Intensity(void) const
void Get_Far_Attenuation_Range(double &fStart, double &fEnd) const
void Get_Spot_Direction(Vector3 &dir) const
void Get_Ambient(Vector3 *set_c) const
float Get_Spot_Angle_Cos(void) const
int Get_Flag(FlagsType flag) const
void Get_Diffuse(Vector3 *set_c) const
InputLightStruct InputLights[MAX_LIGHTS]
void Add_Fill_Light(void)
~LightEnvironmentClass(void)
LightEnvironmentClass(void)
void Pre_Render_Update(const Matrix3D &camera_tm)
static float Get_Lighting_LOD_Cutoff(void)
static void Set_Lighting_LOD_Cutoff(float inten)
OutputLightStruct OutputLights[MAX_LIGHTS]
void Reset(const Vector3 &object_center, const Vector3 &scene_ambient)
void Add_Light(const LightClass &light)
void Calculate_Fill_Light(void)
InputLightStruct FillLight
Vector3 Rotate_Vector(const Vector3 &vect) const
WWINLINE Vector3 Get_Z_Vector() const
Vector3 Inverse_Rotate_Vector(const Vector3 &vect) const
Vector3 Get_Position(void) const
const Matrix3D & Get_Transform(void) const
static WWINLINE float Dot_Product(const Vector3 &a, const Vector3 &b)
static float Clamp(float val, float min=0.0f, float max=1.0f)
static WWINLINE float Fabs(float val)
void HSV_To_RGB(Vector3 &rgb, const Vector3 &hsv)
void RGB_To_HSV(Vector3 &hsv, const Vector3 &rgb)
const float DIFFUSE_TO_AMBIENT_FRACTION
void Init(const InputLightStruct &input, const Matrix3D &camera_tm)