API Classes

Bloom

Bloom post-process object holding internal states and resources.

Create with CreateBloomFromAssets or CreateBloomFromFile, use with ApplyBloom, finally call DestroyBloom to dispose of resources when done.

Related functions: ApplyBloom, CreateBloomFromAssets, CreateBloomFromFile and DestroyBloom.

Camera

Add this component to a Node to implement the camera aspect.

Create a camera component with Scene.CreateCamera, use CreateCamera to create a complete camera node.

Related classes: Node and Scene.


MethodPrototype
GetFov() -> float
Return the camera field of view.
GetIsOrthographic() -> bool
Return true if orthographic projection is used, false if perspective projection.
GetSize() -> float
GetZFar() -> float
Return the camera far clipping plane.
GetZNear() -> float
Return the camera near clipping plane.
GetZRange() -> CameraZRange
IsValid() -> bool
SetFov(v: float) -> None
Set the camera field of view.
SetIsOrthographic(v: bool) -> None
Configure the camera to use orthographic or perspective projection.
SetSize(v: float) -> None
SetZFar(v: float) -> None
Set the camera far clipping plane.
SetZNear(v: float) -> None
Set the camera near clipping plane.
SetZRange(z: CameraZRange) -> None
operator==(c: Camera) -> bool

CameraZRange

Related classes: Camera.


MemberType
zfarfloat
znearfloat

MethodPrototype
Constructor() -> CameraZRange

Canvas

Holds the canvas properties of a scene, see the canvas member of class Scene.

Related classes: Scene.


MemberType
clear_colorbool
clear_zbool
colorColor

Collision

Collision component, see Physics.

Related classes: Node and Scene.


MethodPrototype
GetCollisionResource() -> str
GetHeight() -> float
GetLocalTransform() -> Mat4
GetMass() -> float
Return the collision shape mass in Kg.
GetRadius() -> float
GetType() -> CollisionType
Return the CollisionType of a Collision component.
IsValid() -> bool
SetCollisionResource(path: str) -> None
SetHeight(height: float) -> None
SetLocalTransform(m: Mat4) -> None
SetMass(mass: float) -> None
Set the collision shape mass in Kg.
SetRadius(radius: float) -> None
SetSize(size: Vec3) -> None
SetType(type: CollisionType) -> None
Set the CollisionType of a Collision component.
operator==(c: Collision) -> bool

Color

Four-component RGBA color object.

Related classes: Canvas, ColorList, Environment, ForwardPipelineFog, ForwardPipelineLight, Light, Picture, Scene, Vertex and Vertices.

Related functions: AlphaScale, ChromaScale, Clamp, ColorFromABGR32, ColorFromRGBA32, ColorFromVector3, ColorFromVector4, ColorI, ColorToABGR32, ColorToGrayscale, ColorToRGBA32, CreateLinearLight, CreatePointLight, CreateSpotLight, FromHLS, ImGuiColorButton, ImGuiColorEdit, ImGuiGetColorU32, ImGuiImageButton, ImGuiImage, ImGuiPushStyleColor, ImGuiTextColored, MakeForwardPipelineLinearLight, MakeForwardPipelinePointLight, MakeForwardPipelineSpotLight, SetSaturation, SetView2D, SetViewClear, SetViewOrthographic, SetViewPerspective, SubmitModelToForwardPipeline and ToHLS.


MemberType
Blackstatic Color
Bluestatic Color
Greenstatic Color
Greystatic Color
Onestatic Color
Orangestatic Color
Purplestatic Color
Redstatic Color
Transparentstatic Color
Whitestatic Color
Yellowstatic Color
Zerostatic Color
afloat
bfloat
gfloat
rfloat

MethodPrototype
Constructor() -> Color
Construct a new color object. The red, green, blue and alpha components are in normalized range [0;1].
Constructor(color: Color) -> Color
Construct a new color object. The red, green, blue and alpha components are in normalized range [0;1].
Constructor(r: float, g: float, b: float) -> Color
Construct a new color object. The red, green, blue and alpha components are in normalized range [0;1].
Constructor(r: float, g: float, b: float, a: float) -> Color
Construct a new color object. The red, green, blue and alpha components are in normalized range [0;1].
operator!=(color: Color) -> bool
operator*(color: Color) -> Color
operator*(k: float) -> Color
operator*=(color: Color) -> None
operator*=(k: float) -> None
operator+(color: Color) -> Color
operator+(k: float) -> Color
operator+=(color: Color) -> None
operator+=(k: float) -> None
operator-(color: Color) -> Color
operator-(k: float) -> Color
operator-=(color: Color) -> None
operator-=(k: float) -> None
operator/(color: Color) -> Color
operator/(k: float) -> Color
operator/=(color: Color) -> None
operator/=(k: float) -> None
operator==(color: Color) -> bool

ColorList


MethodPrototype
at(idx: int) -> Color
clear() -> None
push_back(v: Color) -> None
reserve(size: int) -> None
size() -> int

Contact

Object containing the world space position, normal and depth of a contact as reported by the collision system.

Related classes: ContactList.


MemberType
NVec3
PVec3
dfloat

ContactList

Related functions: GetNodeContacts.


MethodPrototype
at(idx: int) -> Contact
clear() -> None
push_back(v: Contact) -> None
reserve(size: int) -> None
size() -> int

Data

Related functions: LoadDataFromFile, LoadSceneBinaryFromDataAndAssets, LoadSceneBinaryFromDataAndFile, SaveDataToFile and SaveSceneBinaryToData.


MethodPrototype
Constructor() -> Data
GetSize() -> int
Rewind() -> None

DearImguiContext

Context to render immediate GUI.

Related functions: ImGuiBeginFrame, ImGuiEndFrame and ImGuiInitContext.

DirEntry

Related classes: DirEntryList.


MemberType
namestr
typeint

DirEntryList

Related functions: ListDirRecursive and ListDir.


MethodPrototype
at(idx: int) -> DirEntry
clear() -> None
push_back(v: DirEntry) -> None
reserve(size: int) -> None
size() -> int

Environment

Environment properties of a scene, see environment member of the Scene class.

Related classes: Scene.


MemberType
ambientColor
brdf_mapTextureRef
fog_colorColor
fog_farfloat
fog_nearfloat
irradiance_mapTextureRef
radiance_mapTextureRef

File

Interface to a file on the host local filesystem.

Related functions: Close, GetSize, IsEOF, IsValid, OpenTemp, OpenText, OpenWriteText, OpenWrite, Open, ReadFloat, ReadString, ReadUInt16, ReadUInt32, ReadUInt8, Rewind, Seek, Tell, WriteFloat, WriteString, WriteUInt16, WriteUInt32 and WriteUInt8.

Font

Font object for realtime rendering.

Related functions: ComputeTextHeight, ComputeTextRect, DrawText, LoadFontFromAssets and LoadFontFromFile.

ForwardPipeline

Rendering pipeline implementing a forward rendering strategy.

The main characteristics of this pipeline are:

  • Render in two passes: opaque display lists then transparent ones.
  • Fixed 8 light slots supporting 1 linear light with PSSM shadow mapping, 1 spot with shadow mapping and up to 6 point lights with no shadow mapping.

Related functions: Cast_Pipeline_To_ForwardPipeline, CreateForwardPipeline, DestroyForwardPipeline, PrepareSceneForwardPipelineCommonRenderData, PrepareSceneForwardPipelineViewDependentRenderData, SubmitModelToForwardPipeline, SubmitSceneToForwardPipeline, SubmitSceneToPipeline and UpdateForwardPipelineAAA.

ForwardPipelineAAA

Related functions: CreateForwardPipelineAAAFromAssets, CreateForwardPipelineAAAFromFile, DestroyForwardPipelineAAA, IsValid, SubmitSceneToForwardPipeline and SubmitSceneToPipeline.


MethodPrototype
Flip(view_state: ViewState) -> None

ForwardPipelineAAAConfig

Related functions: CreateForwardPipelineAAAFromAssets, CreateForwardPipelineAAAFromFile, SubmitSceneToForwardPipeline and SubmitSceneToPipeline.


MemberType
bloom_biasfloat
bloom_intensityfloat
bloom_thresholdfloat
exposurefloat
gammafloat
max_distancefloat
motion_blurfloat
sample_countint
temporal_aa_weightfloat

MethodPrototype
Constructor() -> ForwardPipelineAAAConfig

ForwardPipelineFog

Fog properties for the forward pipeline.

Related functions: GetSceneForwardPipelineFog and SubmitModelToForwardPipeline.


MemberType
colorColor
farfloat
nearfloat

MethodPrototype
Constructor() -> ForwardPipelineFog

ForwardPipelineLight

Single light for the forward pipeline. The complete lighting rig is passed as a ForwardPipelineLights, see PrepareForwardPipelineLights.

Related classes: ForwardPipelineLightList.

Related functions: MakeForwardPipelineLinearLight, MakeForwardPipelinePointLight and MakeForwardPipelineSpotLight.


MemberType
diffuseColor
inner_anglefloat
outer_anglefloat
priorityfloat
pssm_splitVec4
radiusfloat
specularColor
typeForwardPipelineLightType
worldMat4

MethodPrototype
Constructor() -> ForwardPipelineLight

ForwardPipelineLightList

Related functions: GetSceneForwardPipelineLights and PrepareForwardPipelineLights.


MethodPrototype
at(idx: int) -> ForwardPipelineLight
clear() -> None
push_back(v: ForwardPipelineLight) -> None
reserve(size: int) -> None
size() -> int

ForwardPipelineLights

Related functions: PrepareForwardPipelineLights and SubmitModelToForwardPipeline.

FrameBuffer

Related functions: CreateFrameBuffer, DestroyFrameBuffer, GetColorTexture, GetDepthTexture and GetTextures.


MemberType
handleFrameBufferHandle

FrameBufferHandle

Related classes: FrameBuffer and OpenVREyeFrameBuffer.

Related functions: ApplyBloom, ComputeSAO, SetViewFrameBuffer, SubmitSceneToForwardPipeline and SubmitSceneToPipeline.

Frustum

A view frustum, perspective or orthographic, holding the necessary information to perform culling queries. It can be used to test wether a volume is inside or outside the frustum it represents.

Related classes: ViewState.

Related functions: MakeFrustum, TestVisibility and TransformFrustum.


MethodPrototype
GetBottom() -> Vec4
GetFar() -> Vec4
GetLeft() -> Vec4
GetNear() -> Vec4
GetRight() -> Vec4
GetTop() -> Vec4
SetBottom(plane: Vec4) -> None
SetFar(plane: Vec4) -> None
SetLeft(plane: Vec4) -> None
SetNear(plane: Vec4) -> None
SetRight(plane: Vec4) -> None
SetTop(plane: Vec4) -> None

Gamepad

Helper class holding the current and previous device state to enable delta state queries.

Use GetGamepadNames to query for available gamepad devices.


MethodPrototype
Axes(axis: GamepadAxes) -> float
Return the value of a gamepad axis.
Connected() -> bool
Gamepad was connected since the last update.
Constructor() -> Gamepad
Constructor(name: str) -> Gamepad
Disconnected() -> bool
Gamepad was disconnected since the last update.
Down(btn: GamepadButton) -> bool
DtAxes(axis: GamepadAxes) -> float
IsConnected() -> bool
Gamepad is currently connected.
Pressed(btn: GamepadButton) -> bool
Released(btn: GamepadButton) -> bool
Update() -> None

GamepadState

Related functions: ReadGamepad.


MethodPrototype
Axes(idx: GamepadAxes) -> float
Button(btn: GamepadButton) -> bool
IsConnected() -> bool

Geometry

Base geometry object. Before a geometry can be displayed, it must be converted to Model by the asset compiler (see Compiling to Assets).

To programmatically create a geometry use GeometryBuilder.

Related classes: GeometryBuilder.

Related functions: SaveGeometryToFile.

GeometryBuilder

Use the geometry builder to programmatically create geometries. No optimization are performed by the geometry builder on the input data.

To programmatically build a geometry for immediate display see ModelBuilder to directly build models.


MethodPrototype
AddPolygon(idxs: UInt32List, material: int) -> None
AddQuad(a: int, b: int, c: int, d: int, material: int) -> None
AddTriangle(a: int, b: int, c: int, material: int) -> None
AddVertex(vtx: Vertex) -> None
Clear() -> None
Constructor() -> GeometryBuilder
Make() -> Geometry

ImDrawList

Immediate GUI drawing list. This object can be used to perform custom drawing operations on top of an imgui window.

Related functions: ImGuiGetWindowDrawList.


MethodPrototype
AddBezierCurve(pos0: Vec2, cp0: Vec2, cp1: Vec2, pos1: Vec2, col: int, thickness: float) -> None
AddBezierCurve(pos0: Vec2, cp0: Vec2, cp1: Vec2, pos1: Vec2, col: int, thickness: float, num_segments: int) -> None
AddCircle(centre: Vec2, radius: float, col: int) -> None
AddCircle(centre: Vec2, radius: float, col: int, num_segments: int) -> None
AddCircle(centre: Vec2, radius: float, col: int, num_segments: int, thickness: float) -> None
AddCircleFilled(centre: Vec2, radius: float, col: int) -> None
AddCircleFilled(centre: Vec2, radius: float, col: int, num_segments: int) -> None
AddConvexPolyFilled(points: Vec2List, col: int) -> None
AddImage(tex: Texture, a: Vec2, b: Vec2) -> None
AddImage(tex: Texture, a: Vec2, b: Vec2, uv_a: Vec2, uv_b: Vec2) -> None
AddImage(tex: Texture, a: Vec2, b: Vec2, uv_a: Vec2, uv_b: Vec2, col: int) -> None
AddImageQuad(tex: Texture, a: Vec2, b: Vec2, c: Vec2, d: Vec2) -> None
AddImageQuad(tex: Texture, a: Vec2, b: Vec2, c: Vec2, d: Vec2, uv_a: Vec2, uv_b: Vec2, uv_c: Vec2, uv_d: Vec2) -> None
AddImageQuad(tex: Texture, a: Vec2, b: Vec2, c: Vec2, d: Vec2, uv_a: Vec2, uv_b: Vec2, uv_c: Vec2, uv_d: Vec2, col: int) -> None
AddImageRounded(tex: Texture, a: Vec2, b: Vec2, uv_a: Vec2, uv_b: Vec2, col: int, rounding: float) -> None
AddImageRounded(tex: Texture, a: Vec2, b: Vec2, uv_a: Vec2, uv_b: Vec2, col: int, rounding: float, rounding_corners: ImDrawCornerFlags) -> None
AddLine(a: Vec2, b: Vec2, col: int) -> None
AddLine(a: Vec2, b: Vec2, col: int, thickness: float) -> None
AddPolyline(points: Vec2List, col: int, closed: bool, thickness: float) -> None
AddQuad(a: Vec2, b: Vec2, c: Vec2, d: Vec2, col: int) -> None
AddQuad(a: Vec2, b: Vec2, c: Vec2, d: Vec2, col: int, thickness: float) -> None
AddQuadFilled(a: Vec2, b: Vec2, c: Vec2, d: Vec2, col: int) -> None
AddRect(a: Vec2, b: Vec2, col: int) -> None
AddRect(a: Vec2, b: Vec2, col: int, rounding: float) -> None
AddRect(a: Vec2, b: Vec2, col: int, rounding: float, rounding_corner_flags: int) -> None
AddRect(a: Vec2, b: Vec2, col: int, rounding: float, rounding_corner_flags: int, thickness: float) -> None
AddRectFilled(a: Vec2, b: Vec2, col: int) -> None
AddRectFilled(a: Vec2, b: Vec2, col: int, rounding: float) -> None
AddRectFilled(a: Vec2, b: Vec2, col: int, rounding: float, rounding_corner_flags: int) -> None
AddRectFilledMultiColor(a: Vec2, b: Vec2, col_upr_left: int, col_upr_right: int, col_bot_right: int, col_bot_left: int) -> None
AddText(pos: Vec2, col: int, text: str) -> None
AddText(font: ImFont, font_size: float, pos: Vec2, col: int, text: str) -> None
AddText(font: ImFont, font_size: float, pos: Vec2, col: int, text: str, wrap_width: float) -> None
AddText(font: ImFont, font_size: float, pos: Vec2, col: int, text: str, wrap_width: float, cpu_fine_clip_rect: Vec4) -> None
AddTriangle(a: Vec2, b: Vec2, c: Vec2, col: int) -> None
AddTriangle(a: Vec2, b: Vec2, c: Vec2, col: int, thickness: float) -> None
AddTriangleFilled(a: Vec2, b: Vec2, c: Vec2, col: int) -> None
ChannelsMerge() -> None
ChannelsSetCurrent(channel_index: int) -> None
ChannelsSplit(channels_count: int) -> None
GetClipRectMax() -> Vec2
GetClipRectMin() -> Vec2
PathArcTo(centre: Vec2, radius: float, a_min: float, a_max: float) -> None
PathArcTo(centre: Vec2, radius: float, a_min: float, a_max: float, num_segments: int) -> None
PathArcToFast(centre: Vec2, radius: float, a_min_of_12: int, a_max_of_12: int) -> None
PathBezierCurveTo(p1: Vec2, p2: Vec2, p3: Vec2) -> None
PathBezierCurveTo(p1: Vec2, p2: Vec2, p3: Vec2, num_segments: int) -> None
PathClear() -> None
PathFillConvex(col: int) -> None
PathLineTo(pos: Vec2) -> None
PathLineToMergeDuplicate(pos: Vec2) -> None
PathRect(rect_min: Vec2, rect_max: Vec2) -> None
PathRect(rect_min: Vec2, rect_max: Vec2, rounding: float) -> None
PathRect(rect_min: Vec2, rect_max: Vec2, rounding: float, rounding_corners_flags: ImDrawCornerFlags) -> None
PathStroke(col: int, closed: bool) -> None
PathStroke(col: int, closed: bool, thickness: float) -> None
PopClipRect() -> None
PopTextureID() -> None
PushClipRect(clip_rect_min: Vec2, clip_rect_max: Vec2) -> None
PushClipRect(clip_rect_min: Vec2, clip_rect_max: Vec2, intersect_with_curent_clip_rect: bool) -> None
PushClipRectFullScreen() -> None
PushTextureID(tex: Texture) -> None

ImFont

Immediate GUI font.

Related classes: ImDrawList.

Related functions: ImGuiGetFont and ImGuiPushFont.

Instance

Component to instantiate a scene as a child of a node upon setup.

Related classes: Node and Scene.


MethodPrototype
ClearOnInstantiateAnim() -> None
GetOnInstantiateAnim() -> str
GetOnInstantiateAnimLoopMode() -> AnimLoopMode
GetOnInstantiatePlayAnimRef() -> ScenePlayAnimRef
GetPath() -> str
IsValid() -> bool
SetOnInstantiateAnim(anim: str) -> None
SetOnInstantiateAnimLoopMode(loop_mode: AnimLoopMode) -> None
SetPath(path: str) -> None
operator==(i: Instance) -> bool

IntRect

Related classes: MonitorMode.

Related functions: ApplyBloom, ComputeSAO, Crop, FitsInside, GetHeight, GetMonitorRect, GetSize, GetWidth, GetX, GetY, Grow, Inside, Intersection, Intersects, MakeRectFromWidthHeight, Offset, SetHeight, SetWidth, SetX, SetY, SubmitSceneToForwardPipeline, SubmitSceneToPipeline, ToFloatRect, ToIntRect and UpdateForwardPipelineAAA.


MemberType
exint
eyint
sxint
syint

MethodPrototype
Constructor() -> IntRect
Constructor(x: int, y: int) -> IntRect
Constructor(sx: int, sy: int, ex: int, ey: int) -> IntRect
Constructor(rect: IntRect) -> IntRect

IsoSurface

An iso-surface represents points of a constant value within a volume of space. This class holds a fixed-size 3-dimensional grid of values that can efficiently be converted to a Model at runtime.

Related functions: GaussianBlurIsoSurface, IsoSurfaceSphere, IsoSurfaceToModel and NewIsoSurface.

iVec2

2-dimensional integer vector.

Related classes: Vec3, Vec4 and iVec2List.

Related functions: Dist2, Dist, Dot, GetMonitorSizeMM, GetSize, GetWindowPos, ImGuiDragIntVec2, ImGuiInputIntVec2, ImGuiSliderIntVec2, Inside, Len2, Len, Max, Min, Normalize, Reverse and SetWindowPos.


MemberType
Onestatic iVec2
Zerostatic iVec2
xint
yint

MethodPrototype
Constructor() -> iVec2
Constructor(x: int, y: int) -> iVec2
Constructor(v: iVec2) -> iVec2
Constructor(v: Vec3) -> iVec2
Constructor(v: Vec4) -> iVec2
Set(x: int, y: int) -> None
operator*(v: iVec2) -> iVec2
operator*(k: int) -> iVec2
operator*(m: Mat3) -> iVec2
operator*=(v: iVec2) -> None
operator*=(k: int) -> None
operator+(v: iVec2) -> iVec2
operator+(k: int) -> iVec2
operator+=(v: iVec2) -> None
operator+=(k: int) -> None
operator-(v: iVec2) -> iVec2
operator-(k: int) -> iVec2
operator-=(v: iVec2) -> None
operator-=(k: int) -> None
operator/(v: iVec2) -> iVec2
operator/(k: int) -> iVec2
operator/=(v: iVec2) -> None
operator/=(k: int) -> None

iVec2List


MethodPrototype
at(idx: int) -> iVec2
clear() -> None
push_back(v: iVec2) -> None
reserve(size: int) -> None
size() -> int

JSON

JSON read/write object.

Related functions: GetJsonBool, GetJsonFloat, GetJsonInt, GetJsonString, LoadJsonFromAssets, LoadJsonFromFile, SaveJsonToFile and SetJsonValue.

Joystick


MethodPrototype
Axes(axis: int) -> float
AxesCount() -> int
ButtonsCount() -> int
Connected() -> bool
Constructor() -> Joystick
Constructor(name: str) -> Joystick
Disconnected() -> bool
Down(btn: int) -> bool
DtAxes(axis: int) -> float
GetDeviceName() -> str
IsConnected() -> bool
Pressed(btn: int) -> bool
Released(btn: int) -> bool
Update() -> None

JoystickState

Related functions: ReadJoystick.


MethodPrototype
Axes(idx: int) -> float
Button(btn: int) -> bool
IsConnected() -> bool

Keyboard

Helper class holding the current and previous device state to enable delta state queries.

Use GetKeyboardNames to query for available keyboard devices.

Related functions: FpsController.


MethodPrototype
Constructor() -> Keyboard
Constructor(name: str) -> Keyboard
Down(key: Key) -> bool
GetOldState() -> KeyboardState
GetState() -> KeyboardState
Pressed(key: Key) -> bool
Released(key: Key) -> bool
Update() -> None

KeyboardState

Related classes: Keyboard.

Related functions: ImGuiBeginFrame and ReadKeyboard.


MethodPrototype
Key(key: Key) -> bool

Light

Add this component to a node to turn it into a light source, see Using the Forward Pipeline.

Related classes: Node and Scene.


MethodPrototype
GetDiffuseColor() -> Color
GetDiffuseIntensity() -> float
GetInnerAngle() -> float
GetOuterAngle() -> float
GetPSSMSplit() -> Vec4
GetPriority() -> float
GetRadius() -> float
Get the light range in meters.
GetShadowType() -> LightShadowType
GetSpecularColor() -> Color
GetSpecularIntensity() -> float
GetType() -> LightType
Return the LightType.
IsValid() -> bool
SetDiffuseColor(v: Color) -> None
SetDiffuseIntensity(v: float) -> None
SetInnerAngle(v: float) -> None
SetOuterAngle(v: float) -> None
SetPSSMSplit(v: Vec4) -> None
SetPriority(v: float) -> None
SetRadius(v: float) -> None
Set the light range in meters. No light will be contributed to elements further away than this distance from the node world position.
SetShadowType(v: LightShadowType) -> None
SetSpecularColor(v: Color) -> None
SetSpecularIntensity(v: float) -> None
SetType(v: LightType) -> None
Set the LightType.
operator==(l: Light) -> bool

LuaObject

Opaque reference to an Lua object. This type is used to transfer values between VMs, see Scripting.

Related classes: LuaObjectList and SceneLuaVM.

LuaObjectList

Related classes: SceneLuaVM.


MethodPrototype
at(idx: int) -> LuaObject
clear() -> None
push_back(v: LuaObject) -> None
reserve(size: int) -> None
size() -> int

Mat3

A 3x3 matrix used to store rotation.

Related classes: Vec2, Vec3 and iVec2.

Related functions: CrossProductMat3, Det, DrawSprites, GetColumn, GetRMatrix, GetRotationMatrix, GetRow, GetScale, GetTranslation, GetX, GetY, GetZ, Inverse, MakeUniformSetValue, Mat3LookAt, Normalize, Orthonormalize, QuaternionFromMatrix3, RotationMat2D, RotationMat3, RotationMatXYZ, RotationMatXY, RotationMatXZY, RotationMatX, RotationMatYXZ, RotationMatYZX, RotationMatY, RotationMatZXY, RotationMatZYX, RotationMatZ, ScaleMat3, SetAxises, SetColumn, SetMaterialValue, SetRow, SetScale, SetTranslation, SetX, SetY, SetZ, ToEuler, ToMatrix3, TransformationMat4, TranslationMat3, Transpose and VectorMat3.

Mat4

A 3x4 matrix used to store complete transformation including rotation, scale and position.

Related classes: Collision, ForwardPipelineLight, Mat4List, MinMax, OpenVREye, OpenVRState, SceneBullet3Physics, SpatializedSourceState, Transform, VRControllerState, VRController, VRGenericTrackerState, VRGenericTracker, Vec3, Vec4 and ViewState.

Related functions: ComputeOrthographicViewState, ComputePerspectiveViewState, ComputeSortKeyFromWorld, CreateCamera, CreateInstanceFromAssets, CreateInstanceFromFile, CreateLinearLight, CreateObject, CreateOrthographicCamera, CreatePhysicCube, CreatePhysicSphere, CreatePointLight, CreateSceneRootNode, CreateSpotLight, Decompose, DrawModel, DrawText, GetColumn, GetRMatrix, GetR, GetRotationMatrix, GetRotation, GetRow, GetS, GetScale, GetT, GetTranslation, GetX, GetY, GetZ, InverseFast, Inverse, LerpAsOrthonormalBase, MakeForwardPipelineLinearLight, MakeForwardPipelinePointLight, MakeForwardPipelineSpotLight, MakeFrustum, MakePlane, MakeUniformSetValue, Mat4LookAtUp, Mat4LookAt, Mat4LookTowardUp, Mat4LookToward, OpenVRGetState, Orthonormalize, RotationMat4, ScaleMat4, SetColumn, SetListener, SetMaterialValue, SetRow, SetS, SetScale, SetSourceTransform, SetT, SetTransform, SetTranslation, SetViewOrthographic, SetViewPerspective, SetViewTransform, SetX, SetY, SetZ, SubmitModelToForwardPipeline, TransformFrustum, TransformationMat4, TranslationMat4 and UpdateForwardPipelineAAA.

Mat44

A 4x4 matrix used to store projection matrices.

Related classes: OpenVREye and ViewState.

Related functions: Compute2DProjectionMatrix, ComputeOrthographicProjectionMatrix, ComputePerspectiveProjectionMatrix, ComputeSAO, ExtractZRangeFromOrthographicProjectionMatrix, ExtractZRangeFromPerspectiveProjectionMatrix, ExtractZRangeFromProjectionMatrix, ExtractZoomFactorFromProjectionMatrix, GetColumn, GetRow, Inverse, MakeFrustum, MakeUniformSetValue, ProjectToClipSpace, ProjectToScreenSpace, ProjectZToClipSpace, SetColumn, SetMaterialValue, SetRow, SetViewTransform, UnprojectFromClipSpace, UnprojectFromScreenSpace and UpdateForwardPipelineAAA.

Mat4List

Related functions: DrawModel.


MethodPrototype
at(idx: int) -> Mat4
clear() -> None
push_back(v: Mat4) -> None
reserve(size: int) -> None
size() -> int

Material

High-level description of visual aspects of a surface. A material is comprised of a PipelineProgramRef, per-uniform value or texture, and a RenderState.

See Using the Forward Pipeline and Writing a Pipeline Shader.

Related classes: MaterialList and Object.

Related functions: CreateMaterial, CreateMissingMaterialProgramValuesFromAssets, CreateMissingMaterialProgramValuesFromFile, GetMaterialBlendMode, GetMaterialDepthTest, GetMaterialFaceCulling, GetMaterialSkinning, GetMaterialTexture, GetMaterialTextures, GetMaterialValues, GetMaterialWriteRGBA, GetMaterialWriteZ, SetMaterialBlendMode, SetMaterialDepthTest, SetMaterialFaceCulling, SetMaterialProgram, SetMaterialSkinning, SetMaterialTextureRef, SetMaterialTexture, SetMaterialValue, SetMaterialWriteRGBA, SetMaterialWriteZ and UpdateMaterialPipelineProgramVariant.

MaterialList

Related classes: Scene.

Related functions: CreateObject, CreatePhysicCube and CreatePhysicSphere.


MethodPrototype
at(idx: int) -> Material
clear() -> None
push_back(v: Material) -> None
reserve(size: int) -> None
size() -> int

MaterialRef

Reference to a Material inside a PipelineResources object.

MinMax

3D bounding volume defined by a minimum and maximum position.

Related classes: Node, Object and Scene.

Related functions: ClassifyLine, ClassifySegment, ComputeMinMaxBoundingSphere, Contains, GetArea, GetCenter, IntersectRay, MinMaxFromPositionSize, Overlap, TestVisibility and Union.


MemberType
mnVec3
mxVec3

MethodPrototype
Constructor() -> MinMax
Constructor(min: Vec3, max: Vec3) -> MinMax
operator!=(minmax: MinMax) -> bool
operator*(m: Mat4) -> MinMax
operator==(minmax: MinMax) -> bool

Model

Runtime version of a Geometry. A model can be drawn to screen by calling DrawModel or by assigning it to the Object component of a node.

To programmatically create a model see ModelBuilder.

Related classes: ModelBuilder and PipelineResources.

Related functions: CreateCapsuleModel, CreateConeModel, CreateCubeModel, CreateCylinderModel, CreatePlaneModel, CreateSphereModel, DrawModel, LoadModelFromAssets, LoadModelFromFile and SubmitModelToForwardPipeline.

ModelBuilder

Use the model builder to programmatically build models at runtime.

The input data is optimized upon submission.

Related functions: IsoSurfaceToModel.


MethodPrototype
AddPolygon(idxs: UInt16List) -> None
AddQuad(a: int, b: int, c: int, d: int) -> None
AddTriangle(a: int, b: int, c: int) -> None
AddVertex(vtx: Vertex) -> int
Add a vertex to the builder database. Use the returned optimized index to submit primitives using methods such as ModelBuilder.AddTriangle.
Clear() -> None
Clear all submitted data up to this point.
Constructor() -> ModelBuilder
EndList(material: int) -> None
End the current primitive list and start a new one.
GetCurrentListIndexCount() -> int

Return the number of indexes in the current list.

See ModelBuilder.EndList.

MakeModel(decl: VertexLayout) -> Model
Create a model from all data submitted up to this point.

ModelRef

Reference to a Model inside a PipelineResources object.

See LoadModelFromFile, LoadModelFromAssets and PipelineResources.AddModel.

Related classes: Object, PipelineResources and Scene.

Related functions: CreateObject, CreatePhysicCube and CreatePhysicSphere.

Monitor

Related classes: MonitorList.

Related functions: GetMonitorModes, GetMonitorName, GetMonitorRect, GetMonitorSizeMM, IsMonitorConnected, IsPrimaryMonitor and NewFullscreenWindow.

MonitorList

Related functions: GetMonitors.


MethodPrototype
at(idx: int) -> Monitor
clear() -> None
push_back(v: Monitor) -> None
reserve(size: int) -> None
size() -> int

MonitorMode

Related classes: MonitorModeList.


MemberType
frequencyint
namestr
rectIntRect
rotationMonitorRotation
supported_rotationsint

MonitorModeList

Related functions: GetMonitorModes.


MethodPrototype
at(idx: int) -> MonitorMode
clear() -> None
push_back(v: MonitorMode) -> None
reserve(size: int) -> None
size() -> int

Mouse

Helper class holding the current and previous device state to enable delta state queries.

Use GetMouseNames to query for available mouse devices.

Related functions: FpsController.


MethodPrototype
Constructor() -> Mouse
Constructor(name: str) -> Mouse
Down(button: int) -> bool
DtX() -> int
DtY() -> int
GetOldState() -> MouseState
GetState() -> MouseState
HWheel() -> int
Pressed(button: int) -> bool
Released(button: int) -> bool
Update() -> None
Wheel() -> int
X() -> int
Y() -> int

MouseState

Related classes: Mouse.

Related functions: ImGuiBeginFrame and ReadMouse.


MethodPrototype
Button(btn: MouseButton) -> bool
HWheel() -> int
Wheel() -> int
X() -> int
Y() -> int

Node

The base element of a scene, see Working with Scene.

Related classes: NodeList, Object, RaycastOut, SceneBullet3Physics, SceneLuaVM, SceneView, Scene and Transform.

Related functions: CreateCamera, CreateInstanceFromAssets, CreateInstanceFromFile, CreateLinearLight, CreateObject, CreateOrthographicCamera, CreatePhysicCube, CreatePhysicSphere, CreatePointLight, CreateSceneRootNode, CreateScript, CreateSpotLight, DuplicateNodeAndChildrenFromAssets, DuplicateNodeAndChildrenFromFile, DuplicateNodeFromAssets, DuplicateNodeFromFile and GetNodeContacts.


MethodPrototype
ComputeCameraViewState(aspect_ratio: Vec2) -> ViewState
DestroyInstance() -> None
Disable() -> None
Enable() -> None
GetCamera() -> Camera
Return the Camera component of the node.
GetCollision(slot: int) -> Collision
Return the Collision component attached to the Node at the desired slot.
GetCollisionCount() -> int
Return the amount of Collision components of a Node.
GetFlags() -> int
GetInstance() -> Instance
Return the Instance component of a Node.
GetInstanceSceneAnim(path: str) -> SceneAnimRef
GetInstanceSceneView() -> SceneView
GetLight() -> Light
Return the Light component of the node.
GetMinMax(resources: PipelineResources) -> bool, MinMax
GetName() -> str
Return the node name.
GetObject() -> Object
Return Object component of the node.
GetRigidBody() -> RigidBody
Return the RigidBody component of a Node.
GetScript(idx: int) -> Script
GetScriptCount() -> int
GetTransform() -> Transform
Return the Transform component of the node.
GetUid() -> int
Return the unique ID.
HasCamera() -> bool
Return true if the Node has a Camera component.
HasInstance() -> bool
Return true if the Node has an Instance component.
HasLight() -> bool
Return true if the Node has a Light component.
HasObject() -> bool
Return true if the Node has an Object (a geometry) component.
HasRigidBody() -> bool
Return true if the Node has a RigidBody component.
HasTransform() -> bool
Return true if the Node has a Transform component.
IsEnabled() -> bool
IsInstantiatedBy() -> Node
IsItselfEnabled() -> bool
IsValid() -> bool
Return true if the Node still exist.
RemoveCamera() -> None
Remove the Camera component from the Node.
RemoveCollision(c: Collision) -> None
Remove the Collision component attached to the slot of the Node.
RemoveCollision(slot: int) -> None
Remove the Collision component attached to the slot of the Node.
RemoveLight() -> None
Remove the Light component from the Node.
RemoveObject() -> None
Remove the Object component from the Node.
RemoveRigidBody() -> None
Remove the RigidBody component from the Node.
RemoveScript(s: Script) -> None
RemoveScript(slot: int) -> None
RemoveTransform() -> None
Remove the Transform component from the Node.
SetCamera(c: Camera) -> None
Set the Camera component of a node. See Scene.CreateCamera.
SetCollision(slot: int, c: Collision) -> None
Set the Collision component of a Node at the desired slot. This is how you combine several collision shapes on a single node.
SetFlags(flags: int) -> None
SetInstance(instance: Instance) -> None
Set the Instance component of a Node.
SetLight(l: Light) -> None
SetName(name: str) -> None
Set the node name.
SetObject(o: Object) -> None

Set the Object component of a node.

See Scene.CreateObject.

SetRigidBody(b: RigidBody) -> None
Set the RigidBody component of a node.
SetScript(idx: int, s: Script) -> None
SetTransform(t: Transform) -> None

Set the Transform component of a node.

See Scene.CreateTransform.

SetupInstanceFromAssets(resources: PipelineResources, pipeline: PipelineInfo) -> bool
SetupInstanceFromAssets(resources: PipelineResources, pipeline: PipelineInfo, flags: LoadSaveSceneFlags) -> bool
SetupInstanceFromFile(resources: PipelineResources, pipeline: PipelineInfo) -> bool
SetupInstanceFromFile(resources: PipelineResources, pipeline: PipelineInfo, flags: LoadSaveSceneFlags) -> bool
StartOnInstantiateAnim() -> None
StopOnInstantiateAnim() -> None
operator==(n: Node) -> bool
Return true if both objects point to the same node instance, false otherwise.

NodeContacts

Related classes: SceneBullet3Physics.

Related functions: GetNodeContacts and GetNodesInContacts.

NodeList

Related classes: SceneView and Scene.

Related functions: DuplicateNodeAndChildrenFromAssets, DuplicateNodeAndChildrenFromFile, DuplicateNodesAndChildrenFromAssets, DuplicateNodesAndChildrenFromFile, DuplicateNodesFromAssets, DuplicateNodesFromFile and GetNodesInContacts.


MethodPrototype
at(idx: int) -> Node
clear() -> None
push_back(v: Node) -> None
reserve(size: int) -> None
size() -> int

Object

This components draws a Model. It stores the material table used to draw the model.

Related classes: Node and Scene.


MethodPrototype
ClearModelRef() -> None
GetBone(idx: int) -> Node
GetBoneCount() -> int
GetMaterial(slot_idx: int) -> Material
Return the object Material at index.
GetMaterial(name: str) -> Material
Return the object Material at index.
GetMaterialCount() -> int
Return the number of Material in the object material table.
GetMaterialName(slot_idx: int) -> str
GetMinMax(resources: PipelineResources) -> bool, MinMax
GetModelRef() -> ModelRef
Return the ModelRef to display.
IsValid() -> bool
SetBone(idx: int, node: Node) -> bool
SetBoneCount(count: int) -> None
SetMaterial(slot_idx: int, mat: Material) -> None
Set the object Material at index.
SetMaterialCount(count: int) -> None
Set the number of Material in the object material table.
SetMaterialName(slot_idx: int, name: str) -> None
SetModelRef(r: ModelRef) -> None
Set the ModelRef to display.
operator==(o: Object) -> bool

OpenVREye

Matrices for a VR eye, see OpenVRState.

Related classes: OpenVRState.


MemberType
offsetMat4
projectionMat44

OpenVREyeFrameBuffer

Framebuffer for a VR eye. Render to two such buffer, one for each eye, before submitting them using OpenVRSubmitFrame.

Related functions: OpenVRCreateEyeFrameBuffer, OpenVRDestroyEyeFrameBuffer, OpenVRGetColorTexture, OpenVRGetDepthTexture and OpenVRSubmitFrame.


MethodPrototype
GetHandle() -> FrameBufferHandle

OpenVRState

OpenVR state including the body and head transformations, the left and right eye states and the render target dimensions expected by the backend.

Related functions: OpenVRGetState and OpenVRStateToViewState.


MemberType
bodyMat4
headMat4
heightint
inv_headMat4
leftOpenVREye
rightOpenVREye
widthint

Picture

The picture origin (0, 0) is in the top-left corner of its frame with the X and Y axises increasing toward the right and bottom.

To load and save a picture use LoadPicture, LoadPNG or SavePNG.

The Picture.SetData and Picture.GetData methods can be used to transfer data to and from a picture object.

Related functions: CaptureTexture, CreateTextureFromPicture, LoadBMP, LoadGIF, LoadJPG, LoadPNG, LoadPSD, LoadPicture, LoadTGA, SaveBMP, SavePNG, SaveTGA and UpdateTextureFromPicture.


MethodPrototype
Constructor() -> Picture
Constructor(picture: Picture) -> Picture
Constructor(width: int, height: int, format: PictureFormat) -> Picture
Constructor(data: VoidPointer, width: int, height: int, format: PictureFormat) -> Picture
CopyData(data: VoidPointer, width: int, height: int, format: PictureFormat) -> None
GetData() -> pointer
GetFormat() -> PictureFormat
GetHeight() -> int
Return the picture height.
GetPixelRGBA(x: int, y: int) -> Color
GetWidth() -> int
Return the picture width.
SetData(data: VoidPointer, width: int, height: int, format: PictureFormat) -> None
SetPixelRGBA(x: int, y: int, col: Color) -> None

Pipeline

Rendering pipeline base class.

Related functions: Cast_Pipeline_To_ForwardPipeline.

PipelineInfo

Related classes: Node.

Related functions: CreateInstanceFromAssets, CreateInstanceFromFile, DuplicateNodeAndChildrenFromAssets, DuplicateNodeAndChildrenFromFile, DuplicateNodeFromAssets, DuplicateNodeFromFile, DuplicateNodesAndChildrenFromAssets, DuplicateNodesAndChildrenFromFile, DuplicateNodesFromAssets, DuplicateNodesFromFile, GetForwardPipelineInfo, LoadPipelineProgramFromAssets, LoadPipelineProgramFromFile, LoadPipelineProgramRefFromAssets, LoadPipelineProgramRefFromFile, LoadSceneBinaryFromAssets, LoadSceneBinaryFromDataAndAssets, LoadSceneBinaryFromDataAndFile, LoadSceneBinaryFromFile, LoadSceneFromAssets, LoadSceneFromFile, LoadSceneJsonFromAssets and LoadSceneJsonFromFile.


MemberType
namestr

PipelineProgram

Related classes: PipelineResources.

Related functions: LoadPipelineProgramFromAssets, LoadPipelineProgramFromFile and SubmitModelToForwardPipeline.

PipelineProgramRef

Related classes: PipelineResources.

Related functions: CreateMaterial, LoadPipelineProgramRefFromAssets, LoadPipelineProgramRefFromFile and SetMaterialProgram.

PipelineResources

Related classes: Node, Object and Scene.

Related functions: CaptureTexture, CreateInstanceFromAssets, CreateInstanceFromFile, CreateMissingMaterialProgramValuesFromAssets, CreateMissingMaterialProgramValuesFromFile, DuplicateNodeAndChildrenFromAssets, DuplicateNodeAndChildrenFromFile, DuplicateNodeFromAssets, DuplicateNodeFromFile, DuplicateNodesAndChildrenFromAssets, DuplicateNodesAndChildrenFromFile, DuplicateNodesFromAssets, DuplicateNodesFromFile, LoadPipelineProgramFromAssets, LoadPipelineProgramFromFile, LoadPipelineProgramRefFromAssets, LoadPipelineProgramRefFromFile, LoadSceneBinaryFromAssets, LoadSceneBinaryFromDataAndAssets, LoadSceneBinaryFromDataAndFile, LoadSceneBinaryFromFile, LoadSceneFromAssets, LoadSceneFromFile, LoadSceneJsonFromAssets, LoadSceneJsonFromFile, LoadTextureFromAssets, LoadTextureFromFile, PrepareSceneForwardPipelineCommonRenderData, PrepareSceneForwardPipelineViewDependentRenderData, ProcessTextureLoadQueue, SaveSceneBinaryToData, SaveSceneBinaryToFile, SaveSceneJsonToFile, SubmitSceneToForwardPipeline, SubmitSceneToPipeline and UpdateMaterialPipelineProgramVariant.


MethodPrototype
AddModel(name: str, mdl: Model) -> ModelRef
AddProgram(name: str, prg: PipelineProgram) -> PipelineProgramRef
AddTexture(name: str, tex: Texture) -> TextureRef
Constructor() -> PipelineResources
DestroyAllModels() -> None
DestroyAllPrograms() -> None
DestroyAllTextures() -> None
DestroyModel(ref: ModelRef) -> None
DestroyProgram(ref: PipelineProgramRef) -> None
DestroyTexture(ref: TextureRef) -> None
GetModel(ref: ModelRef) -> Model
GetModelName(ref: ModelRef) -> str
GetProgram(ref: PipelineProgramRef) -> PipelineProgram
GetProgramName(ref: PipelineProgramRef) -> str
GetTexture(ref: TextureRef) -> Texture
GetTextureInfo(ref: TextureRef) -> TextureInfo
GetTextureName(ref: TextureRef) -> str
HasModel(name: str) -> ModelRef
HasProgram(name: str) -> PipelineProgramRef
HasTexture(name: str) -> TextureRef
HasTextureInfo(ref: TextureRef) -> bool
UpdateModel(ref: ModelRef, mdl: Model) -> None
UpdateProgram(ref: PipelineProgramRef, prg: PipelineProgram) -> None
UpdateTexture(ref: TextureRef, tex: Texture) -> None

ProgramHandle

Handle to a shader program.

Related classes: SceneBullet3Physics.

Related functions: DestroyProgram, DrawLines, DrawModel, DrawSprites, DrawText, DrawTriangles, ImGuiInitContext, ImGuiInit, LoadProgramFromAssets and LoadProgramFromFile.

Quaternion

Quaternion can be used to represent a 3d rotation. It provides a more compact representation of the rotation than Mat3 and can efficiently and correctly interpolate (see Slerp) between two rotations.

Related functions: Dist, Inverse, Len2, Len, Normalize, QuaternionFromAxisAngle, QuaternionFromEuler, QuaternionFromMatrix3, QuaternionLookAt, Slerp, ToEuler and ToMatrix3.


MemberType
wfloat
xfloat
yfloat
zfloat

MethodPrototype
Constructor() -> Quaternion
Constructor(x: float, y: float, z: float, w: float) -> Quaternion
Constructor(q: Quaternion) -> Quaternion
operator*(v: float) -> Quaternion
operator*(q: Quaternion) -> Quaternion
operator*=(v: float) -> None
operator*=(q: Quaternion) -> None
operator+(v: float) -> Quaternion
operator+(q: Quaternion) -> Quaternion
operator+=(v: float) -> None
operator+=(q: Quaternion) -> None
operator-(v: float) -> Quaternion
operator-(q: Quaternion) -> Quaternion
operator-=(v: float) -> None
operator-=(q: Quaternion) -> None
operator/(v: float) -> Quaternion
operator/=(v: float) -> None

RaycastOut

Contains the result of a physics raycast.

  • P: Position of the raycast hit
  • N: Normal of the raycast hit
  • Node: Node hit by the raycast
  • t: Parametric value of the intersection, ratio of the distance to the hit by the length of the raycast

Related classes: RaycastOutList and SceneBullet3Physics.


MemberType
NVec3
PVec3
nodeNode
tfloat

RaycastOutList

Related classes: SceneBullet3Physics.


MethodPrototype
at(idx: int) -> RaycastOut
clear() -> None
push_back(v: RaycastOut) -> None
reserve(size: int) -> None
size() -> int

Rect

Related functions: ComputeTextRect, Crop, FitsInside, GetHeight, GetSize, GetWidth, GetX, GetY, Grow, Inside, Intersection, Intersects, MakeRectFromWidthHeight, Offset, SetHeight, SetWidth, SetX, SetY, ToFloatRect and ToIntRect.


MemberType
exfloat
eyfloat
sxfloat
syfloat

MethodPrototype
Constructor() -> Rect
Constructor(x: float, y: float) -> Rect
Constructor(sx: float, sy: float, ex: float, ey: float) -> Rect
Constructor(rect: Rect) -> Rect

RenderState

Related classes: SceneBullet3Physics.

Related functions: ComputeRenderState, DrawLines, DrawModel, DrawSprites, DrawText and DrawTriangles.

RigidBody

Rigid body component, see Physics.

Related classes: Node and Scene.


MethodPrototype
GetAngularDamping() -> Vec3
Return the rigid body angular damping. A value of 0.0 means no damping, 1.0 means the maximal dissipation of the energy.
GetFriction() -> float
GetLinearDamping() -> float
GetRestitution() -> float
GetRollingFriction() -> float
GetType() -> RigidBodyType
Return the rigid body type. See RigidBody.SetType.
IsValid() -> bool
SetAngularDamping(damping: Vec3) -> None
Set the rigid body angular damping. A value of 0.0 means no damping, 1.0 means the maximal dissipation of the energy.
SetFriction(friction: float) -> None
SetLinearDamping(damping: float) -> None
SetRestitution(restitution: float) -> None
SetRollingFriction(rolling_friction: float) -> None
SetType(type: RigidBodyType) -> None
Set the rigid body type.
operator==(b: RigidBody) -> bool

SAO

Ambient occlusion post-process object holding internal states and resources.

Create with CreateSAOFromFile or CreateSAOFromAssets, use with ComputeSAO, finally call DestroySAO to dispose of resources when done.

Related functions: ComputeSAO, CreateSAOFromAssets, CreateSAOFromFile and DestroySAO.

SRanipalEyeState

Related classes: SRanipalState.


MemberType
eye_opennessfloat
gaze_direction_normalizedVec3
gaze_origin_mmVec3
pupil_diameter_mmfloat
pupil_diameter_validbool

SRanipalState

Related functions: SRanipalGetState.


MemberType
left_eyeSRanipalEyeState
right_eyeSRanipalEyeState

Scene

A scene object representing a world populated with Node, see Working with Scene.

Related classes: SceneBullet3Physics, SceneLuaVM and SceneView.

Related functions: CreateCamera, CreateInstanceFromAssets, CreateInstanceFromFile, CreateLinearLight, CreateObject, CreateOrthographicCamera, CreatePhysicCube, CreatePhysicSphere, CreatePointLight, CreateSceneRootNode, CreateScript, CreateSpotLight, DebugSceneExplorer, DuplicateNodeAndChildrenFromAssets, DuplicateNodeAndChildrenFromFile, DuplicateNodeFromAssets, DuplicateNodeFromFile, DuplicateNodesAndChildrenFromAssets, DuplicateNodesAndChildrenFromFile, DuplicateNodesFromAssets, DuplicateNodesFromFile, GetNodesInContacts, GetSceneForwardPipelineFog, GetSceneForwardPipelineLights, LoadSceneBinaryFromAssets, LoadSceneBinaryFromDataAndAssets, LoadSceneBinaryFromDataAndFile, LoadSceneBinaryFromFile, LoadSceneFromAssets, LoadSceneFromFile, LoadSceneJsonFromAssets, LoadSceneJsonFromFile, PrepareSceneForwardPipelineCommonRenderData, PrepareSceneForwardPipelineViewDependentRenderData, SaveSceneBinaryToData, SaveSceneBinaryToFile, SaveSceneJsonToFile, SceneClearSystems, SceneGarbageCollectSystems, SceneSyncToSystemsFromAssets, SceneSyncToSystemsFromFile, SceneUpdateSystems, SubmitSceneToForwardPipeline and SubmitSceneToPipeline.


MemberType
canvasCanvas
environmentEnvironment

MethodPrototype
Clear() -> None
Remove all nodes from the scene.
ComputeCurrentCameraViewState(aspect_ratio: Vec2) -> ViewState
ComputeWorldMatrices() -> None
Constructor() -> Scene
CreateCamera() -> Camera
CreateCamera(znear: float, zfar: float) -> Camera
CreateCamera(znear: float, zfar: float, fov: float) -> Camera
CreateCollision() -> Collision
CreateInstance() -> Instance
CreateLight() -> Light
CreateLinearLight(diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float) -> Light
CreateLinearLight(diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float) -> Light
CreateLinearLight(diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float, shadow_type: LightShadowType) -> Light
CreateLinearLight(diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float, shadow_type: LightShadowType, shadow_bias: float) -> Light
CreateLinearLight(diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float, shadow_type: LightShadowType, shadow_bias: float, pssm_split: Vec4) -> Light
CreateLinearLight(diffuse: Color, specular: Color) -> Light
CreateLinearLight(diffuse: Color, specular: Color, priority: float) -> Light
CreateLinearLight(diffuse: Color, specular: Color, priority: float, shadow_type: LightShadowType) -> Light
CreateLinearLight(diffuse: Color, specular: Color, priority: float, shadow_type: LightShadowType, shadow_bias: float) -> Light
CreateLinearLight(diffuse: Color, specular: Color, priority: float, shadow_type: LightShadowType, shadow_bias: float, pssm_split: Vec4) -> Light
CreateNode() -> Node
Create a Node in the scene.
CreateNode(name: str) -> Node
Create a Node in the scene.
CreateObject() -> Object
CreateObject(model: ModelRef, materials: MaterialList) -> Object
CreateOrthographicCamera(znear: float, zfar: float) -> Camera
CreateOrthographicCamera(znear: float, zfar: float, size: float) -> Camera
CreatePointLight(radius: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float) -> Light
CreatePointLight(radius: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float) -> Light
CreatePointLight(radius: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float, shadow_type: LightShadowType) -> Light
CreatePointLight(radius: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float, shadow_type: LightShadowType, shadow_bias: float) -> Light
CreatePointLight(radius: float, diffuse: Color, specular: Color) -> Light
CreatePointLight(radius: float, diffuse: Color, specular: Color, priority: float) -> Light
CreatePointLight(radius: float, diffuse: Color, specular: Color, priority: float, shadow_type: LightShadowType) -> Light
CreatePointLight(radius: float, diffuse: Color, specular: Color, priority: float, shadow_type: LightShadowType, shadow_bias: float) -> Light
CreateRigidBody() -> RigidBody
CreateScript() -> Script
CreateScript(path: str) -> Script
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float) -> Light
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float) -> Light
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float, shadow_type: LightShadowType) -> Light
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, diffuse_intensity: float, specular: Color, specular_intensity: float, priority: float, shadow_type: LightShadowType, shadow_bias: float) -> Light
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, specular: Color) -> Light
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, specular: Color, priority: float) -> Light
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, specular: Color, priority: float, shadow_type: LightShadowType) -> Light
CreateSpotLight(radius: float, inner_angle: float, outer_angle: float, diffuse: Color, specular: Color, priority: float, shadow_type: LightShadowType, shadow_bias: float) -> Light
CreateTransform() -> Transform
CreateTransform(T: Vec3) -> Transform
CreateTransform(T: Vec3, R: Vec3) -> Transform
CreateTransform(T: Vec3, R: Vec3, S: Vec3) -> Transform
DestroyCamera(camera: Camera) -> None
DestroyCollision(collision: Collision) -> None
DestroyInstance(Instance: Instance) -> None
DestroyLight(light: Light) -> None
DestroyNode(node: Node) -> None
Remove a Node from the scene.
DestroyObject(object: Object) -> None
DestroyRigidBody(rigid_body: RigidBody) -> None
DestroyScript(script: Script) -> None
DestroyTransform(transform: Transform) -> None
GarbageCollect() -> int
Destroy any unreferenced components in the scene.
GetAllNodeCount() -> int
Return the total number of nodes in the scene including instantiated ones. To exclude those, use Scene.GetNodeCount.
GetAllNodes() -> NodeList
GetAllNodesWithComponent(idx: NodeComponentIdx) -> NodeList
GetCurrentCamera() -> Node
Get the current camera.
GetKeys() -> StringList
GetMinMax(resources: PipelineResources) -> bool, MinMax
GetNode(name: str) -> Node
Get a node by name. For more complex queries see Scene.GetNodeEx.
GetNodeChildren(node: Node) -> NodeList
Return all children for a given node.
GetNodeCount() -> int
Return the number of nodes in the scene excluding instantiated ones. To include those, use Scene.GetAllNodeCount.
GetNodeEx(path: str) -> Node

Get a node by its absolute path in the node hierarchy.

A node path is constructed as follow:

  • Nodes are refered to by their name.
  • To address the child of a node, use the / delimiter between its parent name and the child name.
  • To address a node inside an instance component, use the : delimiter.
  • There is no limit on the number of delimiters you can use.

Examples:

Get the node named child parented to the root node.

child = scene.GetNodeEx('root/child')

Get the node named dummy instantiated by the root node.

dummy = my_scene.GetNodeEx('root:dummy')
GetNodes() -> NodeList
Return all nodes in scene.
GetNodesWithComponent(idx: NodeComponentIdx) -> NodeList
GetPlayingAnimNames() -> StringList
GetPlayingAnimRefs() -> ScenePlayAnimRefList
GetSceneAnim(name: str) -> SceneAnimRef
GetSceneAnims() -> SceneAnimRefList
GetScript(slot_idx: int) -> Script
GetScriptCount() -> int
GetValue(key: str) -> str
HasKey(key: str) -> bool
IsChildOf(node: Node, parent: Node) -> bool
IsPlaying(ref: ScenePlayAnimRef) -> bool
IsRoot(node: Node) -> bool
PlayAnim(ref: SceneAnimRef) -> ScenePlayAnimRef
PlayAnim(ref: SceneAnimRef, loop_mode: AnimLoopMode) -> ScenePlayAnimRef
PlayAnim(ref: SceneAnimRef, loop_mode: AnimLoopMode, easing: Easing) -> ScenePlayAnimRef
PlayAnim(ref: SceneAnimRef, loop_mode: AnimLoopMode, easing: Easing, t_start: int) -> ScenePlayAnimRef
PlayAnim(ref: SceneAnimRef, loop_mode: AnimLoopMode, easing: Easing, t_start: int, t_end: int) -> ScenePlayAnimRef
PlayAnim(ref: SceneAnimRef, loop_mode: AnimLoopMode, easing: Easing, t_start: int, t_end: int, paused: bool) -> ScenePlayAnimRef
PlayAnim(ref: SceneAnimRef, loop_mode: AnimLoopMode, easing: Easing, t_start: int, t_end: int, paused: bool, t_scale: float) -> ScenePlayAnimRef
ReadyWorldMatrices() -> None
RemoveKey(key: str) -> None
ReserveCameras(count: int) -> None
ReserveLights(count: int) -> None
Allocates internal storage for the required number of Light components in one go.
ReserveNodes(count: int) -> None
Allocates internal storage for the required number of nodes in one go.
ReserveObjects(count: int) -> None
Allocates internal storage for the required number of Object components in one go.
ReserveScripts(count: int) -> None
ReserveTransforms(count: int) -> None
Allocates internal storage for the required number of Transform components in one go.
SetCurrentCamera(camera: Node) -> None
Set the current camera.
SetScript(slot_idx: int, script: Script) -> None
SetValue(key: str, value: str) -> None
StopAllAnims() -> None
StopAnim(ref: ScenePlayAnimRef) -> None
Update(dt: int) -> None
Start the Update phase of the scene.
UpdatePlayingAnims(dt: int) -> None

SceneAnimRef

Reference to a scene animation.

Related classes: Node, SceneAnimRefList and Scene.

SceneAnimRefList

Related classes: Scene.


MethodPrototype
at(idx: int) -> SceneAnimRef
clear() -> None
push_back(v: SceneAnimRef) -> None
reserve(size: int) -> None
size() -> int

SceneBullet3Physics

Newton physics for scene physics and collision components.

See Physics.

Related functions: SceneClearSystems, SceneGarbageCollectSystems, SceneSyncToSystemsFromAssets, SceneSyncToSystemsFromFile and SceneUpdateSystems.


MethodPrototype
Clear() -> None
ClearNodes() -> None
Constructor() -> SceneBullet3Physics
Constructor(thread_count: int) -> SceneBullet3Physics
GarbageCollect(scene: Scene) -> int
GarbageCollectResources() -> int
NodeAddForce(node: Node, F: Vec3) -> None
NodeAddForce(node: Node, F: Vec3, world_pos: Vec3) -> None
NodeAddImpulse(node: Node, dt_velocity: Vec3) -> None
NodeAddImpulse(node: Node, dt_velocity: Vec3, world_pos: Vec3) -> None
NodeCollideWorld(node: Node, world: Mat4) -> NodeContacts
NodeCollideWorld(node: Node, world: Mat4, max_contact: int) -> NodeContacts
NodeCreatePhysicsFromAssets(node: Node) -> None
NodeCreatePhysicsFromFile(node: Node) -> None
NodeDestroyPhysics(node: Node) -> None
NodeGetAngularLockAxes(node: Node) -> bool, bool, bool
NodeGetAngularVelocity(node: Node) -> Vec3
NodeGetDeactivation(node: Node) -> bool
NodeGetLinearLockAxes(node: Node) -> bool, bool, bool
NodeGetLinearVelocity(node: Node) -> Vec3
NodeGetPointVelocity(node: Node, world_pos: Vec3) -> Vec3
NodeHasBody(node: Node) -> bool
NodeResetWorld(node: Node, world: Mat4) -> None
NodeSetAngularLockAxes(node: Node, X: bool, Y: bool, Z: bool) -> None
NodeSetAngularVelocity(node: Node, W: Vec3) -> None
NodeSetDeactivation(node: Node, enable: bool) -> None
NodeSetLinearLockAxes(node: Node, X: bool, Y: bool, Z: bool) -> None
NodeSetLinearVelocity(node: Node, V: Vec3) -> None
NodeStartTrackingCollisionEvents(node: Node) -> None
NodeStartTrackingCollisionEvents(node: Node, mode: CollisionEventTrackingMode) -> None
NodeStopTrackingCollisionEvents(node: Node) -> None
NodeWake(node: Node) -> None
RaycastAllHits(scene: Scene, p0: Vec3, p1: Vec3) -> RaycastOutList
RaycastFirstHit(scene: Scene, p0: Vec3, p1: Vec3) -> RaycastOut
RenderCollision(view_id: int, vtx_layout: VertexLayout, prg: ProgramHandle, render_state: RenderState, depth: int) -> None
SceneCreatePhysicsFromAssets(scene: Scene) -> None
SceneCreatePhysicsFromFile(scene: Scene) -> None
StepSimulation(display_dt: int) -> None
StepSimulation(display_dt: int, step_dt: int) -> None
StepSimulation(display_dt: int, step_dt: int, max_step: int) -> None
SyncBodiesFromScene(scene: Scene) -> None

SceneClocks

Holds clocks for the different scene systems.

This is required as some system such as the physics system may run at a different rate than the scene.

Related functions: SceneUpdateSystems.

SceneForwardPipelinePassViewId

Related functions: GetSceneForwardPipelinePassViewId, PrepareSceneForwardPipelineCommonRenderData, PrepareSceneForwardPipelineViewDependentRenderData, SubmitSceneToForwardPipeline and SubmitSceneToPipeline.

SceneForwardPipelineRenderData

Holds all data required to draw a scene with the forward pipeline.

See Using the Forward Pipeline.

Related functions: PrepareSceneForwardPipelineCommonRenderData, PrepareSceneForwardPipelineViewDependentRenderData and SubmitSceneToForwardPipeline.

SceneLuaVM

Lua VM for scene script components.

See Scripting.

Related functions: SceneClearSystems, SceneGarbageCollectSystems, SceneSyncToSystemsFromAssets, SceneSyncToSystemsFromFile and SceneUpdateSystems.


MethodPrototype
Call(script: Script, function: str, args: LuaObjectList) -> bool, LuaObjectList
Constructor() -> SceneLuaVM
CreateNodeScriptsFromAssets(scene: Scene, node: Node) -> ScriptList
CreateNodeScriptsFromFile(scene: Scene, node: Node) -> ScriptList
CreateScriptFromAssets(scene: Scene, script: Script) -> bool
CreateScriptFromFile(scene: Scene, script: Script) -> bool
CreateScriptFromSource(scene: Scene, script: Script, src: str) -> bool
DestroyScripts(scripts: ScriptList) -> None
GarbageCollect(scene: Scene) -> ScriptList
GetScriptCount() -> int
GetScriptEnv(script: Script) -> LuaObject
GetScriptInterface(script: Script) -> StringList
GetScriptValue(script: Script, name: str) -> LuaObject
MakeLuaObject() -> LuaObject
SceneCreateScriptsFromAssets(scene: Scene) -> ScriptList
SceneCreateScriptsFromFile(scene: Scene) -> ScriptList
SetScriptValue(script: Script, name: str, value: LuaObject) -> bool

ScenePlayAnimRef

Reference to a playing scene animation.

Related classes: Instance, ScenePlayAnimRefList and Scene.

ScenePlayAnimRefList

Related classes: Scene.


MethodPrototype
at(idx: int) -> ScenePlayAnimRef
clear() -> None
push_back(v: ScenePlayAnimRef) -> None
reserve(size: int) -> None
size() -> int

SceneView

Holds a view to a subset of a scene. Used by the instance system to track instantiated scene content.

See Node.GetInstanceSceneView and Working with Scene.

Related classes: Node.


MethodPrototype
GetNode(scene: Scene, name: str) -> Node

Find a node by name in the view. Pass the host scene as the scene parameter.

See Working with Scene.

GetNodes(scene: Scene) -> NodeList

Return all nodes in the view. Pass the host scene as the scene parameter.

See Working with Scene.

Script

Related classes: Node, SceneLuaVM, Scene and ScriptList.


MethodPrototype
GetPath() -> str
IsValid() -> bool
SetPath(path: str) -> None
operator==(s: Script) -> bool

ScriptList

Related classes: SceneLuaVM.


MethodPrototype
at(idx: int) -> Script
clear() -> None
push_back(v: Script) -> None
reserve(size: int) -> None
size() -> int

SetDrawStatesCallback

Signal_returning_void_taking_time_ns


MethodPrototype
Connect(listener: TimeCallback) -> TimeCallbackConnection
Disconnect(connection: TimeCallbackConnection) -> None
DisconnectAll() -> None
Emit(arg0: int) -> None
GetListenerCount() -> int

SpatializedSourceState

State for a spatialized audio source, see Playing Audio.

Related functions: PlaySpatialized, StreamWAVAssetSpatialized and StreamWAVFileSpatialized.


MemberType
mtxMat4
repeatSourceRepeat
velVec3
volumefloat

MethodPrototype
Constructor() -> SpatializedSourceState
Constructor(mtx: Mat4) -> SpatializedSourceState
Constructor(mtx: Mat4, volume: float) -> SpatializedSourceState
Constructor(mtx: Mat4, volume: float, repeat: SourceRepeat) -> SpatializedSourceState
Constructor(mtx: Mat4, volume: float, repeat: SourceRepeat, vel: Vec3) -> SpatializedSourceState

StereoSourceState

State for a stereo audio source, see Playing Audio.

Related functions: PlayStereo, StreamWAVAssetStereo and StreamWAVFileStereo.


MemberType
panningfloat
repeatSourceRepeat
volumefloat

MethodPrototype
Constructor() -> StereoSourceState
Constructor(volume: float) -> StereoSourceState
Constructor(volume: float, repeat: SourceRepeat) -> StereoSourceState
Constructor(volume: float, repeat: SourceRepeat, panning: float) -> StereoSourceState

StringList

Related classes: SceneLuaVM and Scene.

Related functions: GetGamepadNames, GetJoystickDeviceNames, GetJoystickNames, GetKeyboardNames, GetMaterialTextures, GetMaterialValues, GetMouseNames, GetVRControllerNames, GetVRGenericTrackerNames, ImGuiCombo, ImGuiListBox and PathJoin.


MethodPrototype
at(idx: int) -> str
clear() -> None
push_back(v: str) -> None
reserve(size: int) -> None
size() -> int

Texture

Related classes: ImDrawList and PipelineResources.

Related functions: ApplyBloom, ComputeSAO, CreateFrameBuffer, CreateTextureFromPicture, CreateTexture, DestroyTexture, GetColorTexture, GetDepthTexture, GetTextures, ImGuiImageButton, ImGuiImage, IsValid, LoadTextureFromAssets, LoadTextureFromFile, MakeUniformSetTexture, OpenVRGetColorTexture, OpenVRGetDepthTexture and UpdateTextureFromPicture.

TextureInfo

Related classes: PipelineResources.

Related functions: LoadTextureFromAssets and LoadTextureFromFile.


MemberType
bitsPerPixelint
cubeMapbool
depthint
formatTextureFormat
heightint
numLayersint
numMipsint
storageSizeint
widthint

TextureRef

Related classes: Environment and PipelineResources.

Related functions: CaptureTexture, GetMaterialTexture, LoadTextureFromAssets, LoadTextureFromFile, SetMaterialTextureRef and SetMaterialTexture.

TimeCallback

A function taking a time value as parameter with no return value, see System of Units.

Related classes: Signal_returning_void_taking_time_ns.

TimeCallbackConnection

A TimeCallback connection to a Signal_returning_void_taking_time_ns.

Related classes: Signal_returning_void_taking_time_ns.

Transform

Transformation component for a Node, see Working with Scene.

Related classes: Node and Scene.


MethodPrototype
ClearParent() -> None
GetParent() -> Node
Return the parent node for this Transform.
GetPos() -> Vec3

Return the transform position.

If you want the visual position of a Node with a rigid body, use GetT on Transform.GetWorld. See Physics.

GetPosRot() -> Vec3, Vec3
GetRot() -> Vec3
Get the transform rotation. If you want the visual rotation of a Node with a rigid body, use GetRotation on the matrix returned by Transform.GetWorld. See Physics.
GetScale() -> Vec3
Get the transform scale.
GetTRS() -> TransformTRS
Return the TransformTRS.
GetWorld() -> Mat4
Return the world matrix.
IsValid() -> bool
SetLocal(local: Mat4) -> None
SetParent(n: Node) -> None
Set the parent node for this transform. This transform will then inherit the transformation of its parent node’s Transform component.
SetPos(T: Vec3) -> None

Set the transform position.

When the Node has a RigidBody component, Transform.SetPos is overrided by physics. See Physics.

SetPosRot(pos: Vec3, rot: Vec3) -> None
SetRot(R: Vec3) -> None

Set the transform rotation from a vector of Euler angles.

When the Node has a RigidBody component, Transform.SetRot is overrided by physics. See Physics.

SetScale(S: Vec3) -> None
Set the transform scale.
SetTRS(TRS: TransformTRS) -> None
Set the TransformTRS.
SetWorld(world: Mat4) -> None

Set the world matrix.

When the Node has a RigidBody component, SetWorld is overrided by physics.

operator==(t: Transform) -> bool

TransformTRS

Translation, rotation and scale packed as a single object.

Related classes: Transform.


MemberType
posVec3
rotVec3
sclVec3

MethodPrototype
Constructor() -> TransformTRS

UInt16List

Related classes: ModelBuilder.

Related functions: DrawLines and DrawTriangles.


MethodPrototype
at(idx: int) -> int
clear() -> None
push_back(v: int) -> None
reserve(size: int) -> None
size() -> int

UInt32List

Related classes: GeometryBuilder.


MethodPrototype
at(idx: int) -> int
clear() -> None
push_back(v: int) -> None
reserve(size: int) -> None
size() -> int

UniformSetTexture

Command object to set a uniform texture at draw time.

Related classes: UniformSetTextureList.

Related functions: MakeUniformSetTexture.

UniformSetTextureList

Related functions: DrawLines, DrawModel, DrawSprites, DrawText and DrawTriangles.


MethodPrototype
at(idx: int) -> UniformSetTexture
clear() -> None
push_back(v: UniformSetTexture) -> None
reserve(size: int) -> None
size() -> int

UniformSetValue

Command object to set a uniform value at draw time.

Related classes: UniformSetValueList.

Related functions: MakeUniformSetValue.

UniformSetValueList

Related functions: DrawLines, DrawModel, DrawSprites, DrawText and DrawTriangles.


MethodPrototype
at(idx: int) -> UniformSetValue
clear() -> None
push_back(v: UniformSetValue) -> None
reserve(size: int) -> None
size() -> int

VRController

Helper class holding the current and previous device state to enable delta state queries.

Use GetVRControllerNames to query for available VR controller devices.


MethodPrototype
Connected() -> bool
Gamepad was connected since the last update.
Constructor() -> VRController
Constructor(name: str) -> VRController
Disconnected() -> bool
Gamepad was disconnected since the last update.
Down(btn: VRControllerButton) -> bool
DtSurface(idx: int) -> Vec2
IsConnected() -> bool
Gamepad is currently connected.
Pressed(btn: VRControllerButton) -> bool
Released(btn: VRControllerButton) -> bool
SendHapticPulse(duration: int) -> None
Surface(idx: int) -> Vec2
Touch(btn: VRControllerButton) -> bool
TouchEnd(btn: VRControllerButton) -> bool
TouchStart(btn: VRControllerButton) -> bool
Update() -> None
World() -> Mat4

VRControllerState

Related functions: ReadVRController.


MethodPrototype
IsConnected() -> bool
Pressed(btn: VRControllerButton) -> bool
Surface(idx: int) -> Vec2
Touched(btn: VRControllerButton) -> bool
World() -> Mat4

VRGenericTracker

Helper class holding the current and previous device state to enable delta state queries.

Use GetVRGenericTrackerNames to query for available VR generic tracker devices.


MethodPrototype
Constructor() -> VRGenericTracker
Constructor(name: str) -> VRGenericTracker
IsConnected() -> bool
Update() -> None
World() -> Mat4

VRGenericTrackerState

Related functions: ReadVRGenericTracker.


MethodPrototype
IsConnected() -> bool
World() -> Mat4

Vec2

2-dimensional floating point vector.

Related classes: ImDrawList, Node, Scene, VRControllerState, VRController, Vec2List, Vec3, Vec4, Vertex and Vertices.

Related functions: ClipSpaceToScreenSpace, ComputeAspectRatioX, ComputeAspectRatioY, ComputeOrthographicProjectionMatrix, ComputeOrthographicViewState, ComputePerspectiveProjectionMatrix, ComputePerspectiveViewState, Dist2, Dist, Dot, DrawSprites, GetSize, GetWindowContentScale, ImGuiBeginChild, ImGuiButton, ImGuiCalcTextSize, ImGuiColorButton, ImGuiDragVec2, ImGuiDummy, ImGuiGetContentRegionAvail, ImGuiGetContentRegionMax, ImGuiGetCursorPos, ImGuiGetCursorScreenPos, ImGuiGetCursorStartPos, ImGuiGetFontTexUvWhitePixel, ImGuiGetItemRectMax, ImGuiGetItemRectMin, ImGuiGetItemRectSize, ImGuiGetMouseDragDelta, ImGuiGetMousePosOnOpeningCurrentPopup, ImGuiGetMousePos, ImGuiGetWindowContentRegionMax, ImGuiGetWindowContentRegionMin, ImGuiGetWindowPos, ImGuiGetWindowSize, ImGuiImageButton, ImGuiImage, ImGuiInputVec2, ImGuiInvisibleButton, ImGuiIsMouseHoveringRect, ImGuiIsRectVisible, ImGuiProgressBar, ImGuiPushClipRect, ImGuiPushStyleVar, ImGuiSelectable, ImGuiSetCursorPos, ImGuiSetCursorScreenPos, ImGuiSetNextWindowContentSize, ImGuiSetNextWindowPos, ImGuiSetNextWindowSizeConstraints, ImGuiSetNextWindowSize, ImGuiSetWindowPos, ImGuiSetWindowSize, ImGuiSliderVec2, Inside, Len2, Len, MakeUniformSetValue, Max, Min, Normalize, ProjectToScreenSpace, Reverse, RotationMat2D, ScaleMat3, ScreenSpaceToClipSpace, SetMaterialValue, SetTranslation, TranslationMat3, UnprojectFromScreenSpace and UpdateForwardPipelineAAA.


MemberType
Onestatic Vec2
Zerostatic Vec2
xfloat
yfloat

MethodPrototype
Constructor() -> Vec2
Constructor(x: float, y: float) -> Vec2
Constructor(v: Vec2) -> Vec2
Constructor(v: Vec3) -> Vec2
Constructor(v: Vec4) -> Vec2
Set(x: float, y: float) -> None
operator*(v: Vec2) -> Vec2
operator*(k: float) -> Vec2
operator*(m: Mat3) -> Vec2
operator*=(v: Vec2) -> None
operator*=(k: float) -> None
operator+(v: Vec2) -> Vec2
operator+(k: float) -> Vec2
operator+=(v: Vec2) -> None
operator+=(k: float) -> None
operator-(v: Vec2) -> Vec2
operator-(k: float) -> Vec2
operator-=(v: Vec2) -> None
operator-=(k: float) -> None
operator/(v: Vec2) -> Vec2
operator/(k: float) -> Vec2
operator/=(v: Vec2) -> None
operator/=(k: float) -> None

Vec2List

Related classes: ImDrawList.


MethodPrototype
at(idx: int) -> Vec2
Gets the element at the specified index.
clear() -> None
push_back(v: Vec2) -> None
Adds an element to the end.
reserve(size: int) -> None
size() -> int
Returns the number of stored elements.

Vec3

3-dimensional vector.

Related classes: Collision, Contact, MinMax, RaycastOut, RigidBody, SRanipalEyeState, SceneBullet3Physics, Scene, SpatializedSourceState, TransformTRS, Transform, Vec2, Vec3List, Vec4, Vertex, Vertices and iVec2.

Related functions: Abs, BaseToEuler, Ceil, ClampLen, Clamp, ClassifyLine, ClassifySegment, ClipSpaceToScreenSpace, ColorFromVector3, ComputeMinMaxBoundingSphere, ComputeSortKeyFromWorld, Contains, CreatePhysicCube, CrossProductMat3, Cross, Decompose, Deg3, Dist2, Dist, DistanceToPlane, Dot, DrawText, FaceForward, Floor, FpsController, GetCenter, GetColumn, GetR, GetRotation, GetRow, GetS, GetScale, GetT, GetTranslation, GetX, GetY, GetZ, ImGuiDragVec3, ImGuiInputVec3, ImGuiSliderVec3, Inside, IntersectRay, Inverse, Len2, Len, Lerp, MakePlane, MakeUniformSetValue, MakeVec3, Mat3LookAt, Mat4LookAtUp, Mat4LookAt, Mat4LookTowardUp, Mat4LookToward, Max, MinMaxFromPositionSize, Min, Normalize, ProjectToClipSpace, ProjectToScreenSpace, QuaternionFromAxisAngle, QuaternionFromEuler, QuaternionLookAt, Rad3, RandomVec3, Reflect, Refract, Reverse, RotationMat3, RotationMat4, ScaleMat3, ScaleMat4, ScreenSpaceToClipSpace, SetAxises, SetColumn, SetListener, SetMaterialValue, SetRow, SetS, SetScale, SetSourceTransform, SetT, SetTranslation, SetX, SetY, SetZ, Sign, TestVisibility, ToEuler, TransformationMat4, TranslationMat3, TranslationMat4, Union, UnprojectFromClipSpace, UnprojectFromScreenSpace, Vec3I and VectorMat3.


MemberType
Backstatic Vec3
Downstatic Vec3
Frontstatic Vec3
Leftstatic Vec3
Onestatic Vec3
Rightstatic Vec3
Upstatic Vec3
Zerostatic Vec3
xfloat
yfloat
zfloat

MethodPrototype
Constructor() -> Vec3
Constructor(x: float, y: float, z: float) -> Vec3
Constructor(v: Vec2) -> Vec3
Constructor(v: iVec2) -> Vec3
Constructor(v: Vec3) -> Vec3
Constructor(v: Vec4) -> Vec3
Set(x: float, y: float, z: float) -> None
operator!=(v: Vec3) -> bool
operator*(v: Vec3) -> Vec3
operator*(k: float) -> Vec3
operator*(m: Mat3) -> Vec3
operator*(m: Mat4) -> Vec3
operator*=(v: Vec3) -> None
operator*=(k: float) -> None
operator+(v: Vec3) -> Vec3
operator+(k: float) -> Vec3
operator+=(v: Vec3) -> None
operator+=(k: float) -> None
operator-(v: Vec3) -> Vec3
operator-(k: float) -> Vec3
operator-=(v: Vec3) -> None
operator-=(k: float) -> None
operator/(v: Vec3) -> Vec3
operator/(k: float) -> Vec3
operator/=(v: Vec3) -> None
operator/=(k: float) -> None
operator==(v: Vec3) -> bool

Vec3List

Related functions: DrawSprites.


MethodPrototype
at(idx: int) -> Vec3
clear() -> None
push_back(v: Vec3) -> None
reserve(size: int) -> None
size() -> int

Vec4

4-dimensional vector.

Related classes: ForwardPipelineLight, Frustum, ImDrawList, Light, Scene, Vec2, Vec3, Vec4List and iVec2.

Related functions: Abs, ColorFromVector4, CreateLinearLight, CreateMaterial, DistanceToPlane, GetColumn, GetRow, ImGuiDragVec4, ImGuiInputVec4, ImGuiSliderVec4, Inside, Lerp, MakeForwardPipelineLinearLight, MakePlane, MakeUniformSetValue, MakeVec3, Normalize, RandomVec4, SetColumn, SetMaterialValue, SetRow and Vec4I.


MemberType
wfloat
xfloat
yfloat
zfloat

MethodPrototype
Constructor() -> Vec4
Constructor(x: float, y: float, z: float) -> Vec4
Constructor(x: float, y: float, z: float, w: float) -> Vec4
Constructor(v: Vec2) -> Vec4
Constructor(v: iVec2) -> Vec4
Constructor(v: Vec3) -> Vec4
Constructor(v: Vec4) -> Vec4
Set(x: float, y: float, z: float) -> None
Set(x: float, y: float, z: float, w: float) -> None
operator*(v: Vec4) -> Vec4
operator*(k: float) -> Vec4
operator*(m: Mat4) -> Vec4
operator*=(v: Vec4) -> None
operator*=(k: float) -> None
operator+(v: Vec4) -> Vec4
operator+(k: float) -> Vec4
operator+=(v: Vec4) -> None
operator+=(k: float) -> None
operator-(v: Vec4) -> Vec4
operator-(k: float) -> Vec4
operator-=(v: Vec4) -> None
operator-=(k: float) -> None
operator/(v: Vec4) -> Vec4
operator/(k: float) -> Vec4
operator/=(v: Vec4) -> None
operator/=(k: float) -> None

Vec4List


MethodPrototype
at(idx: int) -> Vec4
clear() -> None
push_back(v: Vec4) -> None
reserve(size: int) -> None
size() -> int

Vertex

Related classes: GeometryBuilder and ModelBuilder.


MemberType
binormalVec3
color0Color
color1Color
color2Color
color3Color
normalVec3
posVec3
tangentVec3
uv0Vec2
uv1Vec2
uv2Vec2
uv3Vec2
uv4Vec2
uv5Vec2
uv6Vec2
uv7Vec2

MethodPrototype
Constructor() -> Vertex

VertexLayout

Memory layout and types of vertex attributes.

Related classes: ModelBuilder, SceneBullet3Physics and Vertices.

Related functions: CreateCapsuleModel, CreateConeModel, CreateCubeModel, CreateCylinderModel, CreatePlaneModel, CreateSphereModel, DrawSprites, VertexLayoutPosFloatColorFloat, VertexLayoutPosFloatColorUInt8, VertexLayoutPosFloatNormFloat, VertexLayoutPosFloatNormUInt8TexCoord0UInt8, VertexLayoutPosFloatNormUInt8 and VertexLayoutPosFloatTexCoord0UInt8.


MethodPrototype
Add(attrib: Attrib, count: int, type: AttribType) -> VertexLayout
Add(attrib: Attrib, count: int, type: AttribType, normalized: bool) -> VertexLayout
Add(attrib: Attrib, count: int, type: AttribType, normalized: bool, as_int: bool) -> VertexLayout
Begin() -> VertexLayout
Constructor() -> VertexLayout
End() -> None
GetOffset(attrib: Attrib) -> int
GetSize(count: int) -> int
GetStride() -> int
Has(attrib: Attrib) -> bool
Skip(size: int) -> VertexLayout

Vertices

Helper class to generate vertex buffers for drawing primitives.

Related functions: DrawLines and DrawTriangles.


MethodPrototype
Begin(vertex_index: int) -> Vertices
Clear() -> None
Constructor(decl: VertexLayout, count: int) -> Vertices
End() -> None
End(validate: bool) -> None
GetCapacity() -> int
GetCount() -> int
GetData() -> VoidPointer
GetDecl() -> VertexLayout
GetSize() -> int
Reserve(count: int) -> None
Resize(count: int) -> None
SetBinormal(binormal: Vec3) -> Vertices
SetColor0(color: Color) -> Vertices
SetColor1(color: Color) -> Vertices
SetColor2(color: Color) -> Vertices
SetColor3(color: Color) -> Vertices
SetNormal(normal: Vec3) -> Vertices
SetPos(pos: Vec3) -> Vertices
SetTangent(tangent: Vec3) -> Vertices
SetTexCoord0(uv: Vec2) -> Vertices
SetTexCoord1(uv: Vec2) -> Vertices
SetTexCoord2(uv: Vec2) -> Vertices
SetTexCoord3(uv: Vec2) -> Vertices
SetTexCoord4(uv: Vec2) -> Vertices
SetTexCoord5(uv: Vec2) -> Vertices
SetTexCoord6(uv: Vec2) -> Vertices
SetTexCoord7(uv: Vec2) -> Vertices

ViewState

Everything required to define an observer inside a 3d world. This object holds the projection matrix and its associated frustum as well as the transformation of the observer.

The world content is transformed by the observer view matrix before being projected to screen using its projection matrix.

Related classes: ForwardPipelineAAA, Node and Scene.

Related functions: ComputeOrthographicViewState, ComputePerspectiveViewState, OpenVRStateToViewState, PrepareSceneForwardPipelineViewDependentRenderData, SubmitSceneToForwardPipeline and SubmitSceneToPipeline.


MemberType
frustumFrustum
projMat44
viewMat4

VoidPointer

Related classes: Picture and Vertices.

Related functions: GetWindowHandle, NewWindowFrom and int_to_VoidPointer.

Window

Window object.

Related functions: DestroyWindow, GetWindowClientSize, GetWindowContentScale, GetWindowHandle, GetWindowInFocus, GetWindowPos, GetWindowTitle, IsWindowOpen, NewFullscreenWindow, NewWindowFrom, NewWindow, RenderInit, RenderResetToWindow, SetWindowClientSize, SetWindowPos, SetWindowTitle, UpdateWindow and WindowHasFocus.