15 #ifndef OSGFX_SPECULARHIGHLIGHTS_
16 #define OSGFX_SPECULARHIGHLIGHTS_
18 #include <osgFX/Export>
19 #include <osgFX/Effect>
40 "Specular Highlights",
42 "This effect applies additive specular highlights at fragment level (instead "
43 "of OpenGL's vertex-level lighting) by using a cube map and reflective texgen. "
44 "A texture matrix is computed to rotate the cube map automatically; this makes "
45 "the specular effect consistent with respect to view direction and light position. "
46 "The user can choose which light should be used to compute the texture matrix.\n"
47 "This effect requires the GL_ARB_texture_env_add extension and one of the cube map "
48 "extensions (GL_EXT_texture_cube_map, GL_ARB_texture_cube_map or OpenGL v1.3).",
54 inline int getLightNumber()
const;
57 inline void setLightNumber(
int n);
60 inline int getTextureUnit()
const;
63 inline void setTextureUnit(
int n);
66 inline const osg::Vec4& getSpecularColor()
const;
69 inline void setSpecularColor(
const osg::Vec4& color);
72 inline float getSpecularExponent()
const;
75 inline void setSpecularExponent(
float e);
81 bool define_techniques();
float getSpecularExponent() const
virtual ~SpecularHighlights()
int getLightNumber() const
#define META_Effect(library, classname, effectname, effectdescription, effectauthor)
SpecularHighlights & operator=(const SpecularHighlights &)
void setSpecularExponent(float e)
void setLightNumber(int n)
int getTextureUnit() const
void setSpecularColor(const osg::Vec4 &color)
const osg::Vec4 & getSpecularColor() const
void setTextureUnit(int n)