Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray3D::cDXRenderBatch Class Referenceabstract

#include <cDXRenderBatch.h>

Inheritance diagram for Gray3D::cDXRenderBatch:
Gray3D::cDXBase GrayGUI::cXDesktopMgr

Public Member Functions

 cDXRenderBatch (void)
 
virtual ~cDXRenderBatch (void)
 
virtual const char * get_NameCPtr () const =0
 Render type must have a name. More...
 
virtual HRESULT OneTimeSceneInit ()
 
virtual void FinalCleanup ()
 
virtual void FrameMoveAll (TIMESECF_t fElapsedTime)
 
virtual void PreRenderAll ()
 
virtual HRESULT RenderAll (CCamera *pCamera)
 
virtual void UpdateD3DOffset (const cVector3f &vOffset)
 
bool isStopped () const noexcept
 
void put_Stopped (bool bStop) noexcept
 
- Public Member Functions inherited from Gray3D::cDXBase
 cDXBase (cDXDevice *pDXDev=nullptr) noexcept
 
virtual ~cDXBase ()
 
ID3DDeviceget_D3DDev () const noexcept
 
bool isInitDevice () const noexcept
 
bool isLostDevice () const noexcept
 
virtual HRESULT InitDeviceObjects (cDXDevice *pDXDev)
 
virtual HRESULT OnResetDeviceX ()
 
virtual HRESULT OnLostDeviceX ()
 
virtual HRESULT DeleteDeviceObjects ()
 
 UNITTEST_FRIEND (cDXBase)
 

Additional Inherited Members

- Public Attributes inherited from Gray3D::cDXBase
cDXDevicem_pDXDev
 What device is this attached to (or should be)? InitDeviceObjects() was called and DeleteDeviceObjects() was not. More...
 
cIUnkPtr< ID3DDevicem_pD3DDev
 

Detailed Description

A type of item/model to be rendered as a batch in a scene. Render a specific draw type of object in the scene in one batch if possible. (for speed purposes) Manage lists of objects (of a draw type) to display in the scene

Constructor & Destructor Documentation

◆ cDXRenderBatch()

Gray3D::cDXRenderBatch::cDXRenderBatch ( void  )

◆ ~cDXRenderBatch()

Gray3D::cDXRenderBatch::~cDXRenderBatch ( void  )
virtual

Member Function Documentation

◆ FinalCleanup()

virtual void Gray3D::cDXRenderBatch::FinalCleanup ( )
inlinevirtual

Reimplemented in GrayGUI::cXDesktopMgr.

◆ FrameMoveAll()

virtual void Gray3D::cDXRenderBatch::FrameMoveAll ( TIMESECF_t  fElapsedTime)
inlinevirtual

Do FrameMove on all objects of this type.

Reimplemented in GrayGUI::cXDesktopMgr.

◆ get_NameCPtr()

virtual const char* Gray3D::cDXRenderBatch::get_NameCPtr ( ) const
pure virtual

Render type must have a name.

Implemented in GrayGUI::cXDesktopMgr.

◆ isStopped()

bool Gray3D::cDXRenderBatch::isStopped ( ) const
inlinenoexcept

◆ OneTimeSceneInit()

virtual HRESULT Gray3D::cDXRenderBatch::OneTimeSceneInit ( )
inlinevirtual

Reimplemented in GrayGUI::cXDesktopMgr.

◆ PreRenderAll()

virtual void Gray3D::cDXRenderBatch::PreRenderAll ( )
inlinevirtual

called after everything is FrameMove()-ed but before we start any Render() calls (to set common render params for example)

◆ put_Stopped()

void Gray3D::cDXRenderBatch::put_Stopped ( bool  bStop)
inlinenoexcept

◆ RenderAll()

virtual HRESULT Gray3D::cDXRenderBatch::RenderAll ( CCamera *  pCamera)
inlinevirtual

render all elements of this type in the scene.

Reimplemented in GrayGUI::cXDesktopMgr.

◆ UpdateD3DOffset()

virtual void Gray3D::cDXRenderBatch::UpdateD3DOffset ( const cVector3f vOffset)
inlinevirtual

Update the coordinate system for all objects of this type.


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