Ogre::HardwareOcclusionQuery Class Reference

This is a abstract class that that provides the interface for the query class for hardware occlusion. More...

#include <OgreHardwareOcclusionQuery.h>

List of all members.

Public Member Functions

 HardwareOcclusionQuery ()
 Object public member functions.
virtual ~HardwareOcclusionQuery ()
 Object destructor.
virtual void beginOcclusionQuery ()=0
 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();.
virtual void endOcclusionQuery ()=0
 Ends the hardware occlusion test.
virtual bool pullOcclusionQuery (unsigned int *NumOfFragments)=0
 Pulls the hardware occlusion query.
unsigned int getLastQuerysPixelcount () const
 Let's you get the last pixel count with out doing the hardware occlusion test.
virtual bool isStillOutstanding (void)=0
 Lets you know when query is done, or still be processed by the Hardware.

Protected Attributes

unsigned int mPixelCount
bool mIsQueryResultStillOutstanding


Detailed Description

This is a abstract class that that provides the interface for the query class for hardware occlusion.

Author:
Lee Sandberg Updated on 13/8/2005 by Tuan Kuranes email: tuan.kuranes@free.fr

Definition at line 46 of file OgreHardwareOcclusionQuery.h.


Constructor & Destructor Documentation

Ogre::HardwareOcclusionQuery::HardwareOcclusionQuery (  ) 

Object public member functions.

Default object constructor

virtual Ogre::HardwareOcclusionQuery::~HardwareOcclusionQuery (  )  [virtual]

Object destructor.


Member Function Documentation

virtual void Ogre::HardwareOcclusionQuery::beginOcclusionQuery (  )  [pure 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 );

virtual void Ogre::HardwareOcclusionQuery::endOcclusionQuery (  )  [pure virtual]

Ends the hardware occlusion test.

virtual bool Ogre::HardwareOcclusionQuery::pullOcclusionQuery ( unsigned int *  NumOfFragments  )  [pure virtual]

Pulls the hardware occlusion query.

Note:
Waits until the query result is available; use isStillOutstanding if just want to test if the result is available.
Return values:
NumOfFragments will get the resulting number of fragments.
Returns:
True if success or false if not.

unsigned int Ogre::HardwareOcclusionQuery::getLastQuerysPixelcount (  )  const

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 104 of file OgreHardwareOcclusionQuery.h.

virtual bool Ogre::HardwareOcclusionQuery::isStillOutstanding ( void   )  [pure virtual]

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

Returns:
true if query isn't finished.


Member Data Documentation

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

Definition at line 118 of file OgreHardwareOcclusionQuery.h.

bool Ogre::HardwareOcclusionQuery::mIsQueryResultStillOutstanding [protected]

Definition at line 120 of file OgreHardwareOcclusionQuery.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 Mon Jun 16 12:49:56 2008