Mount Fuji Engine  0.8b
Data Structures | Enumerations | Functions
Renderer Interface

Data Structures

struct  MFRenderLayerDescription
 Render layer description Describes an MFRenderLayer. More...
 
struct  MFRenderLayerSet
 Render layer set A set of render layers to be used while submitting geometry. More...
 
struct  MFRenderer
 Represents a Fuji renderer. More...
 
struct  MFRenderLayer
 Represents a Fuji render layer. More...
 

Enumerations

enum  MFRenderClearFlags {
  MFRCF_Colour = 1, MFRCF_ZBuffer = 2, MFRCF_Stencil = 4, MFRCF_None = 0,
  MFRCF_All = MFRCF_Colour | MFRCF_ZBuffer | MFRCF_Stencil, MFRCF_DepthStencil = MFRCF_ZBuffer | MFRCF_Stencil, MFRCF_ForceInt = 0x7FFFFFFF
}
 Clear flags. More...
 
enum  MFRenderLayerSortMode {
  MFRL_SM_Unknown = -1, MFRL_SM_Default = 0, MFRL_SM_FrontToBack, MFRL_SM_BackToFront,
  MFRL_SM_None, MFRL_SM_Max, MFRL_SM_ForceInt = 0x7FFFFFFF
}
 Render layer sort mode. More...
 

Functions

MF_API MFTextureMFRenderer_GetDeviceRenderTarget ()
 Get the device render target. More...
 
MF_API MFTextureMFRenderer_GetDeviceDepthStencil ()
 Get the device depth+stencil target. More...
 
MF_API float MFRenderer_GetTexelCenterOffset ()
 Get the current texel center offset. More...
 
MF_API int MFRenderer_Begin ()
 Begin a render block. More...
 
MF_API void MFRenderer_SetMatrices (const MFMatrix *pMatrices, int numMatrices)
 Set the animation matrices. More...
 
MF_API void MFRenderer_SetBatch (const uint16 *pBatch, int numBonesInBatch)
 Set the current animation bone batch. More...
 
MF_API void * MFRenderer_AllocateCommandBufferMemory (size_t bytes, size_t alignment=16)
 Allocate command buffer memory. More...
 
MF_API void * MFRenderer_AllocateScratchMemory (size_t bytes, size_t alignment=16)
 Allocate scratch memory. More...
 
MF_API void MFRenderer_GetMemoryStats (size_t *pCommandBuffer, size_t *pCommandBufferPeak, size_t *pScratch, size_t *pScratchPeak)
 Get render memory statistics. More...
 
MF_API MFRendererMFRenderer_Create (MFRenderLayerDescription *pLayers, int numLayers, MFStateBlock *pGlobal, MFStateBlock *pOverride=NULL)
 Create a renderer. More...
 
MF_API void MFRenderer_Destroy (MFRenderer *pRenderer)
 Destroy a renderer. More...
 
MF_API const MFStateBlockMFRenderer_SetGlobalStateBlock (MFRenderer *pRenderer, const MFStateBlock *pGlobal)
 Set a global stateblock. More...
 
MF_API const MFStateBlockMFRenderer_SetOverrideStateBlock (MFRenderer *pRenderer, const MFStateBlock *pOverride)
 Set an override stateblock. More...
 
MF_API void MFRenderer_SetRenderLayerSet (MFRenderer *pRenderer, MFRenderLayerSet *pLayerSet)
 Assign a render layer set. More...
 
MF_API MFRenderLayerMFRenderer_GetLayer (MFRenderer *pRenderer, int layer)
 Get a render layer. More...
 
MF_API MFRenderLayerMFRenderer_GetDebugLayer (MFRenderer *pRenderer)
 Get the debug render layer. More...
 
MF_API void MFRenderer_CloneLayer (MFRenderer *pRenderer, int sourceLayer, int destLayer)
 Clone a render layer. More...
 
MF_API void MFRenderer_BuildCommandBuffers (MFRenderer *pRenderer)
 Build the GPU command buffers. More...
 
MF_API void MFRenderer_Kick (MFRenderer *pRenderer)
 Submit renderer to the GPU for rendering. More...
 
MF_API MFRendererMFRenderer_SetCurrent (MFRenderer *pRenderer)
 Make a renderer current. More...
 
MF_API MFRendererMFRenderer_GetCurrent ()
 Get the current renderer. More...
 
MF_API void MFRenderer_AddMesh (MFMesh *pMesh, MFMaterial *pMaterial, const MFStateBlock *pEntity, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit a mesh for rendering. More...
 
MF_API void MFRenderer_AddModel (MFModel *pModel, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit a model for rendering. More...
 
MF_API void MFRenderer_AddVertices (const MFStateBlock *pMeshStateBlock, int firstVertex, int numVertices, MFPrimType primType, MFMaterial *pMaterial, const MFStateBlock *pEntity, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit vertices for rendering. More...
 
MF_API void MFRenderer_AddIndexedVertices (const MFStateBlock *pMeshStateBlock, int firstIndex, int numVertices, MFPrimType primType, MFMaterial *pMaterial, const MFStateBlock *pEntity, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit indexed vertices for rendering. More...
 
MF_API void MFRenderLayer_SetLayerStateBlock (MFRenderLayer *pLayer, const MFStateBlock *pState)
 Set a render layer stateblock. More...
 
MF_API void MFRenderLayer_SetLayerSortMode (MFRenderLayer *pLayer, MFRenderLayerSortMode sortMode)
 Set the render layer sort mode. More...
 
MF_API void MFRenderLayer_SetLayerRenderTarget (MFRenderLayer *pLayer, int targetIndex, MFTexture *pTexture)
 Set a render layer's render target. More...
 
MF_API void MFRenderLayer_SetLayerDepthTarget (MFRenderLayer *pLayer, MFTexture *pTexture)
 Set a render layer's depth target. More...
 
MF_API void MFRenderLayer_SetLayerColourCapture (MFRenderLayer *pLayer, int targetIndex, MFTexture *pTexture)
 Set a render layer's render target capture surface. More...
 
MF_API void MFRenderLayer_SetLayerDepthCapture (MFRenderLayer *pLayer, MFTexture *pTexture)
 Set a render layer's depth target capture surface. More...
 
MF_API void MFRenderLayer_SetClear (MFRenderLayer *pLayer, MFRenderClearFlags clearFlags, const MFVector &colour=MFVector::zero, float z=1.f, int stencil=0)
 Set the clear mode for the layer. More...
 
MF_API void MFRenderLayer_AddVertices (MFRenderLayer *pLayer, const MFStateBlock *pMeshStateBlock, int firstVertex, int numVertices, MFPrimType primType, MFMaterial *pMaterial, const MFStateBlock *pEntity, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit vertices for rendering. More...
 
MF_API void MFRenderLayer_AddIndexedVertices (MFRenderLayer *pLayer, const MFStateBlock *pMeshStateBlock, int firstIndex, int numVertices, MFPrimType primType, MFMaterial *pMaterial, const MFStateBlock *pEntity, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit indexed vertices for rendering. More...
 
MF_API void MFRenderLayer_AddMesh (MFRenderLayer *pLayer, MFMesh *pMesh, MFMaterial *pMaterial, const MFStateBlock *pEntity, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit a mesh for rendering. More...
 
MF_API void MFRenderLayer_AddModel (MFRenderLayerSet *pLayerSet, MFModel *pModel, const MFStateBlock *pMaterialOverride, const MFStateBlock *pView)
 Submit a model for rendering. More...
 
MF_API void MFRenderLayer_AddFence (MFRenderLayer *pLayer)
 Add a fence to the render layer Adds a fence to the render layer. More...
 
__forceinline void MFRenderer_SetLayerStateBlock (MFRenderer *pRenderer, int layer, const MFStateBlock *pState)
 Set a render layer stateblock. More...
 

Detailed Description