====== Graphics ====== ===== Core ===== ==== XNAGame ==== This is the core implementation of IXNAGame. It provides the basic services for rendering with XNA/DirectX9 and handles mouse/keyboard input. It also provides an easy to use linerenderer and fps renderer. [[:documentation:drawfps|DrawFPS]] renders fps. This will be capped to 60 unless [[:documentation:isfixedtimestep|IsFixedTimestep]] is set to false. Currently, vertical sync is disabled in XNAGame to enable a more interesting fps. ==== LineManager3D ==== This is used by the XNAGame to render lines, or boxes, triangles, … as lines. You add the lines every frame; add the end of the frame all the lines are removed. ===== Helper classes ===== ==== LineManager3DLines ==== This class can be used to store lines for rendering with the LineManager3D. You can add lines to this object, and render them each frame without having to re-add them all like in the LineManager3D ==== AverageFPSCalculater ==== This class simply calculates the average frame length from framelenghts passed to it. It then holds a property that contains the FPS ==== ColladaShader (obsolete?) ==== This is a basic shader implementation for rendering textured/colored/normalmapped meshes. Supports vertex colored rendering, textured rendering and normal mapped rendering ==== BasicShader ==== This is a basic shader class for a shader that holds a world/view/proj matrix. It provides functionality to compile a shader from an fx file. Note that this class does not hold an fx file, one must be provided. ===== Meshes ===== Note: Currently, these meshes have a reasonable common implementation. If more are added, inheritance or an adapter should be considered. ==== BoxMesh (obsolete?) ==== This is a helper class for simply rendering a box with given bounds and worldmatrix. This class uses the [[:documentation:colladashader|ColladaShader]] for rendering. Supports raytracing ==== SphereMesh (obsolete?) ==== This is a helper class for simply rendering a sphere with given radius and worldmatrix. TODO: implement raytracing functionality