Types in this module are used within FUSEE's 3D rendering functionality. Contained interfaces, classes, structs and enums are mostly declarative. Most of these types do not contain methods or other implementation code.
Many data types found in this module are used to glue platform independent code within Fusee.Engine.Core to underlying platform-specific implementations.
Event arguments sent with value changing events for input axes.
Event arguments sent with state changing events for input buttons.
Parameters sent with a DeviceDisconnected event.
Use the FuseeApplication attribute to mark RenderCanvas derivatives as applications that can be collected by Application browsers.
This Object is used by the OpenTK Graphics implementation in order to handle parameter passing between Fusee and OpenTK. Do not modify this object.
The Init event argument container. This is mainly used in IRenderCanvasImp.
Provides data for the KeyDown or KeyUp event.
Provides data for the MouseUp, MouseDown, and MouseMove events.
Network configuration object.
Connection status object.
Parameters sent with a NewDeviceConnected event.
Render arguments for IRenderCanvasImp events.
Argument Container for Resize event of IRenderCanvasImp.
A structure describing an input device's axis.
Implementation specific information about an axis exhibited by a device.
Information about a button exhibited by a device. Contains the Name of the button and the Id that can be used to access the button state.
Implementation specific information about a button exhibited by a device.
A struct for saving character information needed for proccesing a font.
Struct holding all data necessary to describe an IP connection.
This container holds all informations which are required for shader light calculation.
Message type container struct. (= Packet container)
Sets a point in 3D space.
Sets the bounding box of a rectangle.
Contains information about a shader parameter (uniform parameter).
Interface for implementing handles on attribute arrays stored on GPU memory such as vertices, normals, uvs etc. This interface does not require any particular public impmlementation. It is meant as a markup-Interace to identify types.
Loaded files with Audio class can be controlled via this IAudioStreamImp interface.
Interface to abstract a box shape
IMplementation agnostic representation for a capsule-shaped collision object.
Implementation agnostic representation of a collision shape.
Implementation agnostic interface for a collision shape made up of one or more other shapes.
Implementation agnostic representation of a cone-shaped collision shape
Implementation agnostic representation of a cone twist constraint (a shoulder joint with arbitrary arm roll).
Implementation agnostic Base representation of a constraint. A constraint defines how motion and rotation is constrained, typically by a connection between two bodies A and B.
Implementation agnostic representation of a convex hull shape.
Implementation agnostic representation of a cylinder shape.
Implementation agnostic representation of a dynamic worl. The dynamic world is the root object of any physics simulation. It keeps track of all objects moving and rotating within the world.
Implementation agnostic representation of an empty shape.
Interface for a font object to save informationen needed for proccesing a font.
Implementation agnostic representation of a gear constraint.
Implementation agnostic representation of a six degrees of freedom constraint.
Implementation agnostic representation of a G impact mesh shape.
Implementation agnostic representation of a hinge constraint.
Implementors represent a physical input device.
Abstracts the platform/device dependent implementation of an input device.
Implementations of this interface represent a piece of software capabable of connecting to one or more input devices (IInputDeviceImp. Members of this interface allow access to the devices.
Interface for Mesh implementations. The implementation should handle typical mesh informations like: vertices, triangles, normals, colors, UV's. It is also required to implement a connection to the current Rendercontext in order to apply the Mesh for rendering. The Mesh should preferable use handles for its informations in order to communicate with a rendercontext. The handles are refering to so called BufferObjects.
Implementation agnostic representation of a collision shape consisting of multiple spheres.
Interface for a network connection object.
The core network connection and sending object interface.
The Network message interface.
Implmentation agnostic representation of a point-to-point constraint.
Implementation agnostic representation of a render canvas.
The render context interface contains all functions necessary to manipulate the underlying rendering hardware. Use this class' elements to render geometry to the RenderCanvas associated with this context. If you are worked with OpenGL or DirectX before you will find many similarities in this class' methods and properties.
Implementation agnostic representation of the base class of all rigid body implementations. Contains members common to all rigid bodies.
This is a markup-only for different types of handling shader parameters. The implementation is render-platform specific and differs among platforms like OpenGL, DirectX, or WebGL
The Shaderprogram interface. It is currently in prototype state.
Implementation agnostic representation of a slider constraint (linear joint).
Implementation agnostic representation of a spherical collision shape.
Implementation agnostic representation of a plane shaped collision shape.
Implements IImageData and offers access to internal for GPU upload.
This is a markup-only for different types of Texture-handles. The implementation is render-platform specific: e.g. int in OpenGL, ISurface in DirectX, TextureObject in WebGL, ...
The interface for VideoManager implementations. This interface should contain all functions to load a video.
The interface for all VideoStream implementations. This interface should contain all functions to control the playback of a video.
Event that gets triggered on connection change, establishing or disconnection.
Symbolic value describing if and how the values produced by this axis are bound.
Symbolic value describing the logical direction of an input axis.
Symbolic value describing the nature of the axis (the typical usage of this axis in applications). Use this value to query unkown devices/axes.
Used to define the source and destination blending factors. Together, these specify the blend operation to be used when writing a pixel color value onto the render canvas.
Specifies the per-pixel blend-operation to perform when alpha blending is enabled.
Specifies the buffer to use when calling the Clear method.
Specifies the comparison tests to perform in Z-Buffer and in Stencil tests
Connection status enums.
Game controller button Ids.
Specifies if and how triangle culling should be performed. If no culling is specified, triangles are rendered, no matter how they are oriented. Clockwise and Counterclockwise culling refers to in which order a triangle's vertices appear on the screen. If either is specified, triangles in the respective order are culled.
The different cursor types directly supported by render canvas implementations Standard pointer and link-hand cursor are currently supported.
Symbolic value describing the general nature of an input device.
Specifies the fill mode to use by the rasterizer. Options are Point (renders vertices as single pixels), Wireframe (renders only triangles' edges as lines), or Solid (fills all pixels covered by triangles).
This enum is used to switch between the different handles of an ITexture instance created by/for a GBuffer
Checks if the hardware is capable of the following entries. If a numeric value is expected, this will be returned as a uint from the GetHardwareCapabilities(HardwareCapability)GetHardwareCapabilites
Flags describing hinge detail.
Specifies the possible key values on a keyboard.
Message delivery type enums.
Network transfer message type enums.
Specifies the axis types for mouse devices.
Which mouse button was pressed.
Data type of the message data. Data is always received as Byte and will be casted to appropriate enum type.
Flags specifing point-to-point constraint details.
The render state enumeration. This is used in render context implementations to identify the render state to set. Keep this binary compatible with DirectX version 9.
Type of the system enums.
Axis types for Touch devices. Use
if not enough axes are handled by enum values.
(int) (Touchpoint_0_X/Y + 2*i)
Button Ids for Touch devices. Use
if not enough axes are handled by enum values.
(int) (Touchpoint_0 + i)
This enum is used to specify the type of writable texture