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 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 classDeferredShaderHelper
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 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 classMesh
Provides the abillity to create or interact directly with the point data.
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 classParticleEmitter
Public classPickResult
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 classScreenConfig
This class is used to store all parameters the user can adjust for a ScreenS3D object Can be used to serialize / de-serialize into a cinfig file to store adjustments / load adustments on application start (i.e. using JSON)
Public classScreenS3D
ScreenS3D can be used as a (video) screen to diplay steroscopic videos or images in addition with depth maps to simulate depth in the scene using the videos/images content
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 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 classShaders
Contains all pixel and vertex shaders and a method to create a ShaderProgram in Rendercontext.
Public classSliderConstraint
Public classSphereShape
Public classStaticPlaneShape
Public classStereo3D
Rendering of stereo 3D graphics in anaglyph or oculus rift mode.
Public classStereoCameraRig
A S3D camera rig.
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
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
Public structureScreenS3DTextures
This stuct contains all four textures used for the next render call.
Delegates
Enumerations
  EnumerationDescription
Public enumerationLightingCalculationMethod
All supported lightning calculation methods LegacyShaderCodeBuilder.cs supports.
Public enumerationStereo3DEye
The enum for the eye side selection.
Public enumerationStereo3DMode
The enum for the 3D Mode selection.
Public enumerationTwoPointAction
Symbolic value describing the double-touchpoint action with the highest intensity performed by a user with the first two touchpoints.