Creates a new CameraComponent instance.
The unique identifier of the entity this component belongs to
The component system identifier
The entity repository instance
Whether this component is being reused from a pool
Protected
__currentProtected
__entitythe instance of EntityRepository
Protected
__entitythe entity unique Id which this component belongs to
Protected
__memorythe instance of MemoryManager
Collection of tags associated with this object
Static
Readonly
InvalidInvalid object UID constant
Static
Readonly
_processStatic
currentCurrent maximum object count for UID generation
Gets the aspect ratio.
The aspect ratio
Sets the aspect ratio and adjusts the film width accordingly.
The aspect ratio (width/height)
Gets the internal aspect ratio.
The internal aspect ratio
Sets the internal aspect ratio.
The internal aspect ratio
Gets the bias view-projection matrix for shadow mapping.
The bias view-projection matrix adjusted for the current graphics API
Gets the bottom clipping plane position.
The bottom clipping plane position
Sets the bottom clipping plane position.
The bottom clipping plane position
Sets the internal bottom clipping plane position.
The internal bottom clipping plane position
Gets the Scoped ID of this Component instance. The SID is unique within the component type and represents the instance index.
The component scoped ID
Gets the component type identifier for this camera component.
The camera component type identifier
Gets the current process stage of the component. This determines which update methods are currently being called.
The current process stage
Gets the direction vector of the camera.
A copy of the direction vector
Sets the direction vector of the camera and automatically adjusts the up vector to remain orthogonal.
The new direction vector for the camera
Gets the entity which has this camera component.
The entity which has this component
Gets the unique ID of the entity that owns this component.
The entity unique ID
Gets the focal length.
The focal length in millimeters
Sets the focal length and automatically calculates the field of view.
The focal length in millimeters
Gets the internal focal length.
The internal focal length
Sets the internal focal length and calculates the field of view.
The internal focal length
Gets the field of view.
The field of view in degrees
Sets the internal field of view.
The internal field of view in degrees
Gets the left clipping plane position.
The left clipping plane position
Sets the left clipping plane position.
The left clipping plane position
Sets the internal left clipping plane position.
The internal left clipping plane position
Gets the maximum number of components of this type that can exist.
The maximum number of components
Gets the unique object identifier
The object's UID
Gets the projection matrix, considering XR mode if applicable.
The projection matrix (may be XR-specific matrix if in XR mode)
Sets the projection matrix.
The projection matrix to set
Gets the right clipping plane position.
The right clipping plane position
Sets the right clipping plane position.
The right clipping plane position
Sets the internal right clipping plane position.
The internal right clipping plane position
Gets the top clipping plane position.
The top clipping plane position
Sets the top clipping plane position.
The top clipping plane position
Sets the internal top clipping plane position.
The internal top clipping plane position
Gets the unique name of this object
The unique name string
Gets the update count for this camera component.
The number of times this camera has been updated
Gets the combined view-projection matrix.
The view-projection matrix
Gets the world position of the camera.
The world position vector
Gets the X magnification for orthographic projection.
The X magnification value
Sets the X magnification for orthographic projection.
The X magnification value
Gets the Y magnification for orthographic projection.
The Y magnification value
Sets the Y magnification for orthographic projection.
The Y magnification value
Gets the far clipping plane distance.
The far clipping plane distance
Sets the far clipping plane distance.
The far clipping plane distance
Gets the internal far clipping plane distance.
The internal far clipping plane distance
Sets the internal far clipping plane distance.
The internal far clipping plane distance
Gets the near clipping plane distance.
The near clipping plane distance
Sets the near clipping plane distance.
The near clipping plane distance
Gets the internal near clipping plane distance.
The internal near clipping plane distance
Sets the internal near clipping plane distance.
The internal near clipping plane distance
Static
componentTIDGets the component type identifier for camera components.
The camera component type identifier
Static
currentGets the current active camera component ID.
The component system identifier of the current active camera
Sets the current active camera component.
The component system identifier of the camera to set as current
Static
currentGets the update count of the current active camera.
The update count of the current camera, or 0 if no camera is active
Internal
Copies tag data from another RnObject instance to this object
The source RnObject to copy tags from
Performs a shallow copy of data from another component of the same type. This method should be implemented by concrete component classes as needed.
The source component to copy from
Adds this camera component to an entity, extending it with camera-specific methods.
The target entity
The component class to add
The entity extended with camera component methods
Calculates and returns the projection matrix based on camera parameters.
The calculated projection matrix
Calculates and returns the view matrix based on camera position and orientation.
The calculated view matrix
Gets detailed byte information about a specific member field of this component. This includes offsets, lengths, and location information for GPU access.
The name of the member field
Detailed byte information object
Checks whether the specified ProcessStage method exists in this Component instance. This is used to determine if this component can handle a particular process stage.
The process stage to check for
True if the method exists, false otherwise
Checks if this object has all the specified tags with exactly matching values
Object containing tag names as keys and expected values
True if all specified tags exist with matching values, false otherwise
Checks if the object's combined tag string contains all the provided search strings. This allows for flexible searching within tag names and values.
Array of strings that must all be present in the combined tag string
True if all strings are found in the combined tag string, false otherwise
Transitions the component to a different process stage. This affects which update methods will be called during the frame processing.
The target stage to move to
Registers a dependency relationship with another component. This method is intended for future use in managing component dependencies.
The component to depend on
Whether this dependency is required
Registers a member field of the component class for memory allocation. This method defines the memory layout and characteristics of component data members.
The intended purpose/type of buffer use
The name of the member field
The class type of the data
The primitive data type (e.g., Float32, Int32)
Initial values for the member field
Allocates memory for all member fields of this component instance. This method is called during component initialization to set up memory layout and allocate space for the specified number of entities.
The number of entities to allocate memory for
Whether to reuse existing memory allocations
Allocates memory for a specific member field of this component instance. This method takes one memory slot from the shared memory pool for the specified member.
The name of the member field
The data class type for the member
Initial values to set for the member
Whether to reuse an existing memory slot
The component scoped ID
null on success
Attempts to set a tag on this object. If the tag already exists, it will be replaced.
The tag object containing the name and value to set
True if the tag was successfully set, false if the tag name contains invalid characters
Attempts to set a unique name for this object
The desired unique name
If true, appends UID to make name unique when conflicts occur; if false, fails on conflict
True if the name was successfully set, false if there was a conflict and toAddNameIfConflict was false
Static
_resetStatic
doesChecks whether the specified ProcessStage method exists in the given Component class. This is used to determine if a component can handle a particular process stage.
The component class to check
The process stage to check for
True if the method exists, false otherwise
Static
getGets the memory accessor for a specific member field of a component class. The accessor provides access to the underlying typed array data.
The name of the member field
The component class
The accessor for the member field
Static
getGets the total byte length of all member fields for a specific buffer use type in the given component class.
The buffer use type
The component class
The total byte length of members
Static
getGets the byte offset of the first element of a specific member field within the buffer.
The name of the member field
The component class
The byte offset in the buffer
Static
getGets the byte offset of the first element of a specific member field within the buffer view.
The name of the member field
The component class
The byte offset in the buffer view
Static
getGets the byte offset of the component type's data within the buffer.
The buffer use type
The component class
The byte offset in the buffer
Static
getGets the ComponentType of a specific member field in a component class. This is useful for understanding the primitive data type of component members.
The name of the member field
The component class to query
The ComponentType of the member or undefined if not found
Static
getGets the CompositionType of a specific member field in a component class. This is useful for understanding the data structure of component members.
The name of the member field
The component class to query
The CompositionType of the member or undefined if not found
Static
getGets the entity that has the current active camera component.
The entity with the current camera component
Static
getGets detailed byte information about a member field by Component SID. This is a static version that looks up the component by its scoped ID.
The component class type
The scoped ID of the component
The name of the member field
Detailed byte information object or undefined if component not found
Static
getGets detailed byte information about a specific member field of a component. This includes offsets, lengths, and location information for GPU access.
The component instance to analyze
The name of the member field
Detailed byte information object
Static
getGets the pixel location offset in the buffer for a specific member of a component type. This is useful for GPU texture-based data access where locations are measured in pixels.
The component class type
The name of the member field
The pixel location offset in the buffer
Static
getStatic
getStatic
processProcesses all components of a given type for a specific process stage. This method iterates through all components of the specified type and calls their corresponding process stage method if they are in that stage.
The component class to process
The process stage to execute
Static
searchSearches for the first object that has a specific tag with the given value
The tag name to search for
The tag value to match
WeakRef to the first matching object, or undefined if not found
Static
takeCreates and configures a memory accessor for a specific member field. This method allocates buffer memory and creates an accessor for efficient data access.
The intended use of the buffer
The name of the member field
The component class
The composition type (e.g., Vec3, Mat4)
The component data type (e.g., Float32, Int32)
The number of components to allocate for
Result containing the accessor or an error
Static
updateUpdates components specifically for the render stage with render pass context. This method calls the sort_$render method of the component class to handle render-specific processing and sorting.
The component class to update
The render process stage
The current render pass context
The result of the sort_$render method
The Component that represents a camera.
Remarks
The camera is defined such that the local +X axis is to the right, the "lens" looks towards the local -Z axis, and the top of the camera is aligned with the local +Y axis.