15 #ifndef OSGFX_CARTOON_
16 #define OSGFX_CARTOON_
18 #include <osgFX/Export>
19 #include <osgFX/Effect>
21 #include <osg/Material>
22 #include <osg/LineWidth>
47 "This effect implements a technique called 'Cel-Shading' to produce a "
48 "cartoon-style (non photorealistic) rendering. Two passes are required: "
49 "the first one draws solid surfaces, the second one draws the outlines. "
50 "A vertex program is used to setup texture coordinates for a sharp lighting "
51 "texture on unit 0 which is generated on-the-fly.\n"
52 "This effect requires the ARB_vertex_program extension "
53 "or OpenGL Shading Language.",
55 "Marco Jez; OGLSL port by Mike Weiblen");
58 inline const osg::Vec4& getOutlineColor()
const;
61 inline void setOutlineColor(
const osg::Vec4& color);
64 inline float getOutlineLineWidth()
const;
67 inline void setOutlineLineWidth(
float w);
70 inline int getLightNumber()
const;
73 inline void setLightNumber(
int n);
79 bool define_techniques();
float getOutlineLineWidth() const
void setOutlineColor(const osg::Vec4 &color)
int getLightNumber() const
#define META_Effect(library, classname, effectname, effectdescription, effectauthor)
void setLightNumber(int n)
void setEmission(Face face, const Vec4 &emission)
const Vec4 & getEmission(Face face) const
void setWidth(float width)
void setOutlineLineWidth(float w)
const osg::Vec4 & getOutlineColor() const
Cartoon & operator=(const Cartoon &)