# Ogre::HardwareOcclusionQuery Class Reference
RenderSystem

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

`#include <OgreHardwareOcclusionQuery.h>`

Inheritance diagram for Ogre::HardwareOcclusionQuery:
[legend]

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.
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## 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 51 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.

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 109 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.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  | `[inherited]`

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  | `[inherited]`

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  | `[inherited]`

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  | `[inherited]`

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 90 of file OgreMemoryAllocatedObject.h.

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.

## Member Data Documentation

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

Definition at line 125 of file OgreHardwareOcclusionQuery.h.

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

Definition at line 123 of file OgreHardwareOcclusionQuery.h.

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

- OgreHardwareOcclusionQuery.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun May 8 2011 20:28:12