SceneObjectBillboard
Extends: SceneObject
Properties
worldPoints(BGE.Math.CornerPoints)canvasPoints(BGE.Math.CornerPoints)canvasPosition(BGE.Math.Vector)useTempBitmapMap(Array.<boolean>)usedTransformedFastDrawLastFrame(boolean) — Whether the most recent oriented/solid draw took the cheap rotate+scale fast path
Constructor
new SceneObjectBillboard(
name: string,
drawableObj: Drawable,
objType: SceneObjectType,
): SceneObjectBillboardParameters
name(string)drawableObj(Drawable)objType(SceneObjectType)
Instance Methods
performDraw(
rendererObj: BGE.Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(BGE.Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
isRedrawToCanvasRequired(
rendererObj: BGE.Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(BGE.Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
usedTransformedFastDraw(): boolean
For tests/telemetry only - see usedTransformedFastDrawLastFrame above.
Returns
boolean
isEligibleForFastDrawCheck(
drawMode: SceneObjectDrawMode,
): boolean
Parameters
drawMode(SceneObjectDrawMode)
Returns
boolean
canUseTransformedFastDraw(): boolean
Returns
boolean
drawFastPath(
rendererObj: BGE.Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(BGE.Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
usesTempBitmap(drawMode: SceneObjectDrawMode): boolean
Parameters
drawMode(SceneObjectDrawMode)
Returns
boolean
getTempBitmapCapacity(): BGE.Math.Vector
For tests/telemetry only - the backing temp bitmap's actual allocated size, which can be larger than this frame's own footprint (see createTempBitmap()'s grow-only reuse comment).
Returns
BGE.Math.Vector— {x: width, y: height}, or invalid if there's no temp bitmap
createTempBitmap(
canvasBounds: Array.<BGE.Math.Vector>,
rendererObj: Renderer,
drawMode: SceneObjectDrawMode,
allowFastDraw?: boolean,
): roBitmap
Parameters
canvasBounds(Array.<BGE.Math.Vector>)rendererObj(Renderer)drawMode(SceneObjectDrawMode)allowFastDraw(boolean, optional, default: false)
Returns
roBitmap
drawToCanvas(
rendererObj: BGE.Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(BGE.Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
drawRegionAsRotatedQuad(
rendererObj: BGE.Renderer,
regionObj: roRegion,
quad: BGE.Math.CornerPoints,
color: integer,
): boolean
Parameters
rendererObj(BGE.Renderer)regionObj(roRegion)quad(BGE.Math.CornerPoints)color(integer)
Returns
boolean
drawOutlineToCanvas(
rendererObj: BGE.Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(BGE.Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
getOutlineCanvasPoints(): Array.<BGE.Math.Vector>
Returns
Array.<BGE.Math.Vector>
getCanvasBounds(): Array.<BGE.Math.Vector>
Returns
Array.<BGE.Math.Vector>
getAllCanvasPoints(): Array.<BGE.Math.Vector>
Returns
Array.<BGE.Math.Vector>
getRegionWithIdToDraw(
rendererObj: BGE.Renderer,
): BGE.RendererHelpers.RegionWithId
Parameters
rendererObj(BGE.Renderer)
Returns
BGE.RendererHelpers.RegionWithId
drawToTempBitmap(
rendererObj: BGE.Renderer,
tempBitmap: ifDraw2d,
canvasPointsTopLeftBound: BGE.Math.Vector,
drawMode: SceneObjectDrawMode,
allowFastDraw?: boolean,
): TempBitmapDrawResult
Parameters
rendererObj(BGE.Renderer)tempBitmap(ifDraw2d)canvasPointsTopLeftBound(BGE.Math.Vector)drawMode(SceneObjectDrawMode)allowFastDraw(boolean, optional, default: false)
Returns
getPinnedCornersOptions(): DrawPinnedCornersOptions
Returns
didRegionToDrawChange(): boolean
Returns
boolean
getDrawColorRGBA(
rendererObj: BGE.Renderer,
ignoreColor?: boolean,
): integer
Parameters
rendererObj(BGE.Renderer)ignoreColor(boolean, optional, default: false)
Returns
integer
getShadedColorRGBA(rendererObj: BGE.Renderer): integer
For tests/telemetry only - the fill color actually used for the most recent draw, including the isShaded brightness adjustment (see applyShading()/ambientBrightness).
Parameters
rendererObj(BGE.Renderer)
Returns
integer— packed RGBA color
getOutlineDrawColorRGBA(
rendererObj: BGE.Renderer,
ignoreColor?: boolean,
): integer
Parameters
rendererObj(BGE.Renderer)ignoreColor(boolean, optional, default: false)
Returns
integer
getNetRotationZ(): float
Returns
float
updateWorldPosition(drawMode: SceneObjectDrawMode): boolean
Parameters
drawMode(SceneObjectDrawMode)
Returns
boolean
getPositionForCameraDistance(
drawMode: SceneObjectDrawMode,
): BGE.Math.Vector
Parameters
drawMode(SceneObjectDrawMode)
Returns
BGE.Math.Vector
getPositionsForFrustumCheck(
drawMode: SceneObjectDrawMode,
): Array.<BGE.Math.Vector>
Parameters
drawMode(SceneObjectDrawMode)
Returns
Array.<BGE.Math.Vector>
computeBillboardWorldCorners(): Array.<BGE.Math.Vector>
Returns
Array.<BGE.Math.Vector>
findCanvasPosition(
rendererObj: Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
updateCanvasPosition(
rendererObj: Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
needsCanvasCornerPoints(): boolean
Returns
boolean
needsManualPretranslationForDirectMode(): boolean
Returns
boolean
getCanvasPosition(): BGE.Math.Vector
The top-left canvas point this billboard's screen-aligned (direct/directScaled) draw modes last positioned at, or invalid before the first successful draw.
Returns
BGE.Math.Vector
getWorldPoints(): BGE.Math.CornerPoints
Returns
BGE.Math.CornerPoints
getCanvasPoints(): BGE.Math.CornerPoints
The canvas corner points this billboard last computed - populated for a rotated or outlined direct-mode object (see needsCanvasCornerPoints()), or any oriented one.
Returns
BGE.Math.CornerPoints
updateCanvasPointsForDirectMode(): void
Returns
void
updateCanvasPointsForCameraFacingQuad(
rendererObj: Renderer,
): boolean
Parameters
rendererObj(Renderer)
Returns
boolean
getDirectModeCanvasSize(): SizeWH
Returns
computeNormalDebugInfo(rendererObj: Renderer): void
Parameters
rendererObj(Renderer)
Returns
void
getNormalDebugPoint(): BGE.Math.Vector
Returns
BGE.Math.Vector
attemptTransformTempBitmap(
renderObj: Renderer,
drawMode: SceneObjectDrawMode,
): TransformTempBitmapDetails
Parameters
renderObj(Renderer)drawMode(SceneObjectDrawMode)
Returns
doNotDrawBecauseBackFace(drawMode: SceneObjectDrawMode): boolean
Parameters
drawMode(SceneObjectDrawMode)
Returns
boolean
isDeterministicDrawFailure(
rendererObj: Renderer,
drawMode: SceneObjectDrawMode,
): boolean
Parameters
rendererObj(Renderer)drawMode(SceneObjectDrawMode)
Returns
boolean
getTempBitmapThreshold(drawMode: SceneObjectDrawMode): integer
Parameters
drawMode(SceneObjectDrawMode)
Returns
integer