Version

A

UInt32 ARGB32ToRGBA32(UInt32 argb)
Color AlphaScale(Color color, float k)

B

void BinaryDataBlur3d(BinaryData data, UInt32 width, UInt32 height, UInt32 depth)
FrustumPlanes BuildFrustumPlanes(Frustum frustum)
Return an object that can be used to perform culling against the source frustum.
FrustumPlanes BuildFrustumPlanesFromProjectionMatrix(Matrix44 projection)
Vector3, Vector3, Vector3, Vector3, Vector3, Vector3, Vector3, Vector3 BuildFrustumVertices(Frustum frustum)

C

AnimTrackFloat CastAnimTrackToAnimTrackFloat(AnimTrack o)
AnimTrackRotation CastAnimTrackToAnimTrackRotation(AnimTrack o)
AnimTrackVector3 CastAnimTrackToAnimTrackVector3(AnimTrack o)
BoxCollision CastCollisionToBoxCollision(Collision o)
CapsuleCollision CastCollisionToCapsuleCollision(Collision o)
ConvexCollision CastCollisionToConvexCollision(Collision o)
MeshCollision CastCollisionToMeshCollision(Collision o)
SphereCollision CastCollisionToSphereCollision(Collision o)
BloomPostProcess CastComponentToBloomPostProcess(Component o)
BoxCollision CastComponentToBoxCollision(Component o)
Camera CastComponentToCamera(Component o)
CapsuleCollision CastComponentToCapsuleCollision(Component o)
ChromaticDispersionPostProcess CastComponentToChromaticDispersionPostProcess(Component o)
Collision CastComponentToCollision(Component o)
ConvexCollision CastComponentToConvexCollision(Component o)
D6Joint CastComponentToD6Joint(Component o)
Decorator CastComponentToDecorator(Component o)
Environment CastComponentToEnvironment(Component o)
HSLPostProcess CastComponentToHSLPostProcess(Component o)
Instance CastComponentToInstance(Component o)
Joint CastComponentToJoint(Component o)
Light CastComponentToLight(Component o)
LogicScript CastComponentToLogicScript(Component o)
MeshCollision CastComponentToMeshCollision(Component o)
MotionBlurPostProcess CastComponentToMotionBlurPostProcess(Component o)
Navigation CastComponentToNavigation(Component o)
Object CastComponentToObject(Component o)
PostProcessComponent CastComponentToPostProcessComponent(Component o)
RadialBlurPostProcess CastComponentToRadialBlurPostProcess(Component o)
RenderScript CastComponentToRenderScript(Component o)
RigidBody CastComponentToRigidBody(Component o)
SAOPostProcess CastComponentToSAOPostProcess(Component o)
Script CastComponentToScript(Component o)
SharpenPostProcess CastComponentToSharpenPostProcess(Component o)
SimpleGraphicSceneOverlay CastComponentToSimpleGraphicSceneOverlay(Component o)
SphereCollision CastComponentToSphereCollision(Component o)
SphericalJoint CastComponentToSphericalJoint(Component o)
Target CastComponentToTarget(Component o)
Terrain CastComponentToTerrain(Component o)
Transform CastComponentToTransform(Component o)
BufferFileDriver CastFileDriverToBufferFileDriver(FileDriver o)
StdFileDriver CastFileDriverToStdFileDriver(FileDriver o)
ZipFileDriver CastFileDriverToZipFileDriver(FileDriver o)
GpuShader CastGpuResourceToGpuShader(GpuResource o)
RenderGeometry CastGpuResourceToRenderGeometry(GpuResource o)
RenderMaterial CastGpuResourceToRenderMaterial(GpuResource o)
SurfaceShader CastGpuResourceToSurfaceShader(GpuResource o)
Texture CastGpuResourceToTexture(GpuResource o)
D6Joint CastJointToD6Joint(Joint o)
SphericalJoint CastJointToSphericalJoint(Joint o)
BloomPostProcess CastPostProcessComponentToBloomPostProcess(PostProcessComponent o)
ChromaticDispersionPostProcess CastPostProcessComponentToChromaticDispersionPostProcess(PostProcessComponent o)
HSLPostProcess CastPostProcessComponentToHSLPostProcess(PostProcessComponent o)
MotionBlurPostProcess CastPostProcessComponentToMotionBlurPostProcess(PostProcessComponent o)
RadialBlurPostProcess CastPostProcessComponentToRadialBlurPostProcess(PostProcessComponent o)
SAOPostProcess CastPostProcessComponentToSAOPostProcess(PostProcessComponent o)
SharpenPostProcess CastPostProcessComponentToSharpenPostProcess(PostProcessComponent o)
LuaSystem CastSceneSystemToLuaSystem(SceneSystem o)
NavigationSystem CastSceneSystemToNavigationSystem(SceneSystem o)
PhysicSystem CastSceneSystemToPhysicSystem(SceneSystem o)
RenderableSystem CastSceneSystemToRenderableSystem(SceneSystem o)
ScriptSystem CastSceneSystemToScriptSystem(SceneSystem o)
TransformSystem CastSceneSystemToTransformSystem(SceneSystem o)
LuaSystem CastScriptSystemToLuaSystem(ScriptSystem o)
LogicScript CastScriptToLogicScript(Script o)
RenderScript CastScriptToRenderScript(Script o)
MaterialValue CastShaderValueToMaterialValue(ShaderValue o)
Color ChromaScale(Color color, float k)
bool, Vector3, Vector3 ClassifyLine(MinMax minmax, Vector3 position, Vector3 direction)
Visibility ClassifyMinMax(FrustumPlanes frustum, MinMax minmax)
Test if a MinMax bounding volume is inside or outside a FrustumPlanes object.
Visibility ClassifyPoint(FrustumPlanes frustum, UInt32 count, Vector3 points)
Visibility ClassifyPoint(FrustumPlanes frustum, UInt32 count, Vector3 points, float distance)
Test if a 3d position is inside or outside a FrustumPlanes object.
bool, Vector3, Vector3 ClassifySegment(MinMax minmax, Vector3 p0, Vector3 p1)
Visibility ClassifySphere(FrustumPlanes frustum, Vector3 origin, float radius)
Test if a sphere is inside or outside a FrustumPlanes object.
Color ColorFromRGBA32(UInt32 rgba32)
Color ColorFromVector3(Vector3 v)
Color ColorFromVector4(Vector4 v)
float ColorToGrayscale(Color color)
UInt32 ColorToRGBA32(Color color)
Vector3, float ComputeMinMaxBoundingSphere(MinMax minmax)
Matrix44 ComputeOrthographicProjectionMatrix(float znear, float zfar, float size, Vector2 aspect_ratio)
Matrix44 ComputePerspectiveProjectionMatrix(float znear, float zfar, float zoom_factor, Vector2 aspect_ratio)
bool Contains(MinMax minmax, Vector3 position)
float CosineInterpolateltfloatgt(float y0, float y1, float t)
DocumentReader CreateBinaryDocumentReader()
DocumentWriter CreateBinaryDocumentWriter()
Geometry CreateCapsule()
Geometry CreateCapsule(float radius)
Geometry CreateCapsule(float radius, float height)
Geometry CreateCapsule(float radius, float height, int subdiv_x, int subdiv_y)
Geometry CreateCapsule(float radius, float height, int subdiv_x, int subdiv_y, string material_path)
Geometry CreateCapsule(float radius, float height, int subdiv_x, int subdiv_y, string material_path, string name)
Geometry CreateCone()
Geometry CreateCone(float radius)
Geometry CreateCone(float radius, float height)
Geometry CreateCone(float radius, float height, int subdiv_x)
Geometry CreateCone(float radius, float height, int subdiv_x, string material_path)
Geometry CreateCone(float radius, float height, int subdiv_x, string material_path, string name)
Geometry CreateCube()
Geometry CreateCube(float width)
Geometry CreateCube(float width, float height)
Geometry CreateCube(float width, float height, float length)
Geometry CreateCube(float width, float height, float length, string material_path)
Geometry CreateCube(float width, float height, float length, string material_path, string name)
Geometry CreateCylinder()
Geometry CreateCylinder(float radius)
Geometry CreateCylinder(float radius, float height)
Geometry CreateCylinder(float radius, float height, int subdiv_x)
Geometry CreateCylinder(float radius, float height, int subdiv_x, string material_path)
Geometry CreateCylinder(float radius, float height, int subdiv_x, string material_path, string name)
DocumentReader CreateJSONDocumentReader()
DocumentWriter CreateJSONDocumentWriter()
Mixer CreateMixer()
Mixer CreateMixer(string name)
Movie CreateMovie()
Movie CreateMovie(string name)
NavigationGeometry CreateNavigationGeometry(Geometry geo, NavigationConfig cfg)
Create a navigation geometry from a Geometry. See LoadGeometry.

Note: The navigation geometry is created for a specific navigation configuration (see NavigationConfig).

PhysicSystem CreatePhysicSystem()
PhysicSystem CreatePhysicSystem(string name)
Geometry CreatePlane()
Geometry CreatePlane(float width)
Geometry CreatePlane(float width, float length)
Geometry CreatePlane(float width, float length, int subdiv_x)
Geometry CreatePlane(float width, float length, int subdiv_x, string material_path)
Geometry CreatePlane(float width, float length, int subdiv_x, string material_path, string name)
Renderer CreateRenderer()
Renderer CreateRenderer(string name)
Geometry CreateSphere()
Geometry CreateSphere(float radius)
Geometry CreateSphere(float radius, int subdiv_x, int subdiv_y)
Geometry CreateSphere(float radius, int subdiv_x, int subdiv_y, string material_path)
Geometry CreateSphere(float radius, int subdiv_x, int subdiv_y, string material_path, string name)
DocumentReader CreateXMLDocumentReader()
DocumentWriter CreateXMLDocumentWriter()
Vector3 Cross(Vector3 u, Vector3 v)
float CubicInterpolateltfloatgt(float y0, float y1, float y2, float y3, float t)

D

bool DestroyWindow(Window window)
float Dist(Vector3 a, Vector3 b)
float Dist2(Vector3 a, Vector3 b)
float Dot(Vector3 u, Vector3 v)
void DrawBuffers(Renderer renderer, UInt32 index_count, Buffer idx, Buffer vtx, VertexLayout layout)
void DrawBuffers(Renderer renderer, UInt32 index_count, Buffer idx, Buffer vtx, VertexLayout layout, IndexType idx_type)
void DrawBuffers(Renderer renderer, UInt32 index_count, Buffer idx, Buffer vtx, VertexLayout layout, IndexType idx_type, GpuPrimitiveType primitive_type)
Use a GpuBuffer of indexes to index into a GpuBuffer of vertices to build and draw primitives to the current render target (RenderTarget). The vertex buffer format is described by a VertexLayout object and the index buffer format by the IndexType enumeration.

The buffers are interpreted as the GpuPrimitiveType specified and drawn using the renderer's current Shader.

See An application using the renderer for an example using this function.

E

void EndFrame()
int ExtractAudioData(AudioData source, BinaryData data)
Extract all audio data to a binary blob object, return the number of bytes written to the blob.

Note: The blob cursor is not reset, so do not forget to SetCursor to 0 before any read operation.

float, float ExtractZRangeFromProjectionMatrix(Matrix44 projection_matrix)
float ExtractZoomFactorFromProjectionMatrix(Matrix44 projection_matrix)

F

void FlushLog()
Immediately output all queued log messages. Messages are processed by a worker thread at a regular interval. This function can be used to force the output of all queued messages.
float FovToZoomFactor(float fov)
Convert from a fov value in radian to a zoom factor value in meters.

G

bool, Geometry GeometryMerge(string name, GeometryList geos, Matrix4List mtxs)
Create a new core geometry by merging a list of transformed core geometries.
void GeometrySmoothRGB(Geometry geo, UInt32 pass_count, float max_smoothing_angle)
AudioIO GetAudioIO()
Return the global AudioIO object.
DocumentFormat GetDocumentFormatFromString(string document)
DocumentFormat GetDocumentReadFormat(string path)
Determine a document read format from its name by looking at the file extension. If the format cannot be determined by the extension alone the file header is inspected.
DocumentFormat GetDocumentWriteFormat(string path)
Determine a document write format from its name by looking at the file extension.
string GetExecutablePath()
Return the executable path.

  • For language extensions (eg. Harfang for Python), the path returned is the path to the extension.

Filesystem GetFilesystem()
Return the global library Filesystem object.
FrameRenderer GetFrameRenderer()
FrameRenderer GetFrameRenderer(string name)
Return a new instance of the specified frame renderer. See [GetAvailableFrameRenderers].
InputSystem GetInputSystem()
Return the library global InputSystem object.
Int64 GetLastFrameDuration()
float GetLastFrameDurationSec()
bool, MonitormodeList GetMonitorModes(Monitor monitor)
string GetMonitorName(Monitor monitor)
IntRect GetMonitorRect(Monitor monitor)
IntVector2 GetMonitorSizeMM(Monitor monitor)
MonitorList GetMonitors()
Plus GetPlus()
Return the global Plus API object.
StringList GetSupportedPictureExt()
bool, int, int GetWindowClientSize(Window window)
VoidPointer GetWindowHandle(Window window)
Window GetWindowInFocus()
IntVector2 GetWindowPos(Window window)
bool, string GetWindowTitle(Window window)

H

float HermiteInterpolateltfloatgt(float y0, float y1, float y2, float y3, float t, float tension, float bias)
void HideCursor()

I

ImFont ImGuiAddFont(RendererAsync renderer_async, string font_path, float font_size)
void ImGuiAlignTextToFramePadding()
bool ImGuiBegin(string name)
bool, bool ImGuiBegin(string name, ImGuiWindowFlags flags)
Start a new window.
bool ImGuiBeginChild(string id)
bool ImGuiBeginChild(string id, ImVec2 size)
bool ImGuiBeginChild(string id, ImVec2 size, bool border)
bool ImGuiBeginChild(string id, ImVec2 size, bool border, ImGuiWindowFlags extra_flags)
Begin a scrolling region.
bool ImGuiBeginCombo(string label, string preview_value)
bool ImGuiBeginCombo(string label, string preview_value, ImGuiComboFlags flags)
void ImGuiBeginGroup()
Lock horizontal starting position. Once closing a group it is seen as a single item (so you can use ImGuiIsItemHovered on a group, ImGuiSameLine between groups, etc...).
bool ImGuiBeginMainMenuBar()
Create and append to a full screen menu-bar.

Note: Only call ImGuiEndMainMenuBar if this returns true.

bool ImGuiBeginMenu(string label)
bool ImGuiBeginMenu(string label, bool enabled)
Create a sub-menu entry.

Note: Only call ImGuiEndMenu if this returns true.

bool ImGuiBeginMenuBar()
Start append to the menu-bar of the current window (requires the WindowFlags_MenuBar flag).

Note: Only call ImGuiEndMenuBar if this returns true.

bool ImGuiBeginPopup(string id)
Return true if popup is opened and starts outputting to it.

Note: Only call ImGuiEndPopup if ImGuiBeginPopup returned true.

bool ImGuiBeginPopupContextItem(string id)
bool ImGuiBeginPopupContextItem(string id, int mouse_button)
bool ImGuiBeginPopupContextVoid()
bool ImGuiBeginPopupContextVoid(string id)
bool ImGuiBeginPopupContextVoid(string id, int mouse_button)
bool ImGuiBeginPopupContextWindow()
bool ImGuiBeginPopupContextWindow(string id)
bool ImGuiBeginPopupContextWindow(string id, int mouse_button)
bool ImGuiBeginPopupContextWindow(string id, int mouse_button, bool also_over_items)
bool ImGuiBeginPopupModal(string name)
bool ImGuiBeginPopupModal(string name, bool open)
bool ImGuiBeginPopupModal(string name, bool open, ImGuiWindowFlags extra_flags)
void ImGuiBeginTooltip()
Used to create full-featured tooltip windows that aren't just text.
void ImGuiBullet()
Draw a small circle and keep the cursor on the same line. Advances by the same distance as an empty ImGuiTreeNode call.
void ImGuiBulletText(string label)
Draw a bullet followed by a static text.
bool ImGuiButton(string label)
bool ImGuiButton(string label, Vector2 size)
Button widget returning True if the button was pressed.
float ImGuiCalcItemWidth()
Vector2 ImGuiCalcTextSize(string text)
Vector2 ImGuiCalcTextSize(string text, bool hide_text_after_double_dash)
Vector2 ImGuiCalcTextSize(string text, bool hide_text_after_double_dash, float wrap_width)
void ImGuiCaptureKeyboardFromApp(bool capture)
void ImGuiCaptureMouseFromApp(bool capture)
bool ImGuiCheckbox(string label, bool value)
Checkbox widget returning the check state.
void ImGuiCloseCurrentPopup()
Close the popup we have begin-ed into. Clicking on a menu item or selectable automatically closes the current popup.
bool ImGuiCollapsingHeader(string label)
bool ImGuiCollapsingHeader(string label, ImGuiTreeNodeFlags flags)
bool ImGuiCollapsingHeader(string label, bool p_open)
bool ImGuiCollapsingHeader(string label, bool p_open, ImGuiTreeNodeFlags flags)
Draw a collapsing header, returns False if the header is collapsed so that you may skip drawing the header content.
bool ImGuiColorButton(string id, Color color)
bool ImGuiColorButton(string id, Color color, ImGuiColorEditFlags flags)
bool ImGuiColorButton(string id, Color color, ImGuiColorEditFlags flags, Vector2 size)
Color button widget, display a small colored rectangle.
bool ImGuiColorEdit(string label, Color color)
bool ImGuiColorEdit(string label, Color color, ImGuiColorEditFlags flags)
Color editor, returns the widget current color.
void ImGuiColumns()
void ImGuiColumns(int count)
void ImGuiColumns(int count, string id)
void ImGuiColumns(int count, string id, bool with_border)
bool ImGuiCombo(string label, int current_item, StringList items)
bool ImGuiCombo(string label, int current_item, StringList items, int height_in_items)
Combo box widget, return the current selection index. Combo items are passed as an array of string.
bool ImGuiDragFloat(string label, float v)
bool ImGuiDragFloat(string label, float v, float v_speed)
bool ImGuiDragFloat(string label, float v, float v_speed, float v_min, float v_max)
bool ImGuiDragIntVector2(string label, IntVector2 v)
bool ImGuiDragIntVector2(string label, IntVector2 v, float v_speed)
bool ImGuiDragIntVector2(string label, IntVector2 v, float v_speed, int v_min, int v_max)
bool ImGuiDragVector2(string label, Vector2 v)
bool ImGuiDragVector2(string label, Vector2 v, float v_speed)
bool ImGuiDragVector2(string label, Vector2 v, float v_speed, float v_min, float v_max)
bool ImGuiDragVector3(string label, Vector3 v)
bool ImGuiDragVector3(string label, Vector3 v, float v_speed)
bool ImGuiDragVector3(string label, Vector3 v, float v_speed, float v_min, float v_max)
bool ImGuiDragVector4(string label, Vector4 v)
bool ImGuiDragVector4(string label, Vector4 v, float v_speed)
bool ImGuiDragVector4(string label, Vector4 v, float v_speed, float v_min, float v_max)
void ImGuiDummy(Vector2 size)
Add a dummy item of given size.
void ImGuiEnd()
End the current window.
void ImGuiEndChild()
End a scrolling region.
void ImGuiEndCombo()
void ImGuiEndGroup()
End the current group.
void ImGuiEndMainMenuBar()
End the main menu bar. See ImGuiBeginMainMenuBar.
void ImGuiEndMenu()
End the current sub-menu entry.
void ImGuiEndMenuBar()
End the current menu bar.
void ImGuiEndPopup()
End the current popup.
void ImGuiEndTooltip()
End the current tooltip window. See ImGuiBeginTooltip.
UInt32 ImGuiGetColorU32(ImGuiCol idx)
UInt32 ImGuiGetColorU32(ImGuiCol idx, float alpha_multiplier)
UInt32 ImGuiGetColorU32(Color color)
int ImGuiGetColumnIndex()
float ImGuiGetColumnOffset()
float ImGuiGetColumnOffset(int column_index)
float ImGuiGetColumnWidth()
float ImGuiGetColumnWidth(int column_index)
int ImGuiGetColumnsCount()
Vector2 ImGuiGetContentRegionAvail()
float ImGuiGetContentRegionAvailWidth()
Vector2 ImGuiGetContentRegionMax()
Vector2 ImGuiGetCursorPos()
float ImGuiGetCursorPosX()
float ImGuiGetCursorPosY()
Vector2 ImGuiGetCursorScreenPos()
Vector2 ImGuiGetCursorStartPos()
ImFont ImGuiGetFont()
float ImGuiGetFontSize()
Vector2 ImGuiGetFontTexUvWhitePixel()
int ImGuiGetFrameCount()
float ImGuiGetFrameHeightWithSpacing()
UInt32 ImGuiGetID(string id)
Vector2 ImGuiGetItemRectMax()
Get bounding rect maximum of last item in screen space.
Vector2 ImGuiGetItemRectMin()
Get bounding rect minimum of last item in screen space.
Vector2 ImGuiGetItemRectSize()
Get bounding rect size of last item in screen space.
Vector2 ImGuiGetMouseDragDelta()
Vector2 ImGuiGetMouseDragDelta(int button)
Vector2 ImGuiGetMouseDragDelta(int button, float lock_threshold)
Vector2 ImGuiGetMousePos()
Vector2 ImGuiGetMousePosOnOpeningCurrentPopup()
float ImGuiGetScrollMaxX()
float ImGuiGetScrollMaxY()
float ImGuiGetScrollX()
float ImGuiGetScrollY()
float ImGuiGetTextLineHeight()
float ImGuiGetTextLineHeightWithSpacing()
float ImGuiGetTime()
float ImGuiGetTreeNodeToLabelSpacing()
Vector2 ImGuiGetWindowContentRegionMax()
Vector2 ImGuiGetWindowContentRegionMin()
float ImGuiGetWindowContentRegionWidth()
ImDrawList ImGuiGetWindowDrawList()
float ImGuiGetWindowHeight()
Vector2 ImGuiGetWindowPos()
Vector2 ImGuiGetWindowSize()
float ImGuiGetWindowWidth()
void ImGuiImage(Texture texture, Vector2 size)
void ImGuiImage(Texture texture, Vector2 size, Vector2 uv0)
void ImGuiImage(Texture texture, Vector2 size, Vector2 uv0, Vector2 uv1)
void ImGuiImage(Texture texture, Vector2 size, Vector2 uv0, Vector2 uv1, Color tint_col)
void ImGuiImage(Texture texture, Vector2 size, Vector2 uv0, Vector2 uv1, Color tint_col, Color border_col)
bool ImGuiImageButton(Texture texture, Vector2 size)
bool ImGuiImageButton(Texture texture, Vector2 size, Vector2 uv0)
bool ImGuiImageButton(Texture texture, Vector2 size, Vector2 uv0, Vector2 uv1)
bool ImGuiImageButton(Texture texture, Vector2 size, Vector2 uv0, Vector2 uv1, int frame_padding)
bool ImGuiImageButton(Texture texture, Vector2 size, Vector2 uv0, Vector2 uv1, int frame_padding, Color bg_col)
bool ImGuiImageButton(Texture texture, Vector2 size, Vector2 uv0, Vector2 uv1, int frame_padding, Color bg_col, Color tint_col)
void ImGuiIndent()
void ImGuiIndent(float width)
Move content position toward the right.
bool ImGuiInputFloat(string label, float v)
bool ImGuiInputFloat(string label, float v, float step, float step_fast)
bool ImGuiInputFloat(string label, float v, float step, float step_fast, int decimal_precision)
bool ImGuiInputFloat(string label, float v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags extra_flags)
Float field widget.
bool ImGuiInputInt(string label, int v)
bool ImGuiInputInt(string label, int v, int step, int step_fast)
bool ImGuiInputInt(string label, int v, int step, int step_fast, ImGuiInputTextFlags extra_flags)
Integer field widget.
bool, string ImGuiInputText(string label, string text, int max_size)
bool, string ImGuiInputText(string label, string text, int max_size, ImGuiInputTextFlags flags)
Text input widget, returns the current widget buffer content.
bool ImGuiInputVector2(string label, Vector2 v)
bool ImGuiInputVector2(string label, Vector2 v, int decimal_precision)
bool ImGuiInputVector2(string label, Vector2 v, int decimal_precision, ImGuiInputTextFlags extra_flags)
Vector2 field widget.
bool ImGuiInputVector3(string label, Vector3 v)
bool ImGuiInputVector3(string label, Vector3 v, int decimal_precision)
bool ImGuiInputVector3(string label, Vector3 v, int decimal_precision, ImGuiInputTextFlags extra_flags)
Vector3 field widget.
bool ImGuiInputVector4(string label, Vector4 v)
bool ImGuiInputVector4(string label, Vector4 v, int decimal_precision)
bool ImGuiInputVector4(string label, Vector4 v, int decimal_precision, ImGuiInputTextFlags extra_flags)
Vector4 field widget.
bool ImGuiInvisibleButton(string text, Vector2 size)
Invisible button widget, return True if the button was pressed.
bool ImGuiIsAnyItemActive()
Return true if any item is active, false otherwise.
bool ImGuiIsAnyItemHovered()
Return true if any item is hovered by the mouse cursor, false otherwise.
bool ImGuiIsItemActive()
Was the last item active.

e.g. button being held, text field being edited - items that do not interact will always return false.

bool ImGuiIsItemClicked()
bool ImGuiIsItemClicked(int mouse_button)
bool ImGuiIsItemHovered()
bool ImGuiIsItemHovered(ImGuiHoveredFlags flags)
Was the last item hovered by mouse.
bool ImGuiIsItemVisible()
Was the last item visible and not out of sight due to clipping/scrolling.
bool ImGuiIsKeyDown(int key_index)
bool ImGuiIsKeyPressed(int key_index)
bool ImGuiIsKeyPressed(int key_index, bool repeat)
bool ImGuiIsKeyReleased(int key_index)
bool ImGuiIsMouseClicked(int button)
bool ImGuiIsMouseClicked(int button, bool repeat)
bool ImGuiIsMouseDoubleClicked(int button)
bool ImGuiIsMouseDown(int button)
bool ImGuiIsMouseDragging()
bool ImGuiIsMouseDragging(int button)
bool ImGuiIsMouseDragging(int button, float lock_threshold)
bool ImGuiIsMouseHoveringRect(Vector2 rect_min, Vector2 rect_max)
bool ImGuiIsMouseHoveringRect(Vector2 rect_min, Vector2 rect_max, bool clip)
bool ImGuiIsMouseReleased(int button)
bool ImGuiIsRectVisible(Vector2 size)
bool ImGuiIsRectVisible(Vector2 rect_min, Vector2 rect_max)
bool ImGuiIsWindowCollapsed()
bool ImGuiIsWindowFocused()
bool ImGuiIsWindowFocused(ImGuiFocusedFlags flags)
Is the current window focused.
bool ImGuiIsWindowHovered()
bool ImGuiIsWindowHovered(ImGuiHoveredFlags flags)
Is the current window hovered and hoverable (not blocked by a popup), differentiates child windows from each others.
void ImGuiLabelText(string label, string text)
Display text+label aligned the same way as value+label widgets.
bool ImGuiListBox(string label, int current_item, StringList items)
bool ImGuiListBox(string label, int current_item, StringList items, int height_in_items)
List widget.
void ImGuiLock()
bool ImGuiMenuItem(string label)
bool ImGuiMenuItem(string label, string shortcut)
bool ImGuiMenuItem(string label, string shortcut, bool selected)
bool ImGuiMenuItem(string label, string shortcut, bool selected, bool enabled)
Return true when activated. Shortcuts are displayed for convenience but not processed at the moment.
void ImGuiMouseDrawCursor(bool draw_cursor)
void ImGuiNewFrame()
void ImGuiNewLine()
void ImGuiNextColumn()
void ImGuiOpenPopup(string id)
Mark popup as open.

Popup windows are closed when the user:

Popup identifiers are relative to the current ID-stack (so ImGuiOpenPopup and ImGuiBeginPopup need to be at the same level).

void ImGuiPopAllowKeyboardFocus()
void ImGuiPopButtonRepeat()
void ImGuiPopClipRect()
void ImGuiPopFont()
void ImGuiPopID()
void ImGuiPopItemWidth()
void ImGuiPopStyleColor()
void ImGuiPopStyleColor(int count)
void ImGuiPopStyleVar()
void ImGuiPopStyleVar(int count)
void ImGuiPopTextWrapPos()
void ImGuiProgressBar(float fraction)
void ImGuiProgressBar(float fraction, Vector2 size)
void ImGuiProgressBar(float fraction, Vector2 size, string overlay)
Draw a progress bar, fraction must be between 0.0 and 1.0.
void ImGuiPushAllowKeyboardFocus(bool v)
void ImGuiPushButtonRepeat(bool repeat)
void ImGuiPushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, bool intersect_with_current_clip_rect)
void ImGuiPushFont(ImFont font)
void ImGuiPushID(string id)
void ImGuiPushID(int id)
void ImGuiPushItemWidth(float item_width)
void ImGuiPushStyleColor(ImGuiCol idx, Color color)
void ImGuiPushStyleVar(ImGuiStyleVar idx, float value)
void ImGuiPushStyleVar(ImGuiStyleVar idx, Vector2 value)
void ImGuiPushTextWrapPos()
void ImGuiPushTextWrapPos(float wrap_pos_x)
bool ImGuiRadioButton(string label, bool active)
bool ImGuiRadioButton(string label, int v, int v_button)
Radio button widget, return the button state.
void ImGuiRender()
void ImGuiResetMouseDragDelta()
void ImGuiResetMouseDragDelta(int button)
void ImGuiSameLine()
void ImGuiSameLine(float pos_x)
void ImGuiSameLine(float pos_x, float spacing_w)
Call between widgets or groups to layout them horizontally.
bool ImGuiSelectable(string label)
bool ImGuiSelectable(string label, bool selected)
bool ImGuiSelectable(string label, bool selected, ImGuiSelectableFlags flags)
bool ImGuiSelectable(string label, bool selected, ImGuiSelectableFlags flags, Vector2 size)
Selectable item.

The following width values are possible:

  • = 0.0: Use remaining width.
  • > 0.0: Specific width.

The following height values are possible:

  • = 0.0: Use label height.
  • > 0.0: Specific height.
void ImGuiSeparator()
Horizontal line.
void ImGuiSetColumnOffset(int column_index, float offset_x)
void ImGuiSetColumnWidth(int column_index, float width)
void ImGuiSetCursorPos(Vector2 local_pos)
void ImGuiSetCursorPosX(float x)
void ImGuiSetCursorPosY(float y)
void ImGuiSetCursorScreenPos(Vector2 pos)
void ImGuiSetItemAllowOverlap()
Allow the last item to be overlapped by a subsequent item. Sometimes useful with invisible buttons, selectables, etc... to catch unused areas.
void ImGuiSetKeyboardFocusHere()
void ImGuiSetKeyboardFocusHere(int offset)
void ImGuiSetNextTreeNodeOpen(bool is_open)
void ImGuiSetNextTreeNodeOpen(bool is_open, ImGuiCond condition)
void ImGuiSetNextWindowCollapsed(bool collapsed, ImGuiCond condition)
Set next window collapsed state, call before ImGuiBegin.
void ImGuiSetNextWindowContentSize(Vector2 size)
void ImGuiSetNextWindowContentWidth(float width)
void ImGuiSetNextWindowFocus()
void ImGuiSetNextWindowPos(Vector2 pos)
void ImGuiSetNextWindowPos(Vector2 pos, ImGuiCond condition)
Set next window position, call before ImGuiBegin.
void ImGuiSetNextWindowPosCenter()
void ImGuiSetNextWindowPosCenter(ImGuiCond condition)
Set next window position to be centered on screen, call before ImGuiBegin.
void ImGuiSetNextWindowSize(Vector2 size)
void ImGuiSetNextWindowSize(Vector2 size, ImGuiCond condition)
Set next window size, call before ImGuiBegin. A value of 0 for an axis will auto-fit it.
void ImGuiSetNextWindowSizeConstraints(Vector2 size_min, Vector2 size_max)
void ImGuiSetOutputSurface(Surface surface)
void ImGuiSetScrollFromPosY(float pos_y)
void ImGuiSetScrollFromPosY(float pos_y, float center_y_ratio)
void ImGuiSetScrollHere()
void ImGuiSetScrollHere(float center_y_ratio)
void ImGuiSetScrollX(float scroll_x)
void ImGuiSetScrollY(float scroll_y)
void ImGuiSetTooltip(string text)
Set tooltip under mouse-cursor, typically used with ImGuiIsItemHovered/ImGuiIsAnyItemHovered. Last call wins.
void ImGuiSetWindowCollapsed(bool collapsed)
void ImGuiSetWindowCollapsed(bool collapsed, ImGuiCond condition)
void ImGuiSetWindowFocus()
void ImGuiSetWindowFocus(string name)
void ImGuiSetWindowFontScale(float scale)
Per-window font scale.
void ImGuiSetWindowPos(Vector2 pos)
void ImGuiSetWindowPos(Vector2 pos, ImGuiCond condition)
void ImGuiSetWindowSize(Vector2 size)
void ImGuiSetWindowSize(Vector2 size, ImGuiCond condition)
bool ImGuiSliderFloat(string label, float v, float v_min, float v_max)
bool ImGuiSliderFloat(string label, float v, float v_min, float v_max, string format)
Float slider widget.
bool ImGuiSliderInt(string label, int v, int v_min, int v_max)
bool ImGuiSliderInt(string label, int v, int v_min, int v_max, string format)
Integer slider widget.
bool ImGuiSliderIntVector2(string label, IntVector2 v, int v_min, int v_max)
bool ImGuiSliderIntVector2(string label, IntVector2 v, int v_min, int v_max, string format)
bool ImGuiSliderVector2(string label, Vector2 v, float v_min, float v_max)
bool ImGuiSliderVector2(string label, Vector2 v, float v_min, float v_max, string format)
Vector2 slider widget.
bool ImGuiSliderVector3(string label, Vector3 v, float v_min, float v_max)
bool ImGuiSliderVector3(string label, Vector3 v, float v_min, float v_max, string format)
Vector3 slider widget.
bool ImGuiSliderVector4(string label, Vector4 v, float v_min, float v_max)
bool ImGuiSliderVector4(string label, Vector4 v, float v_min, float v_max, string format)
Vector4 slider widget.
bool ImGuiSmallButton(string label)
Small button widget fitting the height of a text line, return True if the button was pressed.
void ImGuiSpacing()
Add spacing.
void ImGuiText(string text)
Static text.
void ImGuiTextColored(Color color, string text)
Colored static text.
void ImGuiTextDisabled(string text)
Disabled static text.
void ImGuiTextUnformatted(string text)
void ImGuiTextWrapped(string text)
Wrapped static text.

Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, you may need to set a size using ImGuiSetNextWindowSize.

void ImGuiTreeAdvanceToLabelPos()
bool ImGuiTreeNode(string label)
If returning true the node is open and the user is responsible for calling ImGuiTreePop.
bool ImGuiTreeNodeEx(string label, ImGuiTreeNodeFlags flags)
void ImGuiTreePop()
Pop the current tree node.
void ImGuiTreePush(string id)
Already called by ImGuiTreeNode, but you can call ImGuiTreePush/ImGuiTreePop yourself for layouting purpose.
void ImGuiUnindent()
void ImGuiUnindent(float width)
Move content position back to the left (cancel ImGuiIndent).
void ImGuiUnlock()
bool ImGuiWantCaptureMouse()
ImGui wants mouse capture. Use this function to determine when to pause mouse processing from other parts of your program.
bool, float, float IntersectRay(MinMax minmax, Vector3 origin, Vector3 direction)
bool IsMonitorConnected(Monitor monitor)
bool IsPrimaryMonitor(Monitor monitor)
bool IsWindowOpen(Window window)
void IsoSurfaceToGeometry(IsoSurface iso, Geometry out)
FutureVoid IsoSurfaceToRenderGeometry(RenderSystem render_system, IsoSurface iso, RenderGeometry geo, RenderMaterial mat)
Polygonize an iso surface to a render geometry. This conversion is very fast.

L

float LinearInterpolateltfloatgt(float y0, float y1, float t)
bool LoadGeometry(Geometry geo, string path)
bool LoadMaterial(Material mat, string path)
bool LoadPicture(Picture picture, string path)
Load a Picture content from the filesystem.
UInt32 LoadPlugins()
UInt32 LoadPlugins(string path)
Load plugins from a directory.

If no directory is specified, GetExecutablePath will be used to look for plugins.

The configuration string is a semi-colon separated list of key:value where key is a plugin interface and value the name of the plugin to load for that interface.

M

Frustum MakeOrthographicFrustum(float znear, float zfar, float size, Vector2 ar, Matrix4 m)
Create an orthographic frustum.

# make a 1024 pixel wide orthographic frustum
frustum = hg.MakeOrthographicFrustum(0.1, 1000.0, 1024.0, renderer.GetAspectRatio(), camera.GetTransform().GetWorld())

Frustum MakePerspectiveFrustum(float znear, float zfar, float fov, Vector2 ar, Matrix4 m)
Create a perspective frustum.

# make a 45° perspective frustum
frustum = hg.MakePerspectiveFrustum(0.1, 1000.0, 45.0, renderer.GetAspectRatio(), camera.GetTransform().GetWorld())

MinMax MinMaxFromPositionSize(Vector3 position, Vector3 size)
bool MountFileDriver(FileDriver driver)
bool MountFileDriver(FileDriver driver, string prefix)
Mount a file driver. This is equivalent to calling Mount on the object returned by GetFilesystem.

N

Scene NewDefaultScene(RenderSystem render_system)
Window NewFullscreenWindow(Monitor monitor, int mode_index)
Window NewFullscreenWindow(Monitor monitor, int mode_index, MonitorRotation rotation)
Window NewWindow(int width, int height)
Window NewWindow(int width, int height, int bpp)
Window NewWindow(int width, int height, int bpp, Visibility visibility)
Window NewWindowFrom(VoidPointer handle)

O

bool OpenFileDialog(string title, string filter, string file_name)
bool OpenFileDialog(string title, string filter, string file_name, string initial_dir)
bool OpenFolderDialog(string title, string folder_name)
bool OpenFolderDialog(string title, string folder_name, string initial_dir)
bool Overlap(MinMax minmax_a, MinMax minmax_b)
bool Overlap(MinMax minmax_a, MinMax minmax_b, Axis axis)

P

void PolygoniseIsoSurface(UInt32 width, UInt32 height, UInt32 depth, BinaryData field, float isolevel, IsoSurface iso)
void PolygoniseIsoSurface(UInt32 width, UInt32 height, UInt32 depth, BinaryData field, float isolevel, IsoSurface iso, Vector3 unit)
Convert a field of values stored in a BinaryData to a triangle representation.

The resulting object must be further processed by IsoSurfaceToGeometry or IsoSurfaceToRenderGeometry before it can be drawn.

FutureVoid PolygoniseIsoSurfaceToRenderGeometry(RenderSystem render_system, RenderGeometry geo, RenderMaterial mat, UInt32 width, UInt32 height, UInt32 depth, BinaryData field, float isolevel, IsoSurface iso)
FutureVoid PolygoniseIsoSurfaceToRenderGeometry(RenderSystem render_system, RenderGeometry geo, RenderMaterial mat, UInt32 width, UInt32 height, UInt32 depth, BinaryData field, float isolevel, IsoSurface iso, Vector3 unit)
bool, Vector3 Project(Matrix4 camera_world, float zoom_factor, Vector2 aspect_ratio, Vector3 position)

R

Vector3 RandomVector3(float min, float max)
Vector3 RandomVector3(Vector3 min, Vector3 max)
Vector3 Reflect(Vector3 v, Vector3 normal)
Vector3 Refract(Vector3 v, Vector3 normal)
Vector3 Refract(Vector3 v, Vector3 normal, float index_of_refraction_in, float index_of_refraction_out)
void ResetLastFrameDuration()
RotationOrder ReverseRotationOrder(RotationOrder rotation_order)
Return the rotation order processing each axis in the reverse order of the input rotation order.
Matrix3 RotationMatrixXY(float x, float y)
Creates a 3x3 homogeneous rotation matrix from euler angles (X * Y).
Matrix3 RotationMatrixXYZ(float x, float y, float z)
Creates a 3x3 homogeneous rotation matrix from euler angles (X * Y * Z).
Matrix3 RotationMatrixXZY(float x, float y, float z)
Creates a 3x3 homogeneous rotation matrix from euler angles (X * Z * Y).
Matrix3 RotationMatrixYXZ(float x, float y, float z)
Creates a 3x3 homogeneous rotation matrix from euler angles (Y * X * Z).
Matrix3 RotationMatrixYZX(float x, float y, float z)
Creates a 3x3 homogeneous rotation matrix from euler angles (Y * Z * X).
Matrix3 RotationMatrixZXY(float x, float y, float z)
Creates a 3x3 homogeneous rotation matrix from euler angles (Z * X * Y).
Matrix3 RotationMatrixZYX(float x, float y, float z)
Creates a 3x3 homogeneous rotation matrix from euler angles (Z * Y * X).

S

bool SaveFileDialog(string title, string filter, string file_name)
bool SaveFileDialog(string title, string filter, string file_name, string initial_dir)
bool SaveGeometry(Geometry geo, string path)
bool SaveGeometry(Geometry geo, string path, DocumentFormat format)
bool SaveMaterial(Material material, string path)
bool SaveMaterial(Material material, string path, DocumentFormat format)
bool SavePicture(Picture picture, string path, string codec_name)
bool SavePicture(Picture picture, string path, string codec_name, string parm)
Save a Picture to the filesystem.

See [PictureIO] for a list of available codecs and the parameters they support.

void SceneSetupCoreSystemsAndComponents(Scene scene, RenderSystem render_system)
void SetLogIsDetailed(bool is_detailed)
void SetLogLevel(LogLevel mask)
void SetShaderEngineValues(RenderSystem render_system)
Update the value of the engine states the shader reference. See Shader for a list of the available states.
bool SetWindowClientSize(Window window, int width, int height)
bool SetWindowPos(Window window, IntVector2 position)
bool SetWindowTitle(Window window, string title)
void ShowCursor()
void Sleep(Int64 duration)
Sleep the caller thread, this function will resume execution after waiting for at least the specified amount of time.

T

Int64 TimePingPong(Int64 t, Int64 start, Int64 end)
Int64 TimeRepeat(Int64 t, Int64 start, Int64 end)
Rect ToFloatRect(IntRect rect)
IntRect ToIntRect(Rect rect)
Int64 time_from_day(Int64 day)
Int64 time_from_hour(Int64 hour)
Int64 time_from_min(Int64 min)
Int64 time_from_ms(Int64 ms)
Construct a new time object from a number of milliseconds (10-3 or 1/1,000 seconds).
Int64 time_from_ms_f(float ms)
Int64 time_from_ns(Int64 ns)
Construct a new time object from a number of nanoseconds (10-9 or 1/1,000,000,000 seconds).
Int64 time_from_sec(Int64 sec)
Construct a new time object from a number of seconds.
Int64 time_from_sec_f(float sec)
Int64 time_from_us(Int64 us)
Int64 time_from_us_f(float us)
Int64 time_now()
Return a time object holding the current system time.

current_time = hg.time.now()

Int64 time_to_day(Int64 t)
Return this object value converted to days.
Int64 time_to_hour(Int64 t)
Return this object value converted to hours.
Int64 time_to_min(Int64 t)
Return this object value converted to minutes.
Int64 time_to_ms(Int64 t)
Return this object value converted to milliseconds (10-3 or 1/1,000 seconds).
float time_to_ms_f(Int64 t)
Int64 time_to_ns(Int64 t)
Return this object value converted to nanoseconds (10-9 or 1/1,000,000,000 seconds).
Int64 time_to_sec(Int64 t)
Return this object value converted to seconds.
float time_to_sec_f(Int64 t)
string time_to_string(Int64 t)
Int64 time_to_us(Int64 t)
float time_to_us_f(Int64 t)

U

MinMax Union(MinMax minmax_a, MinMax minmax_b)
MinMax Union(MinMax minmax, Vector3 position)
void UnloadPlugins()
bool, Vector3 Unproject(Matrix4 camera_world, float zoom_factor, Vector2 aspect_ratio, Vector3 position)
bool UpdateWindow(Window window)

V

Vector3 Vector3FromVector4(Vector4 v)

W

bool WindowHasFocus(Window window)

Z

float ZoomFactorToFov(float zoom_factor)
Convert from a zoom factor value in meters to a fov value in radian.

_

void _DebugHalt()