Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::D3D9HardwareOcclusionQuery Class Reference

This is a class that is the DirectX9 implementation of hardware occlusion testing. More...

#include <OgreD3D9HardwareOcclusionQuery.h>

Inheritance diagram for Ogre::D3D9HardwareOcclusionQuery:

Ogre::HardwareOcclusionQuery List of all members.

Public Member Functions

 D3D9HardwareOcclusionQuery (IDirect3DDevice9 *pD3DDevice)
 Default object constructor.

 ~D3D9HardwareOcclusionQuery ()
 Object destructor.

void beginOcclusionQuery ()
 Starts the hardware occlusion query Simple usage: Create one or more OcclusionQuery object one per outstanding query or one per tested object OcclusionQuery* m_pOcclusionQuery; createOcclusionQuery( &m_pOcclusionQuery ); In the rendering loop: Draw all occluders m_pOcclusionQuery->startOcclusionQuery(); Draw the polygons to be tested m_pOcclusionQuery->endOcclusionQuery();.

void endOcclusionQuery ()
 Ends the hardware occlusion test.

bool pullOcclusionQuery (unsigned int *NumOfFragments)
 Pulls the hardware occlusion query too see if there is a result.

unsigned int getLastQuerysPixelcount ()
bool isStillOutstanding (void)
unsigned int getLastQuerysPixelcount () const
 Let's you get the last pixel count with out doing the hardware occlusion test.

virtual bool HardwareOcclusionQuery::isStillOutstanding (void)=0
 Lets you know when query is done, or still be processed by the Hardware.


Protected Attributes

unsigned int mPixelCount
bool mIsQueryResultStillOutstanding

Private Attributes

IDirect3DQuery9 * mpQuery
IDirect3DDevice9 * mpDevice

Detailed Description

This is a class that is the DirectX9 implementation of hardware occlusion testing.

Author:
Lee Sandberg, email lee@abcmedia.se
Updated on 12/7/2004 by Chris McGuirk Updated on 4/8/2005 by Tuan Kuranes email: tuan.kuranes@free.fr

Definition at line 50 of file OgreD3D9HardwareOcclusionQuery.h.


Constructor & Destructor Documentation

Ogre::D3D9HardwareOcclusionQuery::D3D9HardwareOcclusionQuery IDirect3DDevice9 *  pD3DDevice  ) 
 

Default object constructor.

Ogre::D3D9HardwareOcclusionQuery::~D3D9HardwareOcclusionQuery  ) 
 

Object destructor.


Member Function Documentation

void Ogre::D3D9HardwareOcclusionQuery::beginOcclusionQuery  )  [virtual]
 

Starts the hardware occlusion query Simple usage: Create one or more OcclusionQuery object one per outstanding query or one per tested object OcclusionQuery* m_pOcclusionQuery; createOcclusionQuery( &m_pOcclusionQuery ); In the rendering loop: Draw all occluders m_pOcclusionQuery->startOcclusionQuery(); Draw the polygons to be tested m_pOcclusionQuery->endOcclusionQuery();.

Results must be pulled using: UINT m_uintNumberOfPixelsVisable; pullOcclusionQuery( &m_dwNumberOfPixelsVisable );

Implements Ogre::HardwareOcclusionQuery.

void Ogre::D3D9HardwareOcclusionQuery::endOcclusionQuery  )  [virtual]
 

Ends the hardware occlusion test.

Implements Ogre::HardwareOcclusionQuery.

unsigned int Ogre::HardwareOcclusionQuery::getLastQuerysPixelcount  )  const [inherited]
 

Let's you get the last pixel count with out doing the hardware occlusion test.

Returns:
The last fragment count from the last test. Remarks This function won't give you new values, just the old value.

Definition at line 98 of file OgreHardwareOcclusionQuery.h.

unsigned int Ogre::D3D9HardwareOcclusionQuery::getLastQuerysPixelcount  ) 
 

Definition at line 75 of file OgreD3D9HardwareOcclusionQuery.h.

virtual bool Ogre::HardwareOcclusionQuery::HardwareOcclusionQuery::isStillOutstanding void   )  [pure virtual, inherited]
 

Lets you know when query is done, or still be processed by the Hardware.

Returns:
true if query isn't finished.

bool Ogre::D3D9HardwareOcclusionQuery::isStillOutstanding void   ) 
 

bool Ogre::D3D9HardwareOcclusionQuery::pullOcclusionQuery unsigned int *  NumOfFragments  )  [virtual]
 

Pulls the hardware occlusion query too see if there is a result.

Return values:
NumOfFragments will get the resulting number of fragments.
Returns:
True if success or false if not.

Implements Ogre::HardwareOcclusionQuery.


Member Data Documentation

bool Ogre::HardwareOcclusionQuery::mIsQueryResultStillOutstanding [protected, inherited]
 

Definition at line 114 of file OgreHardwareOcclusionQuery.h.

IDirect3DDevice9* Ogre::D3D9HardwareOcclusionQuery::mpDevice [private]
 

Definition at line 85 of file OgreD3D9HardwareOcclusionQuery.h.

unsigned int Ogre::HardwareOcclusionQuery::mPixelCount [protected, inherited]
 

Definition at line 112 of file OgreHardwareOcclusionQuery.h.

IDirect3DQuery9* Ogre::D3D9HardwareOcclusionQuery::mpQuery [private]
 

Definition at line 84 of file OgreD3D9HardwareOcclusionQuery.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:50:38 2006