molecular
Public Types | Public Member Functions | List of all members
molecular::gfx::RenderManagerT< TFileServer, TTaskQueue > Class Template Reference

Encloses all objects needed for rendering. More...

#include <RenderManager.h>

Public Types

using Self = RenderManagerT
 
using FileServer = TFileServer
 
using TaskQueue = TTaskQueue
 
using Renderer = gfx::RenderCmdSink
 
using RenderCmdSink = gfx::RenderCmdSink
 
using GlTaskQueue = ManualTaskQueue< typename TaskQueue::Mutex >
 

Public Member Functions

 RenderManagerT (RenderContext &context, FileServer &fileServer, TaskQueue &queue, RenderCmdSink &commandSink)
 Constructor. More...
 
void DrawOneFrame (RenderFunction &function)
 Main entry point for scene drawing. More...
 
bool LoadProgramFile (const Blob &fileContents)
 Load a program definition file. More...
 
TaskQueueGetTaskQueue ()
 
GlTaskQueueGetGlTaskQueue ()
 
int GetFramecounter () const
 
ScopingGetScoping ()
 
RenderContextGetRenderContext ()
 
RenderCmdSinkGetRenderCmdSink ()
 
FileServerGetFileServer ()
 
TextureManagerGetTextureManager ()
 
MeshManagerGetMeshManager ()
 
programgenerator::ProgramGeneratorGetProgramGenerator ()
 
ProgramProviderGetProgramProvider ()
 
MaterialManagerGetMaterialManager ()
 
void SetMeshBoundsFileData (Blob &&fileData)
 
const util::AxisAlignedBoxGetMeshFileBounds (Hash meshFile)
 

Detailed Description

template<class TFileServer, class TTaskQueue>
class molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >

Encloses all objects needed for rendering.

Member Typedef Documentation

template<class TFileServer, class TTaskQueue>
using molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::FileServer = TFileServer
template<class TFileServer, class TTaskQueue>
using molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GlTaskQueue = ManualTaskQueue<typename TaskQueue::Mutex>
template<class TFileServer, class TTaskQueue>
using molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::RenderCmdSink = gfx::RenderCmdSink
template<class TFileServer, class TTaskQueue>
using molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::Renderer = gfx::RenderCmdSink
template<class TFileServer, class TTaskQueue>
using molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::Self = RenderManagerT
template<class TFileServer, class TTaskQueue>
using molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::TaskQueue = TTaskQueue

Constructor & Destructor Documentation

template<class TFileServer , class TTaskQueue >
molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::RenderManagerT ( RenderContext context,
FileServer fileServer,
TaskQueue queue,
RenderCmdSink commandSink 
)

Constructor.

Member Function Documentation

template<class TFileServer , class TTaskQueue >
void molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::DrawOneFrame ( RenderFunction function)

Main entry point for scene drawing.

template<class TFileServer, class TTaskQueue>
FileServer& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetFileServer ( )
inline
template<class TFileServer, class TTaskQueue>
int molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetFramecounter ( ) const
inline
template<class TFileServer, class TTaskQueue>
GlTaskQueue& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetGlTaskQueue ( )
inline
template<class TFileServer, class TTaskQueue>
MaterialManager& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetMaterialManager ( )
inline
template<class TFileServer , class TTaskQueue >
const util::AxisAlignedBox & molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetMeshFileBounds ( Hash  meshFile)
template<class TFileServer, class TTaskQueue>
MeshManager& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetMeshManager ( )
inline
template<class TFileServer, class TTaskQueue>
programgenerator::ProgramGenerator& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetProgramGenerator ( )
inline
template<class TFileServer, class TTaskQueue>
ProgramProvider& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetProgramProvider ( )
inline
template<class TFileServer, class TTaskQueue>
RenderCmdSink& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetRenderCmdSink ( )
inline
template<class TFileServer, class TTaskQueue>
RenderContext& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetRenderContext ( )
inline
template<class TFileServer, class TTaskQueue>
Scoping& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetScoping ( )
inline
template<class TFileServer, class TTaskQueue>
TaskQueue& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetTaskQueue ( )
inline
template<class TFileServer, class TTaskQueue>
TextureManager& molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::GetTextureManager ( )
inline
template<class TFileServer , class TTaskQueue >
bool molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::LoadProgramFile ( const Blob fileContents)

Load a program definition file.

See also
ProgramFile
template<class TFileServer , class TTaskQueue >
void molecular::gfx::RenderManagerT< TFileServer, TTaskQueue >::SetMeshBoundsFileData ( Blob &&  fileData)

The documentation for this class was generated from the following file: