Expand description
Re-exports§
pub use crate::interactor::DefaultInteractors;
pub use crate::interactor::Interaction;
pub use crate::interactor::Interactor;
pub use crate::interactor::InteractorActivation;
pub use crate::interactor::InteractorEvent;
pub use crate::interactor::InteractorType;
Structs§
- Align
- A bit-flag enum for describing alignment or positioning. Items can be combined using the ‘|’ operator, like so:
let alignment = Align::YTop | Align::XLeft;
. Avoid combining multiple items of the same axis. There are also a complete list of valid bit flag combinations! These are the values without an axis listed in their names, ‘TopLeft’, ‘BottomCenter’, etc. https://stereokit.net/Pages/StereoKit/Align.html - Asset
Iter - Iterator on
Assets
producing someAsset
- Assets
- If you want to manage loading assets, this is the class for you! https://stereokit.net/Pages/StereoKit/Assets.html
- Backend
- This class exposes some of StereoKit’s backend functionality. This allows for tighter integration with certain platforms, but also means your code becomes less portable. Everything in this class should be guarded by availability checks.
- Backend
Android - This class contains variables that may be useful for interop with the Android operating system, or other Android libraries.
- Backend
D3D11 - When using Direct3D11 for rendering, this contains a number of variables that may be useful for doing advanced rendering tasks. This is the default rendering backend on Windows. https://stereokit.net/Pages/StereoKit/Backend.D3D11.html
- Backend
OpenGLESEGL - When using OpenGL ES with the EGL loader for rendering, this contains a number of variables that may be useful for doing advanced rendering tasks. This is the default rendering backend for Android, and Linux builds can be configured to use this with the SK_LINUX_EGL cmake option when building the core StereoKitC library. https://stereokit.net/Pages/StereoKit/Backend.OpenGLES_EGL.html
- Backend
OpenGLWGL - When using OpenGL with the WGL loader for rendering, this contains a number of variables that may be useful for doing advanced rendering tasks. This is Windows only, and requires gloabally defining SKG_FORCE_OPENGL when building the core StereoKitC library. https://stereokit.net/Pages/StereoKit/Backend.OpenGL_WGL.html
- Backend
OpenXR - This class is NOT of general interest, unless you are trying to add support for some unusual OpenXR extension! StereoKit should do all the OpenXR work that most people will need. If you find yourself here anyhow for something you feel StereoKit should support already, please add a feature request on GitHub!
- BtnState
- A bit-flag for the current state of a button input. https://stereokit.net/Pages/StereoKit/BtnState.html
- Controller
- This represents a physical controller input device! Tracking information, buttons, analog sticks and triggers! There’s also a Menu button that’s tracked separately at Input.ContollerMenu. https://stereokit.net/Pages/StereoKit/Controller.html
- Hand
- Information about a hand! https://stereokit.net/Pages/StereoKit/Hand.html
- Hand
Joint - Contains information to represents a joint on the hand. https://stereokit.net/Pages/StereoKit/HandJoint.html
- Hierarchy
- This class represents a stack of transform matrices that build up a transform hierarchy! This can be used like an object-less parent-child system, where you push a parent’s transform onto the stack, render child objects relative to that parent transform and then pop it off the stack.
- Input
- Input from the system come from this class! Hands, eyes, heads, mice and pointers! https://stereokit.net/Pages/StereoKit/Input.html
- Input
Source - What type of device is the source of the pointer? This is a bit-flag that can contain some input source family information. https://stereokit.net/Pages/StereoKit/InputSource.html
- Line
Point - Used to represent lines for the line drawing functions! This is just a snapshot of information about each individual point on a line. https://stereokit.net/Pages/StereoKit/LinePoint.html
- Lines
- A line drawing class! This is an easy way to visualize lines or relationships between objects. The current implementation uses a quad strip that always faces the user, via vertex shader manipulation. https://stereokit.net/Pages/StereoKit/Lines.html
- Log
- A class for logging errors, warnings and information!
Different levels of information can be filtered out, and supports
coloration via <
~colorCode
> and <~clr
> tags. - LogItem
- Non canonical structure used for subscribed callback
- Microphone
- This class provides access to the hardware’s microphone, and stores it in a Sound stream. Start and Stop recording, and check the Sound property for the results! Remember to ensure your application has microphone permissions enabled! https://stereokit.net/Pages/StereoKit/Microphone.html
- Mouse
- This stores information about the mouse! What’s its state, where’s it pointed, do we even have one? https://stereokit.net/Pages/StereoKit/Mouse.html
- Pivot
- A bit-flag enum for describing alignment or positioning. Items can be combined using the ‘|’ operator, like so:
let alignment = Pivot::YTop | Pivot::XLeft;
. Avoid combining multiple items of the same axis. There are also a complete list of valid bit flag combinations! These are the values without an axis listed in their names, ‘TopLeft’, ‘BottomCenter’, etc. https://stereokit.net/Pages/StereoKit/Pivot.html - Pointer
- Pointer is an abstraction of a number of different input sources, and a way to surface input events! https://stereokit.net/Pages/StereoKit/Pointer.html
- Render
Layer - When rendering content, you can filter what you’re rendering by the RenderLayer that they’re on. This allows you to draw items that are visible in one render, but not another. For example, you may wish to draw a player’s avatar in a ‘mirror’ rendertarget, but not in the primary display. See Renderer.LayerFilter for configuring what the primary display renders. https://stereokit.net/Pages/StereoKit/RenderLayer.html
- Renderer
- Do you need to draw something? Well, you’re probably in the right place! This static class includes a variety of different drawing methods, from rendering Models and Meshes, to setting rendering options and drawing to offscreen surfaces! Even better, it’s entirely a static class, so you can call it from anywhere :) https://stereokit.net/Pages/StereoKit/Renderer.html
- Text
- A collection of functions for rendering and working with text. These are a lower level access to text rendering than the UI text functions, and are completely unaware of the UI code. https://stereokit.net/Pages/StereoKit/Text.html
- TextFit
- This enum describes how text layout behaves within the space it is given. https://stereokit.net/Pages/StereoKit/TextFit.html
- Text
Style - A text style is a font plus size/color/material parameters, and are used to keep text looking more consistent through the application by encouraging devs to re-use styles throughout the project. See Text.MakeStyle for making a TextStyle object. https://stereokit.net/Pages/StereoKit/TextStyle.html
- World
- World contains information about the real world around the user. This includes things like play boundaries, scene understanding, and other various things. https://stereokit.net/Pages/StereoKit/World.html
Enums§
- Asset
- Non-canonical structure to store an asset and avoid reducer
Box<dyn Asset>
- Asset
State - StereoKit uses an asynchronous loading system to prevent assets from blocking execution! This means that asset loading systems will return an asset to you right away, even though it is still being processed in the background. https://stereokit.net/Pages/StereoKit/AssetState.html
- Asset
Type - A flag for what ‘type’ an Asset may store.
- Backend
Graphics - This describes the graphics API thatStereoKit is using for rendering. https://stereokit.net/Pages/StereoKit/BackendGraphics.html
- Backend
Platform - This describes the platform that StereoKit is running on. https://stereokit.net/Pages/StereoKit/BackendPlatform.html
- BackendXR
Type - This describes what technology is being used to power StereoKit’s XR backend. https://stereokit.net/Pages/StereoKit/BackendXRType.html
- Controller
Key - Represents an input from an XR headset’s controller! https://stereokit.net/Pages/StereoKit/ControllerKey.html
- Finger
Id - Index values for each finger! From 0-4, from thumb to little finger. https://stereokit.net/Pages/StereoKit/FingerId.html
- Hand
Source - This enum provides information about StereoKit’s hand tracking data source. It allows you to distinguish between true hand data such as that provided by a Leap Motion Controller, and simulated data that StereoKit provides when true hand data is not present. https://stereokit.net/Pages/StereoKit/HandSource.html
- Handed
- An enum for indicating which hand to use! https://stereokit.net/Pages/StereoKit/Handed.html
- Hierarchy
Parent - When used with a hierarchy modifying function that will push/pop items onto a stack, this can be used to change the behavior of how parent hierarchy items will affect the item being added to the top of the stack. https://stereokit.net/Pages/StereoKit/HierarchyParent.html
- JointId
- Here’s where hands get crazy! Technical terms, and watch out for the thumbs! https://stereokit.net/Pages/StereoKit/JointId.html
- Key
- A collection of system key codes, representing keyboard characters and mouse buttons. Based on VK codes. https://stereokit.net/Pages/StereoKit/Key.html
- LogColors
- The log tool will write to the console with annotations for console colors, which helps with readability, but isn’t always supported. These are the options available for configuring those colors. https://stereokit.net/Pages/StereoKit/LogColors.html
- LogLevel
- Severity of a log item. https://stereokit.net/Pages/StereoKit/LogLevel.html
- Projection
- The projection mode used by StereoKit for the main camera! You can use this with Renderer.Projection. These options are only available in flatscreen mode, as MR headsets provide very specific projection matrices. https://stereokit.net/Pages/StereoKit/Projection.html
- Render
Clear - When rendering to a rendertarget, this tells if and what of the rendertarget gets cleared before rendering. For example, if you are assembling a sheet of images, you may want to clear everything on the first image draw, but not clear on subsequent draws. https://stereokit.net/Pages/StereoKit/RenderClear.html
- Spatial
Node Type - For use with World::from_spatial_node, this indicates the type of node that’s being bridged with OpenXR. https://stereokit.net/Pages/StereoKit/SpatialNodeType.html
- Text
Context - Soft keyboard layouts are often specific to the type of text that they’re editing! This enum is a collection of common text contexts that SK can pass along to the OS’s soft keyboard for a more optimal layout. https://stereokit.net/Pages/StereoKit/TextContext.html
- Track
State - This is the tracking state of a sensory input in the world, like a controller’s position sensor, or a QR code identified by a tracking system. https://stereokit.net/Pages/StereoKit/TrackState.html
- World
Refresh - A settings flag that lets you describe the behavior of how StereoKit will refresh data about the world mesh, if applicable. This is used with World.RefreshType. https://stereokit.net/Pages/StereoKit/WorldRefresh.html
Traits§
- IAsset
- All StereoKit assets implement this interface! This is mostly to help group and hold Asset objects, and is particularly useful when working with Assets at a high level with the Assets class. https://stereokit.net/Pages/StereoKit/IAsset.html
Functions§
- asset_
addref ⚠ - asset_
get_ ⚠id - asset_
get_ ⚠type - asset_
release ⚠ - asset_
set_ ⚠id - assets_
block_ ⚠for_ priority - assets_
count ⚠ - assets_
current_ ⚠task - assets_
current_ ⚠task_ priority - assets_
get_ ⚠index - assets_
get_ ⚠type - assets_
releaseref_ ⚠threadsafe - assets_
total_ ⚠tasks - backend_
android_ ⚠get_ activity - backend_
android_ ⚠get_ java_ vm - backend_
android_ ⚠get_ jni_ env - backend_
d3d11_ ⚠get_ d3d_ context - backend_
d3d11_ ⚠get_ d3d_ device - backend_
d3d11_ ⚠get_ deferred_ d3d_ context - backend_
d3d11_ ⚠get_ deferred_ mtx - backend_
d3d11_ ⚠get_ main_ thread_ id - backend_
graphics_ ⚠get - backend_
opengl_ ⚠egl_ get_ config - backend_
opengl_ ⚠egl_ get_ context - backend_
opengl_ ⚠egl_ get_ display - backend_
opengl_ ⚠glx_ get_ context - backend_
opengl_ ⚠glx_ get_ display - backend_
opengl_ ⚠glx_ get_ drawable - backend_
opengl_ ⚠wgl_ get_ hdc - backend_
opengl_ ⚠wgl_ get_ hglrc - backend_
openxr_ ⚠add_ callback_ poll_ event - backend_
openxr_ ⚠add_ callback_ pre_ session_ create - backend_
openxr_ ⚠composition_ layer - backend_
openxr_ ⚠end_ frame_ chain - backend_
openxr_ ⚠ext_ enabled - backend_
openxr_ ⚠ext_ exclude - backend_
openxr_ ⚠ext_ request - backend_
openxr_ ⚠get_ eyes_ sample_ time - backend_
openxr_ ⚠get_ function - backend_
openxr_ ⚠get_ instance - backend_
openxr_ ⚠get_ session - backend_
openxr_ ⚠get_ space - backend_
openxr_ ⚠get_ system_ id - backend_
openxr_ ⚠get_ time - backend_
openxr_ ⚠remove_ callback_ poll_ event - backend_
openxr_ ⚠set_ hand_ joint_ scale - backend_
openxr_ ⚠use_ minimum_ exts - backend_
platform_ ⚠get - backend_
xr_ ⚠get_ type - hierarchy_
is_ ⚠enabled - hierarchy_
pop ⚠ - hierarchy_
push ⚠ - hierarchy_
push_ ⚠pose - hierarchy_
set_ ⚠enabled - hierarchy_
to_ ⚠local - hierarchy_
to_ ⚠local_ direction - hierarchy_
to_ ⚠local_ point - hierarchy_
to_ ⚠local_ pose - hierarchy_
to_ ⚠local_ ray - hierarchy_
to_ ⚠local_ rotation - hierarchy_
to_ ⚠world - hierarchy_
to_ ⚠world_ direction - hierarchy_
to_ ⚠world_ point - hierarchy_
to_ ⚠world_ pose - hierarchy_
to_ ⚠world_ ray - hierarchy_
to_ ⚠world_ rotation - input_
controller ⚠ - input_
controller_ ⚠menu - input_
controller_ ⚠model_ get - input_
controller_ ⚠model_ set - input_
eyes ⚠ - input_
eyes_ ⚠tracked - input_
fire_ ⚠event Deprecated - input_
get_ ⚠finger_ glow - input_
hand ⚠ - input_
hand_ ⚠material - input_
hand_ ⚠override - input_
hand_ ⚠sim_ pose_ add - input_
hand_ ⚠sim_ pose_ clear - input_
hand_ ⚠sim_ pose_ remove - input_
hand_ ⚠source - input_
hand_ ⚠visible - input_
head ⚠ - input_
key ⚠ - input_
key_ ⚠inject_ press - input_
key_ ⚠inject_ release - input_
mouse ⚠ - input_
pointer ⚠ - input_
pointer_ ⚠count - input_
set_ ⚠finger_ glow - input_
subscribe ⚠Deprecated - input_
text_ ⚠consume - input_
text_ ⚠inject_ char - input_
text_ ⚠reset - input_
unsubscribe ⚠Deprecated - line_
add ⚠ - line_
add_ ⚠axis - line_
add_ ⚠list - line_
add_ ⚠listv - line_
addv ⚠ - log_
diag ⚠ - log_err⚠
- log_
info ⚠ - log_
set_ ⚠colors - log_
set_ ⚠filter - log_
subscribe ⚠ - log_
unsubscribe ⚠ - log_
warn ⚠ - log_
write ⚠ - mic_
device_ ⚠count - mic_
device_ ⚠name - mic_
get_ ⚠stream - mic_
is_ ⚠recording - mic_
start ⚠ - mic_
stop ⚠ - render_
Material ⚠To - render_
add_ ⚠mesh - render_
add_ ⚠model - render_
add_ ⚠model_ mat - render_
blit ⚠ - render_
enable_ ⚠skytex - render_
enabled_ ⚠skytex - render_
get_ ⚠cam_ root - render_
get_ ⚠capture_ filter - render_
get_ ⚠clear_ color - render_
get_ ⚠device - render_
get_ ⚠filter - render_
get_ ⚠multisample - render_
get_ ⚠projection - render_
get_ ⚠scaling - render_
get_ ⚠skylight - render_
get_ ⚠skymaterial - render_
get_ ⚠skytex - render_
get_ ⚠viewport_ scaling - render_
global_ ⚠texture - render_
has_ ⚠capture_ filter - render_
override_ ⚠capture_ filter - render_
screenshot ⚠ - render_
screenshot_ ⚠capture - render_
screenshot_ ⚠viewpoint - render_
set_ ⚠cam_ root - render_
set_ ⚠clear_ color - render_
set_ ⚠clip - render_
set_ ⚠filter - render_
set_ ⚠fov - render_
set_ ⚠multisample - render_
set_ ⚠ortho_ clip - render_
set_ ⚠ortho_ size - render_
set_ ⚠projection - render_
set_ ⚠scaling - render_
set_ ⚠skylight - render_
set_ ⚠skymaterial - render_
set_ ⚠skytex - render_
set_ ⚠viewport_ scaling - render_
to ⚠ - text_
add_ ⚠at - text_
add_ ⚠at_ 16 - text_
add_ ⚠in - text_
add_ ⚠in_ 16 - text_
char_ ⚠at - text_
char_ ⚠at_ 16 - text_
make_ ⚠style - text_
make_ ⚠style_ mat - text_
make_ ⚠style_ shader - text_
size_ ⚠layout - text_
size_ ⚠layout_ 16 - text_
size_ ⚠layout_ constrained - text_
size_ ⚠layout_ constrained_ 16 - text_
size_ ⚠render - text_
style_ ⚠get_ ascender - text_
style_ ⚠get_ baseline - text_
style_ ⚠get_ cap_ height - text_
style_ ⚠get_ descender - text_
style_ ⚠get_ layout_ height - text_
style_ ⚠get_ line_ height_ pct - text_
style_ ⚠get_ material - text_
style_ ⚠get_ total_ height - text_
style_ ⚠set_ layout_ height - text_
style_ ⚠set_ line_ height_ pct - text_
style_ ⚠set_ total_ height - world_
from_ ⚠perception_ anchor - world_
from_ ⚠spatial_ graph - world_
get_ ⚠bounds_ pose - world_
get_ ⚠bounds_ size - world_
get_ ⚠occlusion_ enabled - world_
get_ ⚠occlusion_ material - world_
get_ ⚠origin_ mode - world_
get_ ⚠origin_ offset - world_
get_ ⚠raycast_ enabled - world_
get_ ⚠refresh_ interval - world_
get_ ⚠refresh_ radius - world_
get_ ⚠refresh_ type - world_
get_ ⚠tracked - world_
has_ ⚠bounds - world_
raycast ⚠ - world_
set_ ⚠occlusion_ enabled - world_
set_ ⚠occlusion_ material - world_
set_ ⚠origin_ offset - world_
set_ ⚠raycast_ enabled - world_
set_ ⚠refresh_ interval - world_
set_ ⚠refresh_ radius - world_
set_ ⚠refresh_ type - world_
try_ ⚠from_ perception_ anchor - world_
try_ ⚠from_ spatial_ graph
Type Aliases§
- AssetT
- Hand
SimId - Id of a simulated hand pose, for use with Input.HandSimPoseRemove https://stereokit.net/Pages/StereoKit/HandSimId.html
- OpenXR
HandleT - XrInstance type
- Void
Function