Namespace Fusee.Engine.Common
Classes
AttributeLocations
Declares buffer locations. OpenGL specific error: GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. GL_MAX_VERTEX_ATTRIBS seems to be 16.
AxisValueChangedArgs
Event arguments sent with value changing events for input axes.
ButtonValueChangedArgs
Event arguments sent with state changing events for input buttons.
DeviceImpDisconnectedArgs
Parameters sent with a DeviceDisconnected event.
FuseeApplicationAttribute
Use the FuseeApplication attribute to mark RenderCanvas derivatives as applications that can be collected by Application browsers.
InitEventArgs
The Init event argument container. This is mainly used in IRenderCanvasImp.
InstanceDataChangedEventArgs
Used by IManagedInstanceData to notify a MeshManager about a change of one of its properties.
KeyEventArgs
Provides data for the KeyDown or KeyUp event.
MeshChangedEventArgs
EventArgs to propagate changes of a Mesh object's life cycle and property changes.
MouseEventArgs
Provides data for the MouseUp, MouseDown, and MouseMove events.
NewDeviceImpConnectedArgs
Parameters sent with a NewDeviceConnected event.
RenderEventArgs
Render arguments for IRenderCanvasImp events.
ResizeEventArgs
Argument Container for Resize event of IRenderCanvasImp.
TextureEventArgs
EventArgs to propagate changes of a ITextureBase object's life cycle and property changes. Used inside the TextureManager./>.
Structs
AxisDescription
A structure describing an input device's axis.
AxisImpDescription
Implementation specific information about an axis exhibited by a device.
ButtonDescription
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.
ButtonImpDescription
Implementation specific information about a button exhibited by a device.
CharInfoStruct
A struct for saving character information needed for processing a font.
Point
Sets a point in 3D space.
Rectangle
Sets the bounding box of a rectangle.
Suid
Session unique Id.
Interfaces
IActiveUniform
Interface for handling uniforms that are determined "active" after the shader is compiled.
IAttribImp
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 implementation. It is meant as a markup-Interface to identify types.
IBufferHandle
Cross-platform abstraction to represent a gpu buffer handle.
IExposedTexture
Cross platform abstraction for textures, that are used on the gpu and expose their ITextureHandle.
IFont
Interface for a font object to save information needed for processing a font.
IInputDeviceImp
Implementors represent a physical input device.
IInputDeviceImpOld
Abstracts the platform/device dependent implementation of an input device.
IInputDriverImp
Implementations of this interface represent a piece of software capable of connecting to one or more input devices (IInputDeviceImp. Members of this interface allow access to the devices.
IInstanceDataImp
Platform abstraction for instance data implementations. These must be able to store the references to the instance buffer objects.
IManagedInstanceData
Interface for instance data implementations, that are observed by the MeshManager. The MeshManger is handling the memory allocation and deallocation of meshes and their instance datas on the GPU.
IManagedMesh
Interface for meshes that are observed by the MeshManager. The MeshManger is handling the memory allocation and deallocation of meshes on the GPU.
IMeshImp
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 referring to so called BufferObjects.
INotifyValueChange<T>
Provides an Event for notifying a property change.
IRenderCanvasImp
Implementation agnostic representation of a render canvas.
IRenderContextImp
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.
IRenderTarget
Cross platform abstraction for the RenderTarget object. Use a RenderTarget if you want to render into buffer object, associated with one or more textures. If only a single texture is needed, the usage of a IWritableTexture as a render target is preferred.
IShaderHandle
This is a markup-only for different types of handling shaders. The implementation is render-platform specific and differs among platforms like OpenGL, DirectX, or WebGL
IStorageBuffer
Type independent abstraction for an Shader Storage Buffer Object.
ITexture
Cross platform abstraction for textures, that are used on the gpu.
ITextureBase
Collection of members all texture types need to implement. All textures must be IDisposable.
ITextureHandle
Cross-platform abstraction to represent a gpu buffer texture handle.
ITexturePixelInfo
Cross-platform abstraction for a type that sums up infos about the pixels OpenGl needs to create textures on the gpu.
IUniformHandle
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
IVideoManagerImp
TODO: Write the actual VideoManager implementations. The interface for VideoManager implementations. This interface should contain all functions to load a video.
IVideoStreamImp
TODO: Write the actual VideoStream implementations. The interface for all VideoStream implementations. This interface contains all functions to control the playback of a video.
IVisitorModule
Used to inject a object that is able to extend a visitor.
IWindowHandle
Cross-platform abstraction to represent a window handle for the window the engine renders to.
IWritableArrayTexture
Cross platform abstraction for a WritableTexture. Use writable textures if you want to render into a texture. Does NOT offer access to the pixel data.
IWritableCubeMap
Cross platform abstraction for WritableCubeMap. Interface for creating a WritableCubeMap with six faces.
IWritableTexture
Cross platform abstraction for a WritableTexture. Use writable textures if you want to render into a texture. Does NOT offer access to the pixel data. Every WritableTextures is a IExposedTexture.
Enums
AxisBoundedType
Symbolic value describing if and how the values produced by this axis are bound.
AxisDirection
Symbolic value describing the logical direction of an input axis.
AxisNature
Symbolic value describing the nature of the axis (the typical usage of this axis in applications). Use this value to query unknown devices/axes.
Blend
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.
BlendOperation
Specifies the per-pixel blend-operation to perform when alpha blending is enabled.
ClearFlags
Specifies the buffer to use when calling the Clear method.
Compare
Specifies the comparison tests to perform in Z-Buffer and in Stencil tests
ControllerButton
Game controller button Ids.
Cull
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 displayed.
CursorType
The different cursor types directly supported by render canvas implementations Standard pointer and link-hand cursor are currently supported.
DeviceCategory
Symbolic value describing the general nature of an input device.
FillMode
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).
FuseePlatformId
Describes the platform of the current renderer. This can be used in shaders to do platform dependent things.
Gamepad
The buttons and axes a game controller exposes.
HardwareCapability
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
HorizontalTextAlignment
Defines the alignment in x direction.
InstanceDataChangedEnum
Propagates a IManagedInstanceData property's changed status to the MeshManager
KeyCodes
Specifies the possible key values on a keyboard.
MeshChangedEnum
Propagates a IManagedMesh property's changed status to the MeshManager
MouseAxes
Specifies the axis types for mouse devices.
MouseButtons
Which mouse button was pressed.
PrimitiveType
This is the primitive type used by the RenderContext internally to distinguish between the different OpenGL primitives
RenderFlags
Helps with automatically building shader code for special render cases like point cloud rendering, bone animation and instanced rendering.
RenderState
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.
RenderTargetTextureTypes
Enum, that defines all available render texture types.
SixDOFAxis
The different axes a SixDOF device e.g. SpaceMouse exposes.
TexRes
Common texture resolutions for render textures. The value is given in px.
TextureChangedEnum
This enum describes if a Texture has been disposed or if the texture's region changed. Used inside the TextureManager./>.
TextureCompareMode
Depth textures can be sampled in one of two ways. They can be sampled as a normal texture, which simply retrieves the depth value, this will return a vec4 containing a single floating-point value, or they can be fetched in comparison mode. The result of the comparison depends on the comparison function set in the texture. If the function succeeds, the resulting value is 1.0f; if it fails, it is 0.0f. see: https://www.khronos.org/opengl/wiki/Sampler_Object
TextureFilterMode
Defines how to map texels to uv coordinates.
TextureType
Abstraction for the different texture target used in the graphics API.
TextureWrapMode
Defines how the texture should be sampled when a uv coordinate outside the range of 0 to 1 is given.
TouchAxes
Axis types for Touch devices. Use
(int) (Touchpoint_0_X/Y + 2*i)
if not enough axes are handled by enum values.
TouchPoints
Button Ids for Touch devices. Use
(int) (Touchpoint_0 + i)
if not enough axes are handled by enum values.
VerticalTextAlignment
Defines the alignment in y direction.
Delegates
GetUniformValue
Delegate for a method that returns the value of a shader parameter.