184 bool isViewOutOfDate(
void)
const;
186 void invalidateFrustum(
void)
const;
188 void invalidateView(
void)
const;
195 virtual void setWindowImpl(
void)
const;
210 virtual void addListener(
Listener* l);
212 virtual void removeListener(
Listener* l);
237 void setPosition(
const Vector3& vec);
241 const Vector3& getPosition(
void)
const;
249 void moveRelative(
const Vector3& vec);
260 void setDirection(
const Vector3& vec);
264 Vector3 getDirection(
void)
const;
282 void lookAt(
const Vector3& targetPoint );
299 void roll(
const Radian& angle);
303 void yaw(
const Radian& angle);
307 void pitch(
const Radian& angle);
351 void _renderScene(
Viewport *vp,
bool includeOverlays);
359 void _notifyRenderedFaces(
unsigned int numfaces);
363 void _notifyRenderedBatches(
unsigned int numbatches);
367 unsigned int _getNumRenderedFaces(
void)
const;
371 unsigned int _getNumRenderedBatches(
void)
const;
375 const Quaternion& getDerivedOrientation(
void)
const;
378 const Vector3& getDerivedPosition(
void)
const;
381 Vector3 getDerivedDirection(
void)
const;
384 Vector3 getDerivedUp(
void)
const;
387 Vector3 getDerivedRight(
void)
const;
391 const Quaternion& getRealOrientation(
void)
const;
394 const Vector3& getRealPosition(
void)
const;
397 Vector3 getRealDirection(
void)
const;
403 Vector3 getRealRight(
void)
const;
406 const String& getMovableType(
void)
const;
427 void setAutoTracking(
bool enabled,
SceneNode* target = 0,
446 void setLodBias(
Real factor = 1.0);
452 Real getLodBias(
void)
const;
466 virtual void setLodCamera(
const Camera* lodCam);
474 virtual const Camera* getLodCamera()
const;
481 Ray getCameraToViewportRay(
Real screenx,
Real screeny)
const;
487 void getCameraToViewportRay(
Real screenx,
Real screeny,
Ray* outRay)
const;
500 Real screenTop,
Real screenRight,
Real screenBottom,
bool includeFarPlane =
false);
513 void getCameraToViewportBoxVolume(
Real screenLeft,
518 Real _getLodBiasInverse(
void)
const;
522 void _autoTrack(
void);
536 virtual void resetWindow (
void);
543 Real getBoundingRadius(
void)
const;
565 void setAutoAspectRatio(
bool autoratio);
569 bool getAutoAspectRatio(
void)
const;
599 const Vector3* getWorldSpaceCorners(
void)
const;
601 const Plane& getFrustumPlane(
unsigned short plane )
const;
603 bool projectSphere(
const Sphere& sphere,
606 Real getNearClipDistance(
void)
const;
608 Real getFarClipDistance(
void)
const;
610 const Matrix4& getViewMatrix(
void)
const;
619 const Matrix4& getViewMatrix(
bool ownFrustumOnly)
const;
637 virtual void synchroniseBaseSettingsWith(
const Camera* cam);
640 const Vector3& getPositionForViewUpdate(
void)
const;
642 const Quaternion& getOrientationForViewUpdate(
void)
const;
Representation of a ray in space, i.e.
A viewpoint from which the scene will be rendered.
Class encapsulating a standard 4x4 homogeneous matrix.
float Real
Software floating point type.
Vector3 mAutoTrackOffset
Tracking offset for fine tuning.
Defines a plane in 3D space.
Frustum * getCullingFrustum(void) const
Returns the custom culling frustum in use.
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
Manages the organisation and rendering of a 'scene' i.e.
static const Vector3 ZERO
Viewport * getViewport(void) const
Get the last viewport which was attached to this camera.
A 3D box aligned with the x/y/z axes.
virtual void setUseRenderingDistance(bool use)
Set whether this camera should use the 'rendering distance' on objects to exclude distant objects fro...
Class representing a node in the scene graph.
bool mYawFixed
Whether to yaw around a fixed axis.
Quaternion mRealOrientation
Real world orientation/position of the camera.
unsigned int mVisBatchesLastRender
Stored number of visible faces in the last render.
Implementation of a Quaternion, i.e.
bool mWindowSet
Is viewing window used.
Vector3 mPosition
Camera position - default (0,0,0)
Quaternion mOrientation
Camera orientation, quaternion style.
SceneNode * mAutoTrackTarget
SceneNode which this Camera will automatically track.
virtual void cameraPreRenderScene(Camera *cam)
Called prior to the scene being rendered with this camera.
SceneManager * mSceneMgr
Scene manager responsible for the scene.
A sphere primitive, mostly used for bounds checking.
void _notifyViewport(Viewport *viewport)
Notifies this camera that a viewport is using it.
vector< Listener * >::type ListenerList
bool mAutoAspectRatio
Whether aspect ratio will automatically be recalculated when a viewport changes its size...
Standard 3-dimensional vector.
virtual bool isWindowSet(void) const
Returns if a viewport window is being used.
std::ostream & operator<<(std::ostream &o, const TRect< T > &r)
Represents a convex volume bounded by planes.
const Camera * mLodCamera
Camera to use for LOD calculation.
Vector3 mYawFixedAxis
Fixed axis to yaw around.
virtual void cameraDestroyed(Camera *cam)
Called when the camera is being destroyed.
An abstraction of a viewport, i.e.
Real mSceneLodFactorInv
Inverted scene LOD factor, can be used by Renderables to adjust their LOD.
unsigned int mVisFacesLastRender
Stored number of visible faces in the last render.
virtual bool getUseRenderingDistance(void) const
Get whether this camera should use the 'rendering distance' on objects to exclude distant objects fro...
Wrapper class which indicates a given angle value is in Radians.
PolygonMode
The polygon mode to use when rasterising.
Frustum * mCullFrustum
Custom culling frustum.
static String msMovableType
Shared class-level name for Movable type.
static const Vector3 UNIT_Y
SceneNode * getAutoTrackTarget(void) const
Get the auto tracking target for this camera, if any.
FrustumPlane
Worldspace clipping planes.
void setCullingFrustum(Frustum *frustum)
Tells the camera to use a separate Frustum instance to perform culling.
PolygonMode mSceneDetail
Rendering type.
Quaternion mDerivedOrientation
Derived orientation/position of the camera, including reflection.
Listener interface so you can be notified of Camera events.
virtual void cameraPostRenderScene(Camera *cam)
Called after the scene has been rendered with this camera.
const Vector3 & getAutoTrackOffset(void) const
Get the auto tracking offset for this camera, if it is auto tracking.
Viewport * mLastViewport
The last viewport to be added using this camera.
bool mUseRenderingDistance
Whether or not the rendering distance of objects should take effect for this camera.
vector< Plane >::type mWindowClipPlanes
Windowed viewport clip planes.