Constructors

Link copied to clipboard
constructor()

Creates a ZCamera object with a default lens and default lookAt and up vectors.

constructor(lookAt: ZVector3, up: ZVector3, lens: ZPerspectiveLens)

Initializes a ZCamera with the provided lookAt point, Up vector, and lens to be used.

constructor(lookAt: ZVector3, up: ZVector3)

Constructs a new ZCamera object with the given lookAt point and up vector. This constructor initializes the transform of the camera with the provided lookAt vector and up vector. It also sets the lens of the camera to the default perspective lens.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
@Transient
open override var children: Array<ZObject>

An array of ZObjects that are children of this object, allowing for a hierarchical structure.

Link copied to clipboard
open val hasParent: Boolean
Link copied to clipboard
val id: String

A unique identifier for the object, automatically generated to ensure uniqueness.

Link copied to clipboard

A boolean indicating whether the object has been initialized. This is set to true after the first call to initialize.

Link copied to clipboard
open val isRoot: Boolean
Link copied to clipboard

Represents the lens used in the camera object.

Link copied to clipboard

The name of the object. If not explicitly set, a default name is generated based on the object's type and ID.

Link copied to clipboard
open override val parent: ZObject?

A reference to the parent ZObject, if any. Null if the object has no parent, making it a root object.

Link copied to clipboard

Represents the projection matrix used by the camera lens.

Link copied to clipboard

An instance of ZTransform representing the object's position, rotation, and scale in the 3D space.

Link copied to clipboard
open override val type: ZObjectType
Link copied to clipboard

The viewMatrix property represents the transformation matrix that defines the view of an object in a 3D space.

Link copied to clipboard

The viewProjectionMatrix represents the matrix that combines the view matrix and the projection matrix. It is a derived value, calculated by multiplying the projectionMatrix and viewMatrix. The resulting matrix transforms positions from world space to clip space.

Functions

Link copied to clipboard
fun addChild(child: ZObject)

Adds a child object to this object, establishing a parent-child relationship. The child object will be rendered relative to this object's transform.

Link copied to clipboard

Initializes the object and its children, preparing them for rendering. This function should be called before the object is rendered for the first time. It sets the object's state to initialized and recursively initializes all child objects.

Link copied to clipboard
fun lookAt(look: ZVector3)

Adjusts the object's orientation so that it "looks at" a specified point in space.

fun lookAt(look: ZVector3, up: ZVector3)

Adjusts the object's orientation so that it "looks at" a specified point in space, with a specified up direction. This changes the object's rotation to face the point, while aligning its up direction with the specified up vector.

Link copied to clipboard
fun onViewportResize(ctx: ZContext, width: Int, height: Int)

Event handler for the viewport resizing. This method should not be called by the user

Link copied to clipboard
fun render(ctx: ZContext)

Renders the object and its children to the screen. This function is responsible for drawing the object on the screen. It should be called every frame to update the object's appearance based on its current state and transformations.

Link copied to clipboard
fun translate(x: Float, y: Float, z: Float)

Moves the object by a specified amount along each axis. This changes the object's position based on the given x, y, and z offsets.