15#ifndef OSGFX_ANISOTROPICLIGHTING_
16#define OSGFX_ANISOTROPICLIGHTING_
48 "Anisotropic Lighting",
50 "This single-pass effect implements a sort of anisotropic "
51 "lighting that replaces the standard OpenGL lighting model.\n"
52 "The final color of vertices is not computed directly, it is "
53 "the result of a texture lookup on a user-supplied lighting "
54 "image map. A vertex program is used to compute the s and t "
55 "texture coordinates as follows: s = (N dot H) ; t = (N dot L) "
56 "where N is the vertex normal, L is the light-to-vertex vector, "
57 "H is the half-way vector. This is a good example of how you "
58 "can use the State::getInitialViewMatrix() method to retrieve "
59 "the view matrix and perform view-dependant effects without "
60 "fakes of any kind.\n"
61 "This effect requires the ARB_vertex_program extension.",
96 return _texture->getImage();
101 return _texture->getImage();
The osgFX library is a NodeKit that extends the core scene graph to provide a special effects framewo...
Definition AnisotropicLighting:25
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Image class for encapsulating the storage texture image data.
Definition Image:179
virtual void setImage(int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char *data, AllocationMode mode, int packing=1, int rowLength=0)
Set the image dimensions, format and data.
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
void setLightNumber(int n)
set the OpenGL light number that will be used in lighting computations
Definition AnisotropicLighting:114
virtual ~AnisotropicLighting()
Definition AnisotropicLighting:82
void setLightingMap(osg::Image *image)
set the lighting map
Definition AnisotropicLighting:104
META_Effect(osgFX, AnisotropicLighting, "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")
bool define_techniques()
abstract method to be implemented in derived classes; its purpose if to create the techniques that ca...
AnisotropicLighting(const AnisotropicLighting ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
int getLightNumber() const
get the OpenGL light number
Definition AnisotropicLighting:109
AnisotropicLighting & operator=(const AnisotropicLighting &)
Definition AnisotropicLighting:83
osg::Image * getLightingMap()
get the lighting map
Definition AnisotropicLighting:94
void dirtyTechniques()
force rebuilding of techniques on next traversal
Definition Effect:207
#define OSGFX_EXPORT
Definition Export:27