\hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query}{}\doxysection{Ogre\+::D3\+D11\+Hardware\+Occlusion\+Query Class Reference}
\label{class_ogre_1_1_d3_d11_hardware_occlusion_query}\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}


This is a class that is the Direct\+X9 implementation of hardware occlusion testing.  




{\ttfamily \#include $<$Ogre\+D3\+D11\+Hardware\+Occlusion\+Query.\+h$>$}



Inheritance diagram for Ogre\+::D3\+D11\+Hardware\+Occlusion\+Query\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=253pt]{class_ogre_1_1_d3_d11_hardware_occlusion_query__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_af2f609f8488b963340df3c04aedd75d9}{D3\+D11\+Hardware\+Occlusion\+Query}} (\mbox{\hyperlink{class_ogre_1_1_d3_d11_device}{D3\+D11\+Device}} \&device)
\begin{DoxyCompactList}\small\item\em Default object constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_aa91b896bee07d9259104c4f59db2d152}{$\sim$\+D3\+D11\+Hardware\+Occlusion\+Query}} ()
\begin{DoxyCompactList}\small\item\em Object destructor. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_a25eadd4b2ad1c9c04c4827ee98b52aa2}{begin\+Occlusion\+Query}} ()
\begin{DoxyCompactList}\small\item\em Starts the hardware occlusion query. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_a058005d6ae302bf8fe312cbfe31c3aae}{end\+Occlusion\+Query}} ()
\begin{DoxyCompactList}\small\item\em Ends the hardware occlusion test. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_a95818811808f3175c390e6986e1f4f05}{get\+Last\+Querys\+Pixelcount}} ()
\item 
unsigned int \mbox{\hyperlink{class_ogre_1_1_hardware_occlusion_query_ad1c71c786e262908a3aa805287b815e3}{get\+Last\+Querys\+Pixelcount}} () const
\begin{DoxyCompactList}\small\item\em Let\textquotesingle{}s you get the last pixel count with out doing the hardware occlusion test. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_a1d5f33f82af884851ab3e29b7c5cca0c}{is\+Still\+Outstanding}} (void)
\begin{DoxyCompactList}\small\item\em Lets you know when query is done, or still be processed by the Hardware. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_a21e4304da998fbaa791d9b343b03f294}{pull\+Occlusion\+Query}} (unsigned int $\ast$Num\+Of\+Fragments)
\begin{DoxyCompactList}\small\item\em Pulls the hardware occlusion query. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This is a class that is the Direct\+X9 implementation of hardware occlusion testing. 

\begin{DoxyAuthor}{Author}
Lee Sandberg, email \href{mailto:lee@abcmedia.se}{\texttt{ lee@abcmedia.\+se}}
\end{DoxyAuthor}
Updated on 12/7/2004 by Chris Mc\+Guirk Updated on 4/8/2005 by Tuan Kuranes email\+: \href{mailto:tuan.kuranes@free.fr}{\texttt{ tuan.\+kuranes@free.\+fr}} 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query_af2f609f8488b963340df3c04aedd75d9}\label{class_ogre_1_1_d3_d11_hardware_occlusion_query_af2f609f8488b963340df3c04aedd75d9}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!D3D11HardwareOcclusionQuery@{D3D11HardwareOcclusionQuery}}
\index{D3D11HardwareOcclusionQuery@{D3D11HardwareOcclusionQuery}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{D3D11HardwareOcclusionQuery()}{D3D11HardwareOcclusionQuery()}}
{\footnotesize\ttfamily Ogre\+::\+D3\+D11\+Hardware\+Occlusion\+Query\+::\+D3\+D11\+Hardware\+Occlusion\+Query (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_d3_d11_device}{D3\+D11\+Device}} \&}]{device }\end{DoxyParamCaption})}



Default object constructor. 

\mbox{\Hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query_aa91b896bee07d9259104c4f59db2d152}\label{class_ogre_1_1_d3_d11_hardware_occlusion_query_aa91b896bee07d9259104c4f59db2d152}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!````~D3D11HardwareOcclusionQuery@{$\sim$D3D11HardwareOcclusionQuery}}
\index{````~D3D11HardwareOcclusionQuery@{$\sim$D3D11HardwareOcclusionQuery}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{$\sim$D3D11HardwareOcclusionQuery()}{~D3D11HardwareOcclusionQuery()}}
{\footnotesize\ttfamily Ogre\+::\+D3\+D11\+Hardware\+Occlusion\+Query\+::$\sim$\+D3\+D11\+Hardware\+Occlusion\+Query (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Object destructor. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query_a25eadd4b2ad1c9c04c4827ee98b52aa2}\label{class_ogre_1_1_d3_d11_hardware_occlusion_query_a25eadd4b2ad1c9c04c4827ee98b52aa2}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!beginOcclusionQuery@{beginOcclusionQuery}}
\index{beginOcclusionQuery@{beginOcclusionQuery}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{beginOcclusionQuery()}{beginOcclusionQuery()}}
{\footnotesize\ttfamily void Ogre\+::\+D3\+D11\+Hardware\+Occlusion\+Query\+::begin\+Occlusion\+Query (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Starts the hardware occlusion query. 

\begin{DoxyRemark}{Remarks}
Simple usage\+: Create one or more Occlusion\+Query object one per outstanding query or one per tested object Occlusion\+Query$\ast$ m\+Occlusion\+Query; create\+Occlusion\+Query( \&m\+Occlusion\+Query ); In the rendering loop\+: Draw all occluders m\+Occlusion\+Query-\/$>$start\+Occlusion\+Query(); Draw the polygons to be tested m\+Occlusion\+Query-\/$>$\mbox{\hyperlink{class_ogre_1_1_d3_d11_hardware_occlusion_query_a058005d6ae302bf8fe312cbfe31c3aae}{end\+Occlusion\+Query()}};
\end{DoxyRemark}
Results must be pulled using\+: U\+I\+NT m\+Number\+Of\+Pixels\+Visable; pull\+Occlusion\+Query( \&m\+Number\+Of\+Pixels\+Visable ); 

Implements \mbox{\hyperlink{class_ogre_1_1_hardware_occlusion_query_a40efe70ae4a5877fadd5ef40b2e5fcf3}{Ogre\+::\+Hardware\+Occlusion\+Query}}.

\mbox{\Hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query_a058005d6ae302bf8fe312cbfe31c3aae}\label{class_ogre_1_1_d3_d11_hardware_occlusion_query_a058005d6ae302bf8fe312cbfe31c3aae}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!endOcclusionQuery@{endOcclusionQuery}}
\index{endOcclusionQuery@{endOcclusionQuery}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{endOcclusionQuery()}{endOcclusionQuery()}}
{\footnotesize\ttfamily void Ogre\+::\+D3\+D11\+Hardware\+Occlusion\+Query\+::end\+Occlusion\+Query (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Ends the hardware occlusion test. 



Implements \mbox{\hyperlink{class_ogre_1_1_hardware_occlusion_query_aae324a11ce1f97199024d1ee38a297c2}{Ogre\+::\+Hardware\+Occlusion\+Query}}.

\mbox{\Hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query_a21e4304da998fbaa791d9b343b03f294}\label{class_ogre_1_1_d3_d11_hardware_occlusion_query_a21e4304da998fbaa791d9b343b03f294}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!pullOcclusionQuery@{pullOcclusionQuery}}
\index{pullOcclusionQuery@{pullOcclusionQuery}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{pullOcclusionQuery()}{pullOcclusionQuery()}}
{\footnotesize\ttfamily bool Ogre\+::\+D3\+D11\+Hardware\+Occlusion\+Query\+::pull\+Occlusion\+Query (\begin{DoxyParamCaption}\item[{unsigned int $\ast$}]{Num\+Of\+Fragments }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Pulls the hardware occlusion query. 

\begin{DoxyNote}{Note}
Waits until the query result is available; use is\+Still\+Outstanding if just want to test if the result is available. 
\end{DoxyNote}

\begin{DoxyRetVals}{Return values}
{\em Num\+Of\+Fragments} & will get the resulting number of fragments. \\
\hline
\end{DoxyRetVals}
\begin{DoxyReturn}{Returns}
True if success or false if not. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{class_ogre_1_1_hardware_occlusion_query_ae30ceda53d771c5db266fdcfd14e6c9c}{Ogre\+::\+Hardware\+Occlusion\+Query}}.

\mbox{\Hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query_a95818811808f3175c390e6986e1f4f05}\label{class_ogre_1_1_d3_d11_hardware_occlusion_query_a95818811808f3175c390e6986e1f4f05}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!getLastQuerysPixelcount@{getLastQuerysPixelcount}}
\index{getLastQuerysPixelcount@{getLastQuerysPixelcount}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{getLastQuerysPixelcount()}{getLastQuerysPixelcount()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily unsigned int Ogre\+::\+D3\+D11\+Hardware\+Occlusion\+Query\+::get\+Last\+Querys\+Pixelcount (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_d3_d11_hardware_occlusion_query_a1d5f33f82af884851ab3e29b7c5cca0c}\label{class_ogre_1_1_d3_d11_hardware_occlusion_query_a1d5f33f82af884851ab3e29b7c5cca0c}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!isStillOutstanding@{isStillOutstanding}}
\index{isStillOutstanding@{isStillOutstanding}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{isStillOutstanding()}{isStillOutstanding()}}
{\footnotesize\ttfamily bool Ogre\+::\+D3\+D11\+Hardware\+Occlusion\+Query\+::is\+Still\+Outstanding (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



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

\begin{DoxyReturn}{Returns}
true if query isn\textquotesingle{}t finished. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{class_ogre_1_1_hardware_occlusion_query_abdc85b8e78de55492c8d2d730150e08d}{Ogre\+::\+Hardware\+Occlusion\+Query}}.

\mbox{\Hypertarget{class_ogre_1_1_hardware_occlusion_query_ad1c71c786e262908a3aa805287b815e3}\label{class_ogre_1_1_hardware_occlusion_query_ad1c71c786e262908a3aa805287b815e3}} 
\index{Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}!getLastQuerysPixelcount@{getLastQuerysPixelcount}}
\index{getLastQuerysPixelcount@{getLastQuerysPixelcount}!Ogre::D3D11HardwareOcclusionQuery@{Ogre::D3D11HardwareOcclusionQuery}}
\doxysubsubsection{\texorpdfstring{getLastQuerysPixelcount()}{getLastQuerysPixelcount()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily unsigned int Ogre\+::\+Hardware\+Occlusion\+Query\+::get\+Last\+Querys\+Pixelcount (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Let\textquotesingle{}s you get the last pixel count with out doing the hardware occlusion test. 

\begin{DoxyReturn}{Returns}
The last fragment count from the last test. Remarks This function won\textquotesingle{}t give you new values, just the old value. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_d3_d11_hardware_occlusion_query_8h}{Ogre\+D3\+D11\+Hardware\+Occlusion\+Query.\+h}}\end{DoxyCompactItemize}
