| Package | sandy.core.scenegraph |
| Class | public class Camera3D |
| Inheritance | Camera3D ATransformable Node |
As of this version of Sandy, the camera is added to the object tree, which means it is transformed in the same manner as any other object.
[ToDo: Describe the camera in some detail]
| Property | Defined by | ||
|---|---|---|---|
![]() | boundingBox : BBox
The bounding box of this node
IMPORTANT: Do not modify it unless you perfectly know what you are doing
| Node | |
![]() | boundingSphere : BSphere
The bounding sphere of this node
IMPORTANT: Do not modify it unless you perfectly know what you are doing
| Node | |
![]() | broadcaster : BubbleEventBroadcaster
The broadcaster
The broadcaster is used to send events to listeners. | Node | |
![]() | changed : Boolean = false
This property set the cache status of the current node.
| Node | |
![]() | children : Array
The children of this node are stored inside this array.
| Node | |
![]() | culled : CullingState
This property represent the culling state of the current node.
| Node | |
![]() | disable : Boolean = false
Disable the local transformations applied to this Node if set to false.
| ATransformable | |
| far : Number
Far plane distance for culling/clipping.
| Camera3D | ||
| fov : Number
The angle of view of this camera in degrees.
| Camera3D | ||
| frustrum : Frustum
The frustum of the camera.
| Camera3D | ||
| invModelMatrix : Matrix4
Inverse of the model matrix
This is apply at the culling phasis
The matrix is inverted in comparison of the real model view matrix. | Camera3D | ||
| invProjectionMatrix : Matrix4
[read-only]
Returns the inverse of the projection matrix of this camera.
| Camera3D | ||
![]() | matrix : Matrix4 | ATransformable | |
![]() | modelMatrix : Matrix4
Cached matrix corresponding to the transformation to the 0,0,0 frame system
| Node | |
![]() | name : String
Name of this node.
| Node | |
| nbPolygons : uint = 0 | Camera3D | ||
| nbVertices : uint = 0 | Camera3D | ||
| near : Number
Near plane distance for culling/clipping.
| Camera3D | ||
![]() | out : Vector
Forward direction ( local z ) in parent coordinates.
| ATransformable | |
![]() | pan : Number
Pans this object around the local y axis.
| ATransformable | |
![]() | parent : Node
The parent node of this node.
| Node | |
| projectionMatrix : Matrix4
[read-only]
Returns the projection matrix of this camera.
| Camera3D | ||
![]() | roll : Number
Rolls this object around the local z axis.
| ATransformable | |
![]() | rotateX : Number
Rotates this object around an axis parallel to the parents x axis.
| ATransformable | |
![]() | rotateY : Number
Rotates this object around an axis parallel to the parents y axis.
| ATransformable | |
![]() | rotateZ : Number
Rotates this object around an axis paralell to the parents z axis.
| ATransformable | |
![]() | scaleX : Number
x scale of this object.
| ATransformable | |
![]() | scaleY : Number
y scale of this object.
| ATransformable | |
![]() | scaleZ : Number
z scale of this object.
| ATransformable | |
![]() | scene : Scene3D = null
Reference to the scene is it linked to.
| Node | |
![]() | side : Vector
Side direction ( local x ) in parent coordinates.
| ATransformable | |
![]() | target : Vector
The position in the parent frame this object should "look at".
| ATransformable | |
![]() | tilt : Number
Getter for the tilt value
| ATransformable | |
![]() | up : Vector
Up direction ( local y ) in parent coordinates.
| ATransformable | |
![]() | viewMatrix : Matrix4
Cached matrix corresponding to the transformation to the camera frame system
| Node | |
| viewport : ViewPort
The camera viewport
| Camera3D | ||
![]() | visible : Boolean = true
Specify the visibility of this node.
| Node | |
![]() | x : Number
x position of this object in its parent frame.
| ATransformable | |
![]() | y : Number
y position of this object in its parent frame.
| ATransformable | |
![]() | z : Number
z position of the node in its parent frame.
| ATransformable | |
| Method | Defined by | ||
|---|---|---|---|
|
Camera3D(p_nWidth:Number, p_nHeight:Number, p_nFov:Number = 45, p_nNear:Number = 50, p_nFar:Number = 10000)
Creates a camera for projecting visible objects in the world.
| Camera3D | ||
![]() |
Adds a new child to this node.
| Node | |
![]() |
addEventListener(p_sEvt:String, p_oL:*):void
Adds a listener for the specified event.
| Node | |
|
addToDisplayList(p_oShape:IDisplayable):void
Adds a displayable object to the display list.
| Camera3D | ||
|
Nothing to do - the camera can't be culled
| Camera3D | ||
|
destroy():void
Delete the camera node and clear its displaylist.
| Camera3D | ||
![]() |
getChildByName(p_sName:String, p_bRecurs:Boolean = false):Node
Returns the child node with the specified name.
| Node | |
![]() |
getChildFromId(p_nId:uint, p_bRecurs:Boolean = false):Node
Returns the child node with the specified id.
| Node | |
![]() |
getChildList():Array
Returns an array with all child nodes of this node.
| Node | |
![]() |
getPosition(p_sMode:String = "local"):Vector
Returns the position of this group or object.
| ATransformable | |
![]() |
hasParent():Boolean
Tests if this node has a parent.
| Node | |
![]() |
initFrame():void
Initiates the local coordinate system for this object.
| ATransformable | |
![]() |
Tests if the node passed in the argument is parent of this node.
| Node | |
![]() |
lookAt(p_nX:Number, p_nY:Number, p_nZ:Number):void
Makes this object "look at" the specified position in the parent frame.
| ATransformable | |
![]() |
moveForward(p_nD:Number):void
Translates this object along its forward vector ( local z ) in the parent frame.
| ATransformable | |
![]() |
moveHorizontally(p_nD:Number):void
Translates this object parallel to its parent zx plane and in its forward direction.
| ATransformable | |
![]() |
moveLateraly(p_nD:Number):void
Translates this object laterally in its parent frame.
| ATransformable | |
![]() |
moveSideways(p_nD:Number):void
Translates this object along its side vector ( local x ) in the parent frame.
| ATransformable | |
![]() |
moveUpwards(p_nD:Number):void
Translates this object along its up vector ( local y ) in the parent frame.
| ATransformable | |
![]() |
moveVertically(p_nD:Number):void
Translates this object vertically in ots parent frame.
| ATransformable | |
|
projectArray(p_oList:Array):void
Project the vertices list given in parameter. | Camera3D | ||
|
projectVertex(p_oVertex:Vertex):void
Project the vertex passed as parameter. | Camera3D | ||
![]() |
remove():void
Removes this node from the node tree, saving its child nodes.
| Node | |
![]() |
removeChildById(p_nId:Number):Boolean
Removes the child node with the specified id.
| Node | |
![]() |
removeChildByName(p_sName:String):Boolean
Removes the child node with the specified name.
| Node | |
![]() |
removeEventListener(p_sEvt:String, p_oL:*):void
Removes a listener for the specified event.
| Node | |
|
Nothing is done here - the camera is not rendered
| Camera3D | ||
|
renderDisplayList(p_oScene:Scene3D):void
Process the rendering of the scene.
| Camera3D | ||
![]() |
rotateAxis(p_nX:Number, p_nY:Number, p_nZ:Number, p_nAngle:Number):void
Rotate this object around the specified axis in the parent frame by the specified angle.
| ATransformable | |
|
setPerspectiveProjection(p_nFovY:Number, p_nAspectRatio:Number, p_nZNear:Number, p_nZFar:Number):void
Sets a projection matrix with perspective.
| Camera3D | ||
![]() |
setPosition(p_nX:Number, p_nY:Number, p_nZ:Number):void
Sets the position of this object in coordinates of its parent frame.
| ATransformable | |
![]() |
swapParent(p_oNewParent:Node):void
Moves this node to another parent node.
| Node | |
|
toString():String
| Camera3D | ||
![]() |
translate(p_nX:Number, p_nY:Number, p_nZ:Number):void
Translate this object from it's current position with the specified offsets.
| ATransformable | |
|
Updates the state of the camera transformation.
| Camera3D | ||
|
updatePerspective():void
Updates the perspective projection.
| Camera3D | ||
![]() |
updateTransform():void
Updates the transform matrix of the current object/node before it is rendered.
| ATransformable | |
| far | property |
far:Number [read-write]Far plane distance for culling/clipping.
Implementation public function get far():Number
public function set far(value:Number):void
| fov | property |
fov:Number [read-write]The angle of view of this camera in degrees.
Implementation public function get fov():Number
public function set fov(value:Number):void
| frustrum | property |
public var frustrum:FrustumThe frustum of the camera.
| invModelMatrix | property |
public var invModelMatrix:Matrix4
Inverse of the model matrix
This is apply at the culling phasis
The matrix is inverted in comparison of the real model view matrix.
This allows replacement of the objects in the correct camera frame before projection
| invProjectionMatrix | property |
invProjectionMatrix:Matrix4 [read-only]Returns the inverse of the projection matrix of this camera.
Implementation public function get invProjectionMatrix():Matrix4
| nbPolygons | property |
public var nbPolygons:uint = 0
| nbVertices | property |
public var nbVertices:uint = 0
| near | property |
near:Number [read-write]Near plane distance for culling/clipping.
Implementation public function get near():Number
public function set near(value:Number):void
| projectionMatrix | property |
projectionMatrix:Matrix4 [read-only]Returns the projection matrix of this camera.
Implementation public function get projectionMatrix():Matrix4
| viewport | property |
public var viewport:ViewPortThe camera viewport
| Camera3D | () | constructor |
public function Camera3D(p_nWidth:Number, p_nHeight:Number, p_nFov:Number = 45, p_nNear:Number = 50, p_nFar:Number = 10000)Creates a camera for projecting visible objects in the world.
By default the camera shows a perspective projection
Parametersp_nWidth:Number — Width of the camera viewport in pixels
|
|
p_nHeight:Number — Height of the camera viewport in pixels
|
|
p_nFov:Number (default = 45) — The vertical angle of view in degrees - Default 45
|
|
p_nNear:Number (default = 50) — The distance from the camera to the near clipping plane - Default 50
|
|
p_nFar:Number (default = 10000) — The distance from the camera to the far clipping plane - Default 10000
|
| addToDisplayList | () | method |
public function addToDisplayList(p_oShape:IDisplayable):voidAdds a displayable object to the display list.
Parametersp_oShape:IDisplayable — The object to add
|
| cull | () | method |
public override function cull(p_oScene:Scene3D, p_oFrustum:Frustum, p_oViewMatrix:Matrix4, p_bChanged:Boolean):voidNothing to do - the camera can't be culled
Parametersp_oScene:Scene3D |
|
p_oFrustum:Frustum |
|
p_oViewMatrix:Matrix4 |
|
p_bChanged:Boolean |
| destroy | () | method |
public override function destroy():voidDelete the camera node and clear its displaylist.
| projectArray | () | method |
public function projectArray(p_oList:Array):void
Project the vertices list given in parameter. The vertices are projected to the screen, as a 2D position.
Parametersp_oList:Array |
| projectVertex | () | method |
public function projectVertex(p_oVertex:Vertex):void
Project the vertex passed as parameter. The vertices are projected to the screen, as a 2D position.
Parametersp_oVertex:Vertex |
| render | () | method |
public override function render(p_oScene:Scene3D, p_oCamera:Camera3D):voidNothing is done here - the camera is not rendered
Parametersp_oScene:Scene3D |
|
p_oCamera:Camera3D |
| renderDisplayList | () | method |
public function renderDisplayList(p_oScene:Scene3D):voidProcess the rendering of the scene. The camera has all the information needed about the objects to render. The camera stores all the visible shape/polygons into an array, and loop through it calling their display method. Before the display call, the container graphics is cleared.
Parametersp_oScene:Scene3D |
| setPerspectiveProjection | () | method |
public function setPerspectiveProjection(p_nFovY:Number, p_nAspectRatio:Number, p_nZNear:Number, p_nZFar:Number):voidSets a projection matrix with perspective.
This projection allows a natural visual presentation of objects, mimicking 3D perspective.
Parametersp_nFovY:Number — The angle of view in degrees - Default 45.
|
|
p_nAspectRatio:Number — The ratio between vertical and horizontal dimension - Default the viewport ratio (width/height)
|
|
p_nZNear:Number — The distance betweeen the camera and the near plane - Default 10.
|
|
p_nZFar:Number — The distance betweeen the camera position and the far plane. Default 10 000.
|
| toString | () | method |
public override function toString():String
Returns
String |
| update | () | method |
public override function update(p_oScene:Scene3D, p_oModelMatrix:Matrix4, p_bChanged:Boolean):voidUpdates the state of the camera transformation.
Parametersp_oScene:Scene3D — The current scene
|
|
p_oModelMatrix:Matrix4 — The matrix which represents the parent model matrix. Basically it stores the rotation/translation/scale of all the nodes above the current one.
|
|
p_bChanged:Boolean — A boolean value which specify if the state has changed since the previous rendering. If false, we save some matrix multiplication process.
|
| updatePerspective | () | method |
public function updatePerspective():voidUpdates the perspective projection.