OpenSceneGraph/doc/doc++/osgFX/AnisotropicLighting.html
2003-09-10 08:35:16 +00:00

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> &amp;copy, const osg::CopyOp &amp;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>&amp; <B><A HREF="#DOC.2.1.5">operator=</A></B>(const <!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A> &amp;)
<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 &amp;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 &amp;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> &amp;copy, const osg::CopyOp &amp;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>&amp; operator=(const <!1><A HREF="AnisotropicLighting.html">AnisotropicLighting</A> &amp;)</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>