223 lines
12 KiB
HTML
223 lines
12 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>class SG_EXPORT osg::ShadowVolumeOccluder</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
|
|
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::ShadowVolumeOccluder</A></H2></H2><BLOCKQUOTE>ShadowVolumeOccluder is a helper class for implementating shadow occlusion culling.</BLOCKQUOTE>
|
|
<HR>
|
|
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.168.2">ShadowVolumeOccluder</A></B>(const <!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.2">ShadowVolumeOccluder</A>& svo)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.168.3">ShadowVolumeOccluder</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.168.4">operator < </A></B>(const <!1><A HREF="ShadowVolumeOccluder.html">ShadowVolumeOccluder</A>& svo) const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.168.5">computeOccluder</A></B>(const <!1><A HREF="NodePath.html">NodePath</A>& nodePath, const <!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>& occluder, <!1><A HREF="CullStack.html">CullStack</A>& cullStack, bool createDrawables=false)
|
|
<DD><I>compute the shadow volume occluder.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.168.6">matchProjectionMatrix</A></B>(const <!1><A HREF="osg.html#DOC.2.102">osg::Matrix</A>& matrix) const
|
|
<DD><I>return true if the matrix passed in matches the projection matrix that this ShaowVolumeOccluder is associated with</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.168.7">setNodePath</A></B>(<!1><A HREF="NodePath.html">NodePath</A>& nodePath)
|
|
<DD><I>Set the NodePath which describes the which node in the scene graph that this occluder was attached to</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="NodePath.html">NodePath</A>& <B><A HREF="#DOC.2.168.8">getNodePath</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="NodePath.html">NodePath</A>& <B><A HREF="#DOC.2.168.9">getNodePath</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.168.10">getVolume</A></B>() const
|
|
<DD><I>get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing by the volume of the view frustum in eye coords</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Polytope.html">Polytope</A>& <B><A HREF="#DOC.2.168.11">getOccluder</A></B>()
|
|
<DD><I>return the occluder polytope</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Polytope.html">Polytope</A>& <B><A HREF="#DOC.2.168.12">getOccluder</A></B>() const
|
|
<DD><I>return the const occluder polytope</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.1">HoleList</A>& <B><A HREF="#DOC.2.168.13">getHoleList</A></B>()
|
|
<DD><I>return the list of holes</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.1">HoleList</A>& <B><A HREF="#DOC.2.168.14">getHoleList</A></B>() const
|
|
<DD><I>return the const list of holes</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.168.15">contains</A></B>(const std::vector<<!1><A HREF="Vec3.html">Vec3</A>>& vertices)
|
|
<DD><I>return true if the specified vertex list is contaned entirely within this shadow occluder volume</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.168.16">contains</A></B>(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>& bound)
|
|
<DD><I>return true if the specified bounding sphere is contaned entirely within this shadow occluder volume</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.168.17">contains</A></B>(const <!1><A HREF="BoundingBox.html">BoundingBox</A>& bound)
|
|
<DD><I>return true if the specified bounding box is contained entirely within this shadow occluder volume</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.168.18">transformProvidingInverse</A></B>(const <!1><A HREF="osg.html#DOC.2.102">osg::Matrix</A>& matrix)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.168.24">disableResultMasks</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.168.25">pushCurrentMask</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.168.26">popCurrentMask</A></B>()
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector<<!1><A HREF="Polytope.html">Polytope</A>> <B><A HREF="#DOC.2.168.1">HoleList</A></B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.168.19">_volume</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="NodePath.html">NodePath</A> <B><A HREF="#DOC.2.168.20">_nodePath</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><const <!1><A HREF="osg.html#DOC.2.103">RefMatrix</A>> <B><A HREF="#DOC.2.168.21">_projectionMatrix</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Polytope.html">Polytope</A> <B><A HREF="#DOC.2.168.22">_occluderVolume</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.1">HoleList</A> <B><A HREF="#DOC.2.168.23">_holeList</A></B>
|
|
</DL></P>
|
|
|
|
</DL>
|
|
|
|
<A NAME="DOC.DOCU"></A>
|
|
<HR>
|
|
<H2>Documentation</H2>
|
|
<BLOCKQUOTE>ShadowVolumeOccluder is a helper class for implementating shadow occlusion culling. </BLOCKQUOTE>
|
|
<DL>
|
|
|
|
<A NAME="HoleList"></A>
|
|
<A NAME="DOC.2.168.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector<<!1><A HREF="Polytope.html">Polytope</A>> HoleList</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="ShadowVolumeOccluder"></A>
|
|
<A NAME="DOC.2.168.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ShadowVolumeOccluder(const <!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.2">ShadowVolumeOccluder</A>& svo)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="ShadowVolumeOccluder"></A>
|
|
<A NAME="DOC.2.168.3"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ShadowVolumeOccluder()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="operator < "></A>
|
|
<A NAME="DOC.2.168.4"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator < (const <!1><A HREF="ShadowVolumeOccluder.html">ShadowVolumeOccluder</A>& svo) const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="computeOccluder"></A>
|
|
<A NAME="DOC.2.168.5"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool computeOccluder(const <!1><A HREF="NodePath.html">NodePath</A>& nodePath, const <!1><A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A>& occluder, <!1><A HREF="CullStack.html">CullStack</A>& cullStack, bool createDrawables=false)</B></TT>
|
|
<DD>compute the shadow volume occluder.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="matchProjectionMatrix"></A>
|
|
<A NAME="DOC.2.168.6"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchProjectionMatrix(const <!1><A HREF="osg.html#DOC.2.102">osg::Matrix</A>& matrix) const </B></TT>
|
|
<DD>return true if the matrix passed in matches the projection matrix that this ShaowVolumeOccluder is
|
|
associated with
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setNodePath"></A>
|
|
<A NAME="DOC.2.168.7"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setNodePath(<!1><A HREF="NodePath.html">NodePath</A>& nodePath)</B></TT>
|
|
<DD>Set the NodePath which describes the which node in the scene graph
|
|
that this occluder was attached to
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getNodePath"></A>
|
|
<A NAME="DOC.2.168.8"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="NodePath.html">NodePath</A>& getNodePath()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getNodePath"></A>
|
|
<A NAME="DOC.2.168.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="NodePath.html">NodePath</A>& getNodePath() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getVolume"></A>
|
|
<A NAME="DOC.2.168.10"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getVolume() const </B></TT>
|
|
<DD>get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing by
|
|
the volume of the view frustum in eye coords
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getOccluder"></A>
|
|
<A NAME="DOC.2.168.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Polytope.html">Polytope</A>& getOccluder()</B></TT>
|
|
<DD>return the occluder polytope
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getOccluder"></A>
|
|
<A NAME="DOC.2.168.12"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Polytope.html">Polytope</A>& getOccluder() const </B></TT>
|
|
<DD>return the const occluder polytope
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getHoleList"></A>
|
|
<A NAME="DOC.2.168.13"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.1">HoleList</A>& getHoleList()</B></TT>
|
|
<DD>return the list of holes
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getHoleList"></A>
|
|
<A NAME="DOC.2.168.14"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.1">HoleList</A>& getHoleList() const </B></TT>
|
|
<DD>return the const list of holes
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="contains"></A>
|
|
<A NAME="DOC.2.168.15"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool contains(const std::vector<<!1><A HREF="Vec3.html">Vec3</A>>& vertices)</B></TT>
|
|
<DD>return true if the specified vertex list is contaned entirely
|
|
within this shadow occluder volume
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="contains"></A>
|
|
<A NAME="DOC.2.168.16"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool contains(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>& bound)</B></TT>
|
|
<DD>return true if the specified bounding sphere is contaned entirely
|
|
within this shadow occluder volume
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="contains"></A>
|
|
<A NAME="DOC.2.168.17"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool contains(const <!1><A HREF="BoundingBox.html">BoundingBox</A>& bound)</B></TT>
|
|
<DD>return true if the specified bounding box is contained entirely
|
|
within this shadow occluder volume
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="transformProvidingInverse"></A>
|
|
<A NAME="DOC.2.168.18"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void transformProvidingInverse(const <!1><A HREF="osg.html#DOC.2.102">osg::Matrix</A>& matrix)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_volume"></A>
|
|
<A NAME="DOC.2.168.19"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _volume</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_nodePath"></A>
|
|
<A NAME="DOC.2.168.20"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodePath.html">NodePath</A> _nodePath</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_projectionMatrix"></A>
|
|
<A NAME="DOC.2.168.21"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A><const <!1><A HREF="osg.html#DOC.2.103">RefMatrix</A>> _projectionMatrix</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_occluderVolume"></A>
|
|
<A NAME="DOC.2.168.22"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Polytope.html">Polytope</A> _occluderVolume</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_holeList"></A>
|
|
<A NAME="DOC.2.168.23"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ShadowVolumeOccluder.html#DOC.2.168.1">HoleList</A> _holeList</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="disableResultMasks"></A>
|
|
<A NAME="DOC.2.168.24"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void disableResultMasks()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="pushCurrentMask"></A>
|
|
<A NAME="DOC.2.168.25"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void pushCurrentMask()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="popCurrentMask"></A>
|
|
<A NAME="DOC.2.168.26"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void popCurrentMask()</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
|
|
<HR><DL><DT><B>This class has no child classes.</B></DL>
|
|
|
|
<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
|
|
<BR>
|
|
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
|
|
</BODY>
|
|
</HTML>
|