181 lines
9.3 KiB
HTML
181 lines
9.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>class OSGFX_EXPORT osgFX::AnisotropicLighting</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
|
|
<H2>class OSGFX_EXPORT <A HREF="#DOC.DOCU">osgFX::AnisotropicLighting</A></H2></H2><BLOCKQUOTE> This single-pass effect implements a sort of anisotropic lighting that replaces the standard OpenGL lighting model.</BLOCKQUOTE>
|
|
<HR>
|
|
|
|
<H2>Inheritance:</H2>
|
|
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
|
|
<param name=classes value="Mosg::Group,M,CEffect,MEffect.html,CAnisotropicLighting,MAnisotropicLighting.html">
|
|
<param name=before value="M,M,M">
|
|
<param name=after value="Md_SP,Md_,M">
|
|
<param name=indent value="0,1,2">
|
|
<param name=arrowdir value="down">
|
|
</APPLET>
|
|
<HR>
|
|
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.1.1">AnisotropicLighting</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.1.2">AnisotropicLighting</A></B>(const <!1><A HREF="AnisotropicLighting.html#DOC.2.1.2">AnisotropicLighting</A> &copy, const osg::CopyOp &copyop = osg::CopyOp::SHALLOW_COPY)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.1.3">META_Effect</A></B>(<!1><A HREF="osgFX.html">osgFX</A>, <!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A>, "Anisotropic Lighting", "This single-pass effect implements a sort of anisotropic " "lighting that replaces the standard OpenGL lighting model.\n" "The final color of vertices is not computed directly, it is " "the result of a texture lookup on a user-supplied lighting " "image map. A vertex program is used to compute the s and t " "texture coordinates as follows: s = (N dot H) ; t = (N dot L) " "where N is the vertex normal, L is the light-to-vertex vector, " "H is the half-way vector. This is a good example of how you " "can use the State::getInitialViewMatrix() method to retrieve " "the view matrix and perform view-dependant effects without " "fakes of any kind.\n" "This effect requires the ARB_vertex_program extension.", "Marco Jez")
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline osg::Image* <B><A HREF="#DOC.2.1.9">getLightingMap</A></B>()
|
|
<DD><I>get the lighting map </I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const osg::Image* <B><A HREF="#DOC.2.1.10">getLightingMap</A></B>() const
|
|
<DD><I>get the const lighting map </I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.1.11">setLightingMap</A></B>(osg::Image* image)
|
|
<DD><I>set the lighting map </I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline int <B><A HREF="#DOC.2.1.12">getLightNumber</A></B>() const
|
|
<DD><I>get the OpenGL light number </I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.1.13">setLightNumber</A></B>(int n)
|
|
<DD><I>set the OpenGL light number that will be used in lighting computations </I>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Methods</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.1.4">~AnisotropicLighting</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A>& <B><A HREF="#DOC.2.1.5">operator=</A></B>(const <!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A> &)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.1.6">define_techniques</A></B>()
|
|
</DL></P>
|
|
|
|
</DL>
|
|
<HR><H3>Inherited from <A HREF="Effect.html">Effect</A>:</H3>
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual inline bool <B>isSameKindAs</B>(const osg::Object* obj) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual inline const char* <B>libraryName</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual inline const char* <B>className</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>effectName</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>effectDescription</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>effectAuthor</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline virtual void <B>setUpDemo</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual void <B>traverse</B>(osg::NodeVisitor &nv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getEnabled</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setEnabled</B>(bool v)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline int <B>getNumTechniques</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Technique.html">Technique</A>* <B>getTechnique</B>(int i)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Technique.html">Technique</A>* <B>getTechnique</B>(int i) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline int <B>getSelectedTechnique</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>selectTechnique</B>(int i)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>addTechnique</B>(<!1><A HREF="Technique.html">Technique</A>* tech)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>dirtyTechniques</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>inherited_traverse</B>(osg::NodeVisitor &nv)
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>enum <B>TechniqueSelection</B>
|
|
</DL></P>
|
|
|
|
</DL>
|
|
|
|
<A NAME="DOC.DOCU"></A>
|
|
<HR>
|
|
<H2>Documentation</H2>
|
|
<BLOCKQUOTE>
|
|
This single-pass effect implements a sort of anisotropic
|
|
lighting that replaces the standard OpenGL lighting model.
|
|
The final color of vertices is not computed directly, it is
|
|
the result of a texture lookup on a user-supplied lighting
|
|
image map. A vertex program is used to compute the s and t
|
|
texture coordinates as follows: s = (N dot H) ; t = (N dot L)
|
|
where N is the vertex normal, L is the light-to-vertex vector,
|
|
H is the half-way vector. This is a good example of how you
|
|
can use the State::getInitialViewMatrix() method to retrieve
|
|
the view matrix and perform view-dependant effects without
|
|
fakes of any kind.
|
|
This effect requires the ARB_vertex_program extension.</BLOCKQUOTE>
|
|
<DL>
|
|
|
|
<A NAME="AnisotropicLighting"></A>
|
|
<A NAME="DOC.2.1.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AnisotropicLighting()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="AnisotropicLighting"></A>
|
|
<A NAME="DOC.2.1.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AnisotropicLighting(const <!1><A HREF="AnisotropicLighting.html#DOC.2.1.2">AnisotropicLighting</A> &copy, const osg::CopyOp &copyop = osg::CopyOp::SHALLOW_COPY)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="META_Effect"></A>
|
|
<A NAME="DOC.2.1.3"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_Effect(<!1><A HREF="osgFX.html">osgFX</A>, <!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A>, "Anisotropic Lighting", "This single-pass effect implements a sort of anisotropic " "lighting that replaces the standard OpenGL lighting model.\n" "The final color of vertices is not computed directly, it is " "the result of a texture lookup on a user-supplied lighting " "image map. A vertex program is used to compute the s and t " "texture coordinates as follows: s = (N dot H) ; t = (N dot L) " "where N is the vertex normal, L is the light-to-vertex vector, " "H is the half-way vector. This is a good example of how you " "can use the State::getInitialViewMatrix() method to retrieve " "the view matrix and perform view-dependant effects without " "fakes of any kind.\n" "This effect requires the ARB_vertex_program extension.", "Marco Jez")</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="~AnisotropicLighting"></A>
|
|
<A NAME="DOC.2.1.4"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~AnisotropicLighting()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="operator="></A>
|
|
<A NAME="DOC.2.1.5"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A>& operator=(const <!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A> &)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="define_techniques"></A>
|
|
<A NAME="DOC.2.1.6"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool define_techniques()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getLightingMap"></A>
|
|
<A NAME="DOC.2.1.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline osg::Image* getLightingMap()</B></TT>
|
|
<DD>get the lighting map
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getLightingMap"></A>
|
|
<A NAME="DOC.2.1.10"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const osg::Image* getLightingMap() const </B></TT>
|
|
<DD>get the const lighting map
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setLightingMap"></A>
|
|
<A NAME="DOC.2.1.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setLightingMap(osg::Image* image)</B></TT>
|
|
<DD>set the lighting map
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getLightNumber"></A>
|
|
<A NAME="DOC.2.1.12"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline int getLightNumber() const </B></TT>
|
|
<DD>get the OpenGL light number
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setLightNumber"></A>
|
|
<A NAME="DOC.2.1.13"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setLightNumber(int n)</B></TT>
|
|
<DD>set the OpenGL light number that will be used in lighting computations
|
|
<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>
|