# 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:

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.
unsigned int | getLastQuerysPixelcount ()
bool | isStillOutstanding (void)
| Lets you know when query is done, or still be processed by the Hardware.
unsigned int | getLastQuerysPixelcount () const
| Let's you get the last pixel count with out doing the hardware occlusion test.

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

unsigned int Ogre::D3D9HardwareOcclusionQuery::getLastQuerysPixelcount | ( |  | ) |

| Definition at line 75 of file OgreD3D9HardwareOcclusionQuery.h. References Ogre::HardwareOcclusionQuery::mPixelCount.

bool Ogre::D3D9HardwareOcclusionQuery::isStillOutstanding | ( | void |  | ) | `[virtual]`

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

Returns:
  true if query isn't finished.

Implements Ogre::HardwareOcclusionQuery.

bool Ogre::D3D9HardwareOcclusionQuery::pullOcclusionQuery | ( | unsigned int * | NumOfFragments | ) | `[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.

Implements Ogre::HardwareOcclusionQuery.

## Member Data Documentation

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

| Definition at line 116 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 114 of file OgreHardwareOcclusionQuery.h. Referenced by getLastQuerysPixelcount().

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

| Definition at line 84 of file OgreD3D9HardwareOcclusionQuery.h.

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

- OgreD3D9HardwareOcclusionQuery.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 17 15:47:27 2006