Public Member Functions | Protected Attributes
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>

Inheritance diagram for Ogre::HardwareOcclusionQuery:
Inheritance graph
[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.
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

Object public member functions.

Default object constructor

Object destructor.


Member Function Documentation

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

Starts the hardware occlusion query.

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

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

Implemented in Ogre::GLHardwareOcclusionQuery, Ogre::D3D9HardwareOcclusionQuery, Ogre::D3D11HardwareOcclusionQuery, and Ogre::GLES2HardwareOcclusionQuery.

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

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.

Implemented in Ogre::GLHardwareOcclusionQuery, Ogre::D3D9HardwareOcclusionQuery, Ogre::D3D11HardwareOcclusionQuery, and Ogre::GLES2HardwareOcclusionQuery.

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) [inherited]

Definition at line 112 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 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,
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]

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:
NumOfFragmentswill get the resulting number of fragments.
Returns:
True if success or false if not.

Implemented in Ogre::GLHardwareOcclusionQuery, Ogre::D3D9HardwareOcclusionQuery, Ogre::D3D11HardwareOcclusionQuery, and Ogre::GLES2HardwareOcclusionQuery.


Member Data Documentation

Definition at line 125 of file OgreHardwareOcclusionQuery.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 2012 21:48:57