Class: Camera

Camera

Camera class.

new Camera(renderer, options)

Name Type Description
renderer Renderer optional Renderer uses the camera instance.
options Object optional Camera options:
Name Type Default Description
name Object optional Camera name.
viewAngle number 38 optional Camera angle of view. Default is 30.0
near number 1 optional Camera near plane distance. Default is 1.0
far number og.math.MAX optional Camera far plane distance. Deafult is og.math.MAX
eye Vec3 [0,0,0] optional Camera eye position. Default (0,0,0)
look Vec3 [0,0,0] optional Camera look position. Default (0,0,0)
up Vec3 [0,1,0] optional Camera eye position. Default (0,1,0)
Fires:

Members

protected_aspectNumber

Aspect ratio.

protected_bVec3

Camera forward vector.

protected_normalMatrixMat3

Camera normal matrix.

protected_rVec3

Camera right vector.

protected_uVec3

Camera up vector.

protected_viewAngleNumber

Camera view angle in degrees

protected_viewMatrixMat4

Camera view matrix.

eventsEvents

Camera events handler

eyeVec3

Camera position.

eyeHighVec3

Camera RTE high position

eyeLowVec3

Camera RTE low position

rendererRenderer

Assigned renderer

Methods

_init(renderer, options)

Camera initialization.
Name Type Description
renderer Renderer OpenGlobus renderer object.
options Object optional Camera options:
Name Type Description
viewAngle number optional Camera angle of view. Default is 30.0
near number optional Camera near plane distance. Default is 1.0
far number optional Camera far plane distance. Deafult is og.math.MAX
eye Vec3 optional Camera eye position. Default (0,0,0)
look Vec3 optional Camera look position. Default (0,0,0)
up Vec3 optional Camera eye position. Default (0,1,0)

_setProj(angle, aspect)

Sets up camera projection
Name Type Description
angle nnumber Camera's view angle
aspect number Screen aspect ration

getAspectRatio(){number}

Returns aspect ratio
Returns:
Type Description
number - Aspect ratio

getInverseProjectionMatrix(){Mat4}

Returns inverse projection matrix.
Returns:
Type Description
Mat4 - Inversed projection-view matrix.

getInverseProjectionViewMatrix(){Mat4}

Returns inverse projection and model matrix product.
Returns:
Type Description
Mat4 - Inversed projection-view matrix.

getNormalMatrix(){Mat3}

Returns normal matrix.
Returns:
Type Description
Mat3 - Normal matrix.

getProjectionMatrix(){Mat4}

Returns projection matrix.
Returns:
Type Description
Mat4 - Projection matrix.

getProjectionViewMatrix(){Mat4}

Returns projection and model matrix product.
Returns:
Type Description
Mat4 - Projection-view matrix.

getViewAngle(){number}

Gets camera view angle in degrees
Returns:
Type Description
number angle -

getViewMatrix(){Mat4}

Returns model matrix.
Returns:
Type Description
Mat4 - View matrix.

look(look, up)

Sets camera look point
Name Type Description
look Vec3 Look point
up Vec3 optional Camera up vector otherwise camera current up vector(this._u)
Pitch the camera to the angle in degrees
Name Type Description
angle number Delta pitch angle in degrees

project(v){Vec2}

Gets projected 3d point to the 2d screen coordiantes
Name Type Description
v Vec3 Cartesian 3d coordiantes
Returns:
Type Description
Vec2 - Screen point coordinates

projectedSize(p, r){number}

Gets 3d size factor. Uses in LOD distance calculation.
Name Type Description
p Vec3 Far point.
r Vec3 Far point.
Returns:
Type Description
number - Size factor.
Refresh camera matrices
Roll the camera to the angle in degrees
Name Type Description
angle number Delta roll angle in degrees

rotateAround(angle, isArc, center, up)

Rotates camera around center point
Name Type Description
angle number Rotation angle in radians
isArc boolean If true camera up vector gets from current up vector every frame, otherwise up is always input parameter.
center Vec3 Point that the camera rotates around
up Vecto3 optional Camera up vector

rotateHorizontal(angle, isArc, center, up)

Rotates camera around center point by horizontal.
Name Type Description
angle number Rotation angle in radians.
isArc boolaen If true camera up vector gets from current up vector every frame, otherwise up is always input parameter.
center Vec3 Point that the camera rotates around.
up Vec3 optional Camera up vector.

rotateVertical(angle, center)

Rotates camera around center point by vecrtical.
Name Type Description
angle number Rotation angle in radians.
center Vec3 Point that the camera rotates around.

set(eye, look, up){Camera}

Sets camera to eye position
Name Type Description
eye Vec3 Camera position
look Vec3 Look point
up Vec3 Camera up vector
Returns:
Type Description
Camera - This camera

setAspectRatio(aspect)

Sets aspect ratio
Name Type Description
aspect Number Camera aspect ratio

setViewAngle(angle)

Sets camera view angle in degrees
Name Type Description
angle number View angle

slide(du, dv, dn)

Slides camera to vector d - (du, dv, dn)
Name Type Description
du number delta X
dv number delta Y
dn number delta Z

unproject(x, y){Vec3}

Returns normal vector direction to to the unprojected screen point from camera eye
Name Type Description
x number Scren X coordinate
y number Scren Y coordinate
Returns:
Type Description
Vec3 - Direction vector

abstractupdate()

Updates camera view space
Yaw the camera to the angle in degrees
Name Type Description
angle number Delta yaw angle in degrees