Click or drag to resize

Fusee.Engine.Core Namespace

Classes in this module implement FUSEE's 3D rendering capability. Many classes contain methods that enable user code to render 3D content, create 3D output windows, create and maniulate scene contents, organize scene contents in scene graphs, etc.

Among the most important classses are

  • RenderCanvas - The base class for FUSEE Apps. Creates and manages the rendering window and provides a render context to draw onto.
  • RenderContext - Abstracts 3D Drawing functionality from the underlying hardware-API (e.g. OpenGL).
  • SceneRenderer - Visits a scene graph's items and renders each item's contribution to a render context.

Some of the functionality relies on platform specific implementations found in underlying platform-dependent modules. Common classes used by both, this module and underlying platform-dependent implementation modules can be found int the Fusee.Engine.Common namespace.

Classes
  ClassDescription
Public classAABBCalculator
Axis-Aligned Bounding Box Calculator. Use instances of this class to calculate axis-aligned bounding boxes on scenes, list of scene nodes or individual scene nodes. Calculations always include any child nodes.
Public classAABBCalculatorAABBState
Public classAudio
The Audio class provides all audio functionality. It is accessible from everywhere.
Public classBoxShape
A box shaped collision object.
Public classCapsuleShape
A capsule shaped collision object.
Public classCollisionShape
Base class for various collision shape types.
Public classCompoundShape
A collision shape made up of other shapes of various types.
Public classConeShape
Defines a cone-shaped collision object
Public classConeTwistConstraint
A cone twist constraint
Public classConvertSceneGraph
Use ConVSceneToHighLevel to create new high level graph from a low level graph (made out of scene nodes and components) in order to have each visited element converted and/or split into its high level, render-ready components.
Public classConvexHullShape
This is the fastest kind of arbitrary shape. It is defined by a cloud of vertices but the shape formed is the smallest convex shape that encloses the vertices. For making a convex dynamic shape like a TV, this is ideal. Make sure to reduce the number of vertices below say 100.
Public classCube
Creates a simple cube geomentry straight from the code.
Public classCylinderShape
Public classDeviceConnectionArgs
Parameters sent with a [!:InputDriver.DeviceConnected] or [!:InputDriver.DeviceDisconnected] event.
Public classDynamicWorld
Public classEmptyShape
Public classFace
A container that stores indices for vertices, normals and texture coordinates. The values are used for conversion to different geometry face formats, e.g. Triangles.
Public classFontMap
A FontMap creates an Image containing a subset of rendered glyphs of a given Font. In addition a FontMap provides information about each glyph on the image such as its pixel position on the image. Such an image can be used together with the provided information to create geometry consisting of individual quads with each quad displaying a single character of a text string.
Public classGearConstraint
Public classGeneric6DofConstraint
Public classGeometry
Stores threedimensional, polygonal geometry and provides methods for manipulation. To actually render the geometry in the engine, convert Geometry to Mesh objects.
Public classGImpactMeshShape
Public classHingeConstraint
Public classIcosahedron
Creates a Icosahedron geomentry straight from the code.
Public classIcosphere
Creates a Icosphere geomentry straight from the code.
Public classInput
Handles and manages all input devices. Input is a staticton (a singleton with an additional static interface).
Public classInputDevice
Input device instances expose access to underlying physical input devices such as mouse, keyboard, game pads etc. Users can either poll axis values or button state from an Input device or add event listeners reacting on value or state changes, no matter how the underlying physical device provides axis or button data. Additionally users can define their own axes by specifying calculation rules how to generate values from existing axes or buttons.
Public classJometriMesh
Creates a fusee-compatible mesh from a triangulated Jometri geometry
Public classKeyboardDevice
Special case of an InputDevice identifying itself as a Keyboard. Defines convenience methods to access the keyboard buttons.
Public classLightSetup
Public classLightSetupState
Public classMeshReader
This class is used to load 3D Models in .obj format into memory.
Public classMouseDevice
Special case of an InputDevice identifying itself as a Mouse. Defines convenience methods to access the typical mouse axes and buttons. Registers the mouse velocity derived axes.
Public classMultiSphereShape
Public classNetwork
Core network object. Handles all connections by accessing underlying interface implementations.
Public classNineSlicePlane
Creates a plane geometry straight from the code that is devided in 9 tiles. This geometry is intended for displaying GUI Textures.
Public classParticleEmitter
Public classPickResult
Public classPlane
Creates a simple plane geomentry straight from the code.
Public classPoint2PointConstraint
Public classRenderCanvas
A render canvas object references the physical output screen space real estate (e.g. the rendering window). A typical Game application will inherit from this class and overrite methods to implement your user code to to be performed on events like initialization, resize, and display refresh. In the future, it will be likely that this class' functionality will be divided at two different places with one containing the more view oriented aspects and the other containing the more application oriented aspects.
Public classRenderContext
The render context 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 have worked with OpenGL or DirectX before you will find many similarities in this class' methods and properties.
Public classRenderStateSet
Use instances of this class to store a set of render states that need to be applied as a whole. Instances are used in the effects system to set a couple of states before a render pass is performed.
Public classRigidBody
The RigidBody class ...
Public classScenePicker
Public classScenePickerPickerState
Public classSceneRenderer
Use a Scene Renderer to traverse a scene hierarchy (made out of scene nodes and components) in order to have each visited element contribute to the result rendered against a given render context.
Public classSceneRendererRendererState
Public classShaderCodeBuilder
Compiler for ShaderCode. Takes a MaterialComponent, evaluates input parameters and creates pixel and vertexshader
Public classShaderEffect
A ShaderEffect contains a list of render passes with each pass item being a combination of a set of render states, and a pair of Pixel and Vertex Shader Programs (the code running on the GPU). In addition a ShaderEffect contains the actual values for all the shaders' (uniform) variables.
Public classShaderEffectComponent
Use this component in Code. Will not serialize/deserialize
Public classShaderMaterial
Handles settings of shaderprograms. Currently not implemented.
Public classShaderProgram
Instances of this class represent a pair of a Vertex and a Pixel shader code, both compiled an uploaded to the gpu ready to be used.
Public classSliderConstraint
Public classSphereShape
Public classStaticPlaneShape
Public classTexture
Texture implements IImageData and is used inside RenderContext to render bitmaps in fusee.
Public classTextureComponent
Public classTextureDataEventArgs
EventArgs to propagate changes of a Texture object's life cycle and property changes. Used inside TextureManager.
Public classTime
The Time class provides all time information. Time is a staticton (a singleton with an additional static interface).
Public classTouchDevice
Special case of an InputDevice identifying itself as a Touch. Defines convenience methods to access the touch buttons and axes.
Public classVideoManager
Public classVideoStream
Structures
  StructureDescription
Public structureEffectParameterDeclaration
A datatype for the list of (uniform) parameters possibliy occurring in one of the shaders in the various passes. Each of this array entry consists of the parameter's name and its initial value. The concrete type of the object also indicates the parameter's type.
Public structureEffectPassDeclaration
An effect pass declaration contains the vertex and pixel shader source code as well as a RenderStateSet declaration for the rendering pass declared by this instance.
Public structureGlyphOnMap
Used in conjunction with a FontMap containting information about a rendered character (glyph) on a font map texture.
Public structureLightResult
This struct saves a light found by a Viserator with all parameters
Delegates
Enumerations
  EnumerationDescription
Public enumerationLightingCalculationMethod
All supported lightning calculation methods LegacyShaderCodeBuilder.cs supports.
Public enumerationTextureChangedEnum
Enum describes if a Texture has been disposed or if the texture's region changed. Used inside TextureManager.
Public enumerationTwoPointAction
Symbolic value describing the double-touchpoint action with the highest intensity performed by a user with the first two touchpoints.