Class: Gfx3Drawable
The `Gfx3Drawable` class represents a drawable object in a 3D graphics system.
- inherit from: Gfx3Transformable
- parent of: Gfx3Flare, Gfx3Mesh, Gfx3Particles, Gfx3Skybox, Gfx3Sprite
Constructors
- new Gfx3Drawable(vertexStride: number): Gfx3Drawable
The constructor.
- vertexStride: The `vertexStride` parameter is a number that represents the number of
attributes for each vertex. It is used to determine the spacing between consecutive vertices in the vertex
buffer.
Methods
- beginVertices(vertexCount: number): void
The "beginVertices" function prepare your vertex buffer to write process.
Warning: You need to call this method before define your vertices.
- vertexCount: The parameter `vertexCount` represents the number of vertices that
will be stored in the vertex buffer.
- defineVertex(v: number[]): void
The "defineVertex" function takes in an array of numbers representing a vertex.
- v: An array of numbers representing the attributes of vertex.
- delete(): void
The "delete" function free all resources.
Warning: you need to call this method to free allocation for this object.
- draw(): void
The "draw" is a virtual method used for the draw phase.
- endVertices(): void
The "endVertices" function writes vertex data to the vertex buffer and calculates the bounding box
based on the vertices.
- getBoundingBox(): Gfx3BoundingBox
The "getBoundingBox" function returns the bounding box.
- getLocalAxies()
The "getLocalAxies" function returns an array of three vectors representing the local axes of an
object based on its transformation matrix.
- getPosition(): vec3
The "getPosition" function returns the position.
- getPositionX(): number
The "getPositionX" function returns the x-coordinate of the position.
- getPositionY(): number
The "getPositionY" function returns the y-coordinate of the position.
- getPositionZ(): number
The "getPositionZ" function returns the z-coordinate of the position.
- getRotation(): vec3
The "getRotation" function returns the rotation as Euler angles.
- getRotationQuaternion(): vec4
The "getRotationQuaternion" function returns the Quaternion based on the Euler angles provided.
- getRotationX(): number
The "getRotationX" function returns the rotation angle on x-axis.
- getRotationY(): number
The "getRotationY" function returns the rotation angle on y-axis.
- getRotationZ(): number
The "getRotationZ" function returns the rotation angle on z-axis.
- getScale(): vec3
The "getScale" function returns the scale as a 3D vector.
- getScaleX(): number
The "getScaleX" function returns the scale factor on x-axis.
- getScaleY(): number
The "getScaleY" function returns the scale factor on y-axis.
- getScaleZ(): number
The "getScaleZ" function returns the scale factor on z-axis.
- getTransformMatrix(): mat4
The "getTransformMatrix" function returns the transform matrix from position, rotation and scale values.
- getVertexCount(): number
The "getVertexCount" function returns the number of vertices.
- getVertexSubBufferOffset(): number
The "getVertexSubBufferOffset" function returns the offset of the vertex sub-buffer.
Nota bene: All vertices are stored in one global vertex buffer handled by "Gfx3Manager".
SubBuffer is just a reference offset/size pointing to the big one buffer.
- getVertexSubBufferSize(): number
The "getVertexSubBufferSize" function returns the byte length of the vertex sub buffer.
Nota bene: All vertices are stored in one global vertex buffer handled by "Gfx3Manager".
SubBuffer is just a reference offset/size pointing to the big one buffer.
- getVertices()
The "getVertices" function returns an array of numbers representing vertices.
- getWorldBoundingBox(): Gfx3BoundingBox
The "getWorldBoundingBox" function returns the world bounding box by transforming its
local bounding box using its transform matrix.
- rotate(x: number, y: number, z: number): void
The "rotate" function add rotation values to Euler angles.
- x: The rotation angle on x-axis in radians.
- y: The rotation angle on y-axis in radians.
- z: The rotation angle on z-axis in radians.
- setPosition(x: number, y: number, z: number): void
The "setPosition" function set the position with the given x, y and z coordinates.
- x: The X coordinate of the position.
- y: The Y coordinate of the position.
- z: The Z coordinate of the position.
- setRotation(x: number, y: number, z: number): void
The "setRotation" function sets rotation Euler angles (in radians).
- x: The rotation angle on x-axis in radians.
- y: The rotation angle on y-axis in radians.
- z: The rotation angle on z-axis in radians.
- setRotationQuaternion(quaternion: vec4): void
The "setRotationQuaternion" function sets the rotation using Quaternion.
- quaternion: The quaternion.
- setScale(x: number, y: number, z: number): void
The "setScale" function sets the scale with the given x, y and z factors.
- x: The x factor in the x-axis direction.
- y: The y factor in the y-axis direction.
- z: The z factor in the z-axis direction.
- setVertices(vertices: number[]): void
The "setVertices" function sets the vertices in one pass.
- vertices: An array of numbers representing the vertices of a shape.
- translate(x: number, y: number, z: number): void
The "translate" function translate the position.
- x: The amount of translation in the x-axis direction.
- y: The amount of translation in the y-axis direction.
- z: The amount of translation in the z-axis direction.
- update(ts: number): void
The "update" is a virtual method used for the update phase.
- ts: The `ts` parameter stands for "timestep".
- zoom(x: number, y: number, z: number): void
The "zoom" function add scale values.
- x: The x factor in the x-axis direction.
- y: The y factor in the y-axis direction.
- z: The z factor in the z-axis direction.