79 void _calcTempSquareDist(
const Vector3& worldPos);
106 void setType(LightTypes type);
110 LightTypes getType(
void)
const;
147 void setSpecularColour(
Real red,
Real green,
Real blue);
183 void setAttenuation(
Real range,
Real constant,
Real linear,
Real quadratic);
187 Real getAttenuationRange(
void)
const;
191 Real getAttenuationConstant(
void)
const;
195 Real getAttenuationLinear(
void)
const;
199 Real getAttenuationQuadric(
void)
const;
215 void setPosition(
const Vector3& vec);
221 const Vector3& getPosition(
void)
const;
237 void setDirection(
const Vector3& vec);
243 const Vector3& getDirection(
void)
const;
257 void setSpotlightRange(
const Radian& innerAngle,
const Radian& outerAngle,
Real falloff = 1.0);
261 const Radian& getSpotlightInnerAngle(
void)
const;
265 const Radian& getSpotlightOuterAngle(
void)
const;
269 Real getSpotlightFalloff(
void)
const;
273 void setSpotlightInnerAngle(
const Radian& val);
277 void setSpotlightOuterAngle(
const Radian& val);
281 void setSpotlightFalloff(
Real val);
304 void setPowerScale(
Real power);
309 Real getPowerScale(
void)
const;
312 void _notifyAttached(
Node* parent,
bool isTagPoint =
false);
315 void _notifyMoved(
void);
324 const String& getMovableType(
void)
const;
329 const Vector3& getDerivedPosition(
bool cameraRelativeIfSet =
false)
const;
332 const Vector3& getDerivedDirection(
void)
const;
339 void setVisible(
bool visible);
354 Vector4 getAs4DVector(
bool cameraRelativeIfSet =
false)
const;
378 uint32 getTypeFlags(
void)
const;
394 void resetCustomShadowCameraSetup(
void);
401 bool debugRenderables =
false);
429 void setShadowFarDistance(
Real distance);
432 void resetShadowFarDistance(
void);
436 Real getShadowFarDistance(
void)
const;
437 Real getShadowFarDistanceSquared(
void)
const;
457 Real _deriveShadowNearClipDistance(
const Camera* maincam)
const;
481 Real _deriveShadowFarClipDistance(
const Camera* maincam)
const;
484 void _setCameraRelative(
Camera* cam);
536 virtual void _updateCustomGpuParameter(
uint16 paramIndex,
556 virtual void update(
void)
const;
559 const String& getAnimableDictionaryName(
void)
const;
561 void initialiseAnimableDictionary(
StringVector& vec)
const;
622 const String& getType(
void)
const;
static String FACTORY_TYPE_NAME
Real getSpotlightNearClipDistance() const
Get the near clip plane distance to be used by spotlights that use light clipping.
void setSpotlightNearClipDistance(Real nearClip)
Set the near clip plane distance to be used by spotlights that use light clipping, allowing you to render spots as if they start from further down their frustum.
Abstract class defining a movable object in a scene.
Real getBoundingRadius(void) const
Retrieves the radius of the origin-centered bounding sphere for this object.
Represents a convex volume bounded by planes.
A sphere primitive, mostly used for bounds checking.
4-dimensional homogeneous vector.
ShadowCameraSetupPtr mCustomShadowCameraSetup
Pointer to a custom shadow camera setup.
void setShadowFarClipDistance(Real farClip)
Set the far clip plane distance to be used by the shadow camera, if this light casts texture shadows...
Class representing colour.
CustomParameterMap mCustomParameters
Stores the custom parameters for the light.
float Real
Software floating point type.
PlaneBoundedVolume mNearClipVolume
Class to manage the scene object rendering queue.
vector< String >::type StringVector
Structure recording the use of an automatic parameter.
Standard 3-dimensional vector.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly...
Class representing a general-purpose node an articulated scene graph.
bool mDerivedTransformDirty
Is the derived transform dirty?
static String msMovableType
Shared class-level name for Movable type.
vector< PlaneBoundedVolume >::type PlaneBoundedVolumeList
Real getShadowFarClipDistance() const
Get the far clip plane distance to be used by the shadow camera, if this light casts texture shadows...
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
Real tempSquareDist
Temp tag used for sorting.
LightTypes
Defines the type of light.
size_t _getIndexInFrame() const
Gets the index at which this light is in the current render.
A viewpoint from which the scene will be rendered.
Real getShadowNearClipDistance() const
Get the near clip plane distance to be used by the shadow camera, if this light casts texture shadows...
bool mDerivedCamRelativeDirty
Real mShadowFarDistSquared
void _notifyIndexInFrame(size_t i)
Camera * mCameraToBeRelativeTo
map< uint16, Vector4 >::type CustomParameterMap
Vector3 mDerivedCamRelativePosition
Factory object for creating Light instances.
void setShadowNearClipDistance(Real nearClip)
Set the near clip plane distance to be used by the shadow camera, if this light casts texture shadows...
Interface definition for a factory class which produces a certain kind of MovableObject, and can be registered with Root in order to allow all clients to produce new instances of this object, integrated with the standard Ogre processing.
Vector3 mDerivedDirection
PlaneBoundedVolumeList mFrustumClipVolumes
A 3D box aligned with the x/y/z axes.
Representation of a dynamic light source in the scene.
Collects together the program parameters used for a GpuProgram.
Wrapper class which indicates a given angle value is in Radians.