class HPS::Window

The Window class is a concept class for window-related enum classes.

Public Types

enum Driver

Enumerates the types of supported display drivers. We recommend that you use the Default3D driver type, and provide end-users with the ability to manually select from a range of 3d drivers in a driver-pulldown list. This will allow them to potentially work around graphics-card-specific problems that occur with a specific driver type.


enumerator Default3D

Visualize will perform runtime query of the 3D capabilities of the Operating System and graphics card and automatically choose a display driver. Under Windows, preference will be given to DirectX API, followed by OpenGL. Under all other platforms, only the OpenGL API is supported.

enumerator OpenGL

This is an alias for OpenGL2.

enumerator OpenGL2

Shader-based driver which supports OpenGL Core Profile on Windows, Linux, and macOS. OpenGL ES 2.0+ on iOS and Android.

enumerator DirectX11

Shader-based driver which supports DirectX 10.X+ Available on Windows.

enumerator OpenGL2Mesa
enumerator Metal
enum FrameOptions

Window Frame Positioning


enumerator Inset

Window Frame Positioning.

enumerator Overlay

Window Frame Positioning.

enum FrameSize

Dimensions of the Window Frame


enumerator Single

Window Frame Size.

enumerator Double

Window Frame Size.

enum ImageFormat

The native image format for off-screen windows


enumerator Default

Image Format.

enumerator RGBA

Image Format.

enumerator RGB

Image Format.

enumerator Jpeg

Image Format.

enumerator Png

Image Format.

enum Mobility

Enumerates the mobility modes (i.e., resizing and positioning behaviors) for stand-alone windows.


enumerator Locked

The stand-alone window cannot be moved or resized.

enumerator Floating

The stand-alone window can be moved, but cannot be resized.

enumerator FixedRatio

The stand-alone window can be moved and resized, but the aspect ratio cannot be changed.

enumerator Free

The stand-alone window can be moved and resized, and the aspect ratio can be changed.

enum UpdateStatus

Enumerates the status that can be returned when performing an update.


enumerator InProgress

Update is not done yet.

enumerator Completed

Update was successfully completed.

enumerator TimedOut

Update timed out before it could be completed.

enumerator Interrupted

Update was interrupted.

enumerator Failed

Update failed.

enum UpdateType

Controls the type of update that Visualize will attempt to perform. For information regarding static model regeneration for each specific UpdateType, please see Performance Considerations in the Rendering section of the programming guide.


enumerator Default

Makes sure that the screen is up-to-date with respect to the internal scene graph. Allows Visualize to automatically perform optimizations.

enumerator Complete

Redraws the entire scene regardless of whether any changes occurred in the scene-graph which may have triggered (required) an update. It should only be used in specific situations where an update is required due to factors external to the scene-graph. An example would be the situation where GUI event-handling logic encounters a ‘GUI window expose’ event which Visualize is not aware of, but the scene needs to be forcefully redrawn to repair (via a complete redraw) the exposed portion of the window.

enumerator Refresh

Pulls the back buffer onto the screen. This is a useful way to update the screen after an expose event like when a window that was occluding your scene is moved away.

enumerator CompileOnly

Only compiles static trees and display lists.

enumerator Exhaustive

Will perform a complete update and also rebuild static trees and display lists that are enabled in the scene-graph. This should typically only be performed for the first update following a file load, or the effective equivalent, such as loading/creating another model inside an existing scene-graph that has the static setting.