Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
gte::GraphicsEngine Class Referenceabstract

#include <GteGraphicsEngine.h>

Inheritance diagram for gte::GraphicsEngine:
Inheritance graph
[legend]

Classes

class  DTListener
 
class  GOListener
 

Public Member Functions

void AllowOcclusionQuery (bool allow)
 
GEObjectBind (std::shared_ptr< GraphicsObject > const &object)
 
GEDrawTargetBind (std::shared_ptr< DrawTarget > const &target)
 
virtual bool BindProgram (std::shared_ptr< ComputeProgram > const &program)=0
 
virtual void ClearBuffers ()=0
 
virtual void ClearColorBuffer ()=0
 
virtual void ClearDepthBuffer ()=0
 
virtual void ClearStencilBuffer ()=0
 
virtual bool CopyCpuToGpu (std::shared_ptr< Buffer > const &buffer)=0
 
virtual bool CopyCpuToGpu (std::shared_ptr< TextureSingle > const &texture)=0
 
virtual bool CopyCpuToGpu (std::shared_ptr< TextureSingle > const &texture, unsigned int level)=0
 
virtual bool CopyCpuToGpu (std::shared_ptr< TextureArray > const &textureArray)=0
 
virtual bool CopyCpuToGpu (std::shared_ptr< TextureArray > const &textureArray, unsigned int item, unsigned int level)=0
 
virtual bool CopyGpuToCpu (std::shared_ptr< Buffer > const &buffer)=0
 
virtual bool CopyGpuToCpu (std::shared_ptr< TextureSingle > const &texture)=0
 
virtual bool CopyGpuToCpu (std::shared_ptr< TextureSingle > const &texture, unsigned int level)=0
 
virtual bool CopyGpuToCpu (std::shared_ptr< TextureArray > const &textureArray)=0
 
virtual bool CopyGpuToCpu (std::shared_ptr< TextureArray > const &textureArray, unsigned int item, unsigned int level)=0
 
virtual void CopyGpuToGpu (std::shared_ptr< Buffer > const &buffer0, std::shared_ptr< Buffer > const &buffer1)=0
 
virtual void CopyGpuToGpu (std::shared_ptr< TextureSingle > const &texture0, std::shared_ptr< TextureSingle > const &texture1)=0
 
virtual void CopyGpuToGpu (std::shared_ptr< TextureSingle > const &texture0, std::shared_ptr< TextureSingle > const &texture1, unsigned int level)=0
 
virtual void CopyGpuToGpu (std::shared_ptr< TextureArray > const &textureArray0, std::shared_ptr< TextureArray > const &textureArray1)=0
 
virtual void CopyGpuToGpu (std::shared_ptr< TextureArray > const &textureArray0, std::shared_ptr< TextureArray > const &textureArray1, unsigned int item, unsigned int level)=0
 
virtual void Disable (std::shared_ptr< DrawTarget > const &target)=0
 
uint64_t Draw (Visual *visual)
 
uint64_t Draw (std::vector< Visual * > const &visuals)
 
uint64_t Draw (std::shared_ptr< Visual > const &visual)
 
uint64_t Draw (std::vector< std::shared_ptr< Visual >> const &visuals)
 
uint64_t Draw (int x, int y, std::array< float, 4 > const &color, std::string const &message)
 
virtual uint64_t Draw (std::shared_ptr< OverlayEffect > const &overlay) override
 
virtual void Enable (std::shared_ptr< DrawTarget > const &target)=0
 
virtual void Execute (std::shared_ptr< ComputeProgram > const &program, unsigned int numXGroups, unsigned int numYGroups, unsigned int numZGroups)=0
 
virtual void Flush ()=0
 
GEObjectGet (std::shared_ptr< GraphicsObject > const &object) const
 
GEDrawTargetGet (std::shared_ptr< DrawTarget > const &target) const
 
virtual bool GetNumActiveElements (std::shared_ptr< StructuredBuffer > const &buffer)=0
 
void GetTotalAllocation (size_t &numBytes, size_t &numObjects) const
 
virtual void SetFont (std::shared_ptr< Font > const &font) override
 
bool Unbind (std::shared_ptr< GraphicsObject > const &object)
 
bool Unbind (std::shared_ptr< DrawTarget > const &target)
 
virtual bool Update (std::shared_ptr< Buffer > const &buffer)=0
 
virtual bool Update (std::shared_ptr< TextureSingle > const &texture)=0
 
virtual bool Update (std::shared_ptr< TextureSingle > const &texture, unsigned int level)=0
 
virtual bool Update (std::shared_ptr< TextureArray > const &textureArray)=0
 
virtual bool Update (std::shared_ptr< TextureArray > const &textureArray, unsigned int item, unsigned int level)=0
 
virtual void WaitForFinish ()=0
 
void WarnOnNonemptyBridges (bool warn)
 
virtual ~GraphicsEngine ()
 
- Public Member Functions inherited from gte::BaseEngine
virtual void DisplayColorBuffer (unsigned int syncInterval)=0
 
std::shared_ptr< BlendState > const & GetBlendState () const
 
std::array< float, 4 > const & GetClearColor () const
 
float GetClearDepth () const
 
unsigned int GetClearStencil () const
 
std::shared_ptr< BlendState > const & GetDefaultBlendState () const
 
std::shared_ptr< DepthStencilState > const & GetDefaultDepthStencilState () const
 
std::shared_ptr< Font > const & GetDefaultFont () const
 
std::shared_ptr< RasterizerState > const & GetDefaultRasterizerState () const
 
virtual void GetDepthRange (float &zmin, float &zmax) const =0
 
std::shared_ptr< DepthStencilState > const & GetDepthStencilState () const
 
std::shared_ptr< Font > const & GetFont () const
 
std::shared_ptr< RasterizerState > const & GetRasterizerState () const
 
virtual void GetViewport (int &x, int &y, int &w, int &h) const =0
 
virtual bool Resize (unsigned int w, unsigned int h)=0
 
virtual void SetBlendState (std::shared_ptr< BlendState > const &state)=0
 
void SetClearColor (std::array< float, 4 > const &clearColor)
 
void SetClearDepth (float clearDepth)
 
void SetClearStencil (unsigned int clearStencil)
 
void SetDefaultBlendState ()
 
void SetDefaultDepthStencilState ()
 
void SetDefaultFont ()
 
void SetDefaultRasterizerState ()
 
virtual void SetDepthRange (float zmin, float zmax)=0
 
virtual void SetDepthStencilState (std::shared_ptr< DepthStencilState > const &state)=0
 
virtual void SetRasterizerState (std::shared_ptr< RasterizerState > const &state)=0
 
virtual void SetViewport (int x, int y, int w, int h)=0
 
virtual ~BaseEngine ()
 

Protected Types

typedef std::shared_ptr< GEDrawTarget >(* CreateGEDrawTarget) (DrawTarget const *, std::vector< GEObject * > &, GEObject *)
 
typedef std::shared_ptr< GEObject >(* CreateGEObject) (void *, GraphicsObject const *)
 

Protected Member Functions

virtual void DestroyDefaultGlobalState ()
 
virtual uint64_t DrawPrimitive (std::shared_ptr< VertexBuffer > const &vbuffer, std::shared_ptr< IndexBuffer > const &ibuffer, std::shared_ptr< VisualEffect > const &effect)=0
 
 GraphicsEngine ()
 
 GraphicsEngine (GraphicsEngine const &)=delete
 
GraphicsEngineoperator= (GraphicsEngine const &)=delete
 
bool Unbind (GraphicsObject const *object)
 
bool Unbind (DrawTarget const *target)
 
- Protected Member Functions inherited from gte::BaseEngine
 BaseEngine ()
 
 BaseEngine (BaseEngine const &)=delete
 
void CreateDefaultGlobalState ()
 
BaseEngineoperator= (BaseEngine const &)=delete
 

Protected Attributes

bool mAllowOcclusionQuery
 
CreateGEDrawTarget mCreateGEDrawTarget
 
std::array< CreateGEObject, GT_NUM_TYPES > mCreateGEObject
 
std::shared_ptr< DTListenermDTListener
 
ThreadSafeMap< DrawTarget const *, std::shared_ptr< GEDrawTarget > > mDTMap
 
voidmGEObjectCreator
 
std::shared_ptr< GOListenermGOListener
 
ThreadSafeMap< GraphicsObject const *, std::shared_ptr< GEObject > > mGOMap
 
std::unique_ptr< GEInputLayoutManagermILMap
 
bool mWarnOnNonemptyBridges
 
- Protected Attributes inherited from gte::BaseEngine
std::shared_ptr< BlendStatemActiveBlendState
 
std::shared_ptr< DepthStencilStatemActiveDepthStencilState
 
std::shared_ptr< FontmActiveFont
 
std::shared_ptr< RasterizerStatemActiveRasterizerState
 
std::array< float, 4 > mClearColor
 
float mClearDepth
 
unsigned int mClearStencil
 
std::shared_ptr< BlendStatemDefaultBlendState
 
std::shared_ptr< DepthStencilStatemDefaultDepthStencilState
 
std::shared_ptr< FontmDefaultFont
 
std::shared_ptr< RasterizerStatemDefaultRasterizerState
 
unsigned int mXSize
 
unsigned int mYSize
 

Detailed Description

Definition at line 28 of file GteGraphicsEngine.h.

Member Typedef Documentation

typedef std::shared_ptr<GEDrawTarget>(* gte::GraphicsEngine::CreateGEDrawTarget) (DrawTarget const *, std::vector< GEObject * > &, GEObject *)
protected

Definition at line 193 of file GteGraphicsEngine.h.

typedef std::shared_ptr<GEObject>(* gte::GraphicsEngine::CreateGEObject) (void *, GraphicsObject const *)
protected

Definition at line 192 of file GteGraphicsEngine.h.

Constructor & Destructor Documentation

GraphicsEngine::~GraphicsEngine ( )
virtual

Definition at line 12 of file GteGraphicsEngine.cpp.

GraphicsEngine::GraphicsEngine ( )
protected

Definition at line 16 of file GteGraphicsEngine.cpp.

gte::GraphicsEngine::GraphicsEngine ( GraphicsEngine const &  )
protecteddelete

Member Function Documentation

void gte::GraphicsEngine::AllowOcclusionQuery ( bool  allow)
inline

Definition at line 242 of file GteGraphicsEngine.h.

GEObject * GraphicsEngine::Bind ( std::shared_ptr< GraphicsObject > const &  object)

Definition at line 164 of file GteGraphicsEngine.cpp.

GEDrawTarget * GraphicsEngine::Bind ( std::shared_ptr< DrawTarget > const &  target)

Definition at line 198 of file GteGraphicsEngine.cpp.

virtual bool gte::GraphicsEngine::BindProgram ( std::shared_ptr< ComputeProgram > const &  program)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::ClearBuffers ( )
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::ClearColorBuffer ( )
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::ClearDepthBuffer ( )
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::ClearStencilBuffer ( )
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyCpuToGpu ( std::shared_ptr< Buffer > const &  buffer)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyCpuToGpu ( std::shared_ptr< TextureSingle > const &  texture)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyCpuToGpu ( std::shared_ptr< TextureSingle > const &  texture,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyCpuToGpu ( std::shared_ptr< TextureArray > const &  textureArray)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyCpuToGpu ( std::shared_ptr< TextureArray > const &  textureArray,
unsigned int  item,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyGpuToCpu ( std::shared_ptr< Buffer > const &  buffer)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyGpuToCpu ( std::shared_ptr< TextureSingle > const &  texture)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyGpuToCpu ( std::shared_ptr< TextureSingle > const &  texture,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyGpuToCpu ( std::shared_ptr< TextureArray > const &  textureArray)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::CopyGpuToCpu ( std::shared_ptr< TextureArray > const &  textureArray,
unsigned int  item,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::CopyGpuToGpu ( std::shared_ptr< Buffer > const &  buffer0,
std::shared_ptr< Buffer > const &  buffer1 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::CopyGpuToGpu ( std::shared_ptr< TextureSingle > const &  texture0,
std::shared_ptr< TextureSingle > const &  texture1 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::CopyGpuToGpu ( std::shared_ptr< TextureSingle > const &  texture0,
std::shared_ptr< TextureSingle > const &  texture1,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::CopyGpuToGpu ( std::shared_ptr< TextureArray > const &  textureArray0,
std::shared_ptr< TextureArray > const &  textureArray1 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::CopyGpuToGpu ( std::shared_ptr< TextureArray > const &  textureArray0,
std::shared_ptr< TextureArray > const &  textureArray1,
unsigned int  item,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

void GraphicsEngine::DestroyDefaultGlobalState ( )
protectedvirtual

Reimplemented from gte::BaseEngine.

Definition at line 270 of file GteGraphicsEngine.cpp.

virtual void gte::GraphicsEngine::Disable ( std::shared_ptr< DrawTarget > const &  target)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

uint64_t GraphicsEngine::Draw ( Visual visual)

Definition at line 67 of file GteGraphicsEngine.cpp.

uint64_t GraphicsEngine::Draw ( std::vector< Visual * > const &  visuals)

Definition at line 84 of file GteGraphicsEngine.cpp.

uint64_t GraphicsEngine::Draw ( std::shared_ptr< Visual > const &  visual)

Definition at line 94 of file GteGraphicsEngine.cpp.

uint64_t GraphicsEngine::Draw ( std::vector< std::shared_ptr< Visual >> const &  visuals)

Definition at line 99 of file GteGraphicsEngine.cpp.

uint64_t GraphicsEngine::Draw ( int  x,
int  y,
std::array< float, 4 > const &  color,
std::string const &  message 
)

Definition at line 109 of file GteGraphicsEngine.cpp.

uint64_t GraphicsEngine::Draw ( std::shared_ptr< OverlayEffect > const &  overlay)
overridevirtual

Implements gte::BaseEngine.

Definition at line 147 of file GteGraphicsEngine.cpp.

virtual uint64_t gte::GraphicsEngine::DrawPrimitive ( std::shared_ptr< VertexBuffer > const &  vbuffer,
std::shared_ptr< IndexBuffer > const &  ibuffer,
std::shared_ptr< VisualEffect > const &  effect 
)
protectedpure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::Enable ( std::shared_ptr< DrawTarget > const &  target)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::Execute ( std::shared_ptr< ComputeProgram > const &  program,
unsigned int  numXGroups,
unsigned int  numYGroups,
unsigned int  numZGroups 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::Flush ( )
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

GEObject * GraphicsEngine::Get ( std::shared_ptr< GraphicsObject > const &  object) const

Definition at line 228 of file GteGraphicsEngine.cpp.

GEDrawTarget * GraphicsEngine::Get ( std::shared_ptr< DrawTarget > const &  target) const

Definition at line 239 of file GteGraphicsEngine.cpp.

virtual bool gte::GraphicsEngine::GetNumActiveElements ( std::shared_ptr< StructuredBuffer > const &  buffer)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

void GraphicsEngine::GetTotalAllocation ( size_t &  numBytes,
size_t &  numObjects 
) const

Definition at line 250 of file GteGraphicsEngine.cpp.

GraphicsEngine& gte::GraphicsEngine::operator= ( GraphicsEngine const &  )
protecteddelete
void GraphicsEngine::SetFont ( std::shared_ptr< Font > const &  font)
overridevirtual

Reimplemented from gte::BaseEngine.

Definition at line 32 of file GteGraphicsEngine.cpp.

bool gte::GraphicsEngine::Unbind ( std::shared_ptr< GraphicsObject > const &  object)
inline

Definition at line 232 of file GteGraphicsEngine.h.

bool gte::GraphicsEngine::Unbind ( std::shared_ptr< DrawTarget > const &  target)
inline

Definition at line 237 of file GteGraphicsEngine.h.

bool GraphicsEngine::Unbind ( GraphicsObject const *  object)
protected

Definition at line 290 of file GteGraphicsEngine.cpp.

bool GraphicsEngine::Unbind ( DrawTarget const *  target)
protected

Definition at line 313 of file GteGraphicsEngine.cpp.

virtual bool gte::GraphicsEngine::Update ( std::shared_ptr< Buffer > const &  buffer)
pure virtual

Implements gte::BaseEngine.

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::Update ( std::shared_ptr< TextureSingle > const &  texture)
pure virtual

Implements gte::BaseEngine.

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::Update ( std::shared_ptr< TextureSingle > const &  texture,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::Update ( std::shared_ptr< TextureArray > const &  textureArray)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual bool gte::GraphicsEngine::Update ( std::shared_ptr< TextureArray > const &  textureArray,
unsigned int  item,
unsigned int  level 
)
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

virtual void gte::GraphicsEngine::WaitForFinish ( )
pure virtual

Implemented in gte::DX11Engine, and gte::GL4Engine.

void gte::GraphicsEngine::WarnOnNonemptyBridges ( bool  warn)
inline

Definition at line 247 of file GteGraphicsEngine.h.

Member Data Documentation

bool gte::GraphicsEngine::mAllowOcclusionQuery
protected

Definition at line 227 of file GteGraphicsEngine.h.

CreateGEDrawTarget gte::GraphicsEngine::mCreateGEDrawTarget
protected

Definition at line 196 of file GteGraphicsEngine.h.

std::array<CreateGEObject, GT_NUM_TYPES> gte::GraphicsEngine::mCreateGEObject
protected

Definition at line 195 of file GteGraphicsEngine.h.

std::shared_ptr<DTListener> gte::GraphicsEngine::mDTListener
protected

Definition at line 225 of file GteGraphicsEngine.h.

ThreadSafeMap<DrawTarget const*, std::shared_ptr<GEDrawTarget> > gte::GraphicsEngine::mDTMap
protected

Definition at line 187 of file GteGraphicsEngine.h.

void* gte::GraphicsEngine::mGEObjectCreator
protected

Definition at line 197 of file GteGraphicsEngine.h.

std::shared_ptr<GOListener> gte::GraphicsEngine::mGOListener
protected

Definition at line 211 of file GteGraphicsEngine.h.

ThreadSafeMap<GraphicsObject const*, std::shared_ptr<GEObject> > gte::GraphicsEngine::mGOMap
protected

Definition at line 186 of file GteGraphicsEngine.h.

std::unique_ptr<GEInputLayoutManager> gte::GraphicsEngine::mILMap
protected

Definition at line 188 of file GteGraphicsEngine.h.

bool gte::GraphicsEngine::mWarnOnNonemptyBridges
protected

Definition at line 228 of file GteGraphicsEngine.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06