Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/freestyle/intern/stroke/BasicStrokeShaders.h')
-rw-r--r--source/blender/freestyle/intern/stroke/BasicStrokeShaders.h974
1 files changed, 484 insertions, 490 deletions
diff --git a/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h b/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h
index 55f393c03df..e128817ffa5 100644
--- a/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h
+++ b/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h
@@ -51,32 +51,33 @@ namespace StrokeShaders {
/*! [ Thickness Shader ].
* Assigns an absolute constant thickness to every vertices of the Stroke.
*/
-class ConstantThicknessShader : public StrokeShader
-{
-public:
- /*! Builds the shader.
- * \param thickness:
- * The thickness that must be assigned to the stroke.
- */
- ConstantThicknessShader(float thickness) : StrokeShader()
- {
- _thickness = thickness;
- }
-
- /*! Destructor. */
- virtual ~ConstantThicknessShader() {}
-
- /*! Returns the string "ConstantThicknessShader".*/
- virtual string getName() const
- {
- return "ConstantThicknessShader";
- }
-
- /*! The shading method. */
- virtual int shade(Stroke& stroke) const;
-
-private:
- float _thickness;
+class ConstantThicknessShader : public StrokeShader {
+ public:
+ /*! Builds the shader.
+ * \param thickness:
+ * The thickness that must be assigned to the stroke.
+ */
+ ConstantThicknessShader(float thickness) : StrokeShader()
+ {
+ _thickness = thickness;
+ }
+
+ /*! Destructor. */
+ virtual ~ConstantThicknessShader()
+ {
+ }
+
+ /*! Returns the string "ConstantThicknessShader".*/
+ virtual string getName() const
+ {
+ return "ConstantThicknessShader";
+ }
+
+ /*! The shading method. */
+ virtual int shade(Stroke &stroke) const;
+
+ private:
+ float _thickness;
};
/* [ Thickness Shader ].
@@ -84,25 +85,26 @@ private:
* is its thickness from the point to the strip border in the direction pointing outside the object the
* Stroke delimitates.
*/
-class ConstantExternThicknessShader : public StrokeShader
-{
-public:
- ConstantExternThicknessShader(float thickness) : StrokeShader()
- {
- _thickness = thickness;
- }
-
- virtual ~ConstantExternThicknessShader() {}
-
- virtual string getName() const
- {
- return "ConstantExternThicknessShader";
- }
-
- virtual int shade(Stroke& stroke) const;
-
-private:
- float _thickness;
+class ConstantExternThicknessShader : public StrokeShader {
+ public:
+ ConstantExternThicknessShader(float thickness) : StrokeShader()
+ {
+ _thickness = thickness;
+ }
+
+ virtual ~ConstantExternThicknessShader()
+ {
+ }
+
+ virtual string getName() const
+ {
+ return "ConstantExternThicknessShader";
+ }
+
+ virtual int shade(Stroke &stroke) const;
+
+ private:
+ float _thickness;
};
/*! [ Thickness Shader ].
@@ -111,139 +113,140 @@ private:
* and the last vertex.
* The thickness is linearly interpolated from A to B.
*/
-class IncreasingThicknessShader : public StrokeShader
-{
-public:
- /*! Builds the shader.
- * \param iThicknessMin:
- * The first thickness value.
- * \param iThicknessMax:
- * The second thickness value.
- */
- IncreasingThicknessShader(float iThicknessMin, float iThicknessMax) : StrokeShader()
- {
- _ThicknessMin = iThicknessMin;
- _ThicknessMax = iThicknessMax;
- }
-
- /*! Destructor.*/
- virtual ~IncreasingThicknessShader() {}
-
- virtual string getName() const
- {
- return "IncreasingThicknessShader";
- }
-
- /*! The shading method. */
- virtual int shade(Stroke& stroke) const;
-
-private:
- float _ThicknessMin;
- float _ThicknessMax;
+class IncreasingThicknessShader : public StrokeShader {
+ public:
+ /*! Builds the shader.
+ * \param iThicknessMin:
+ * The first thickness value.
+ * \param iThicknessMax:
+ * The second thickness value.
+ */
+ IncreasingThicknessShader(float iThicknessMin, float iThicknessMax) : StrokeShader()
+ {
+ _ThicknessMin = iThicknessMin;
+ _ThicknessMax = iThicknessMax;
+ }
+
+ /*! Destructor.*/
+ virtual ~IncreasingThicknessShader()
+ {
+ }
+
+ virtual string getName() const
+ {
+ return "IncreasingThicknessShader";
+ }
+
+ /*! The shading method. */
+ virtual int shade(Stroke &stroke) const;
+
+ private:
+ float _ThicknessMin;
+ float _ThicknessMax;
};
/*! [ Thickness shader ].
* Same as previous but here we allow the user to control the ratio thickness/length so that we don't get
* fat short lines
*/
-class ConstrainedIncreasingThicknessShader : public StrokeShader
-{
-private:
- float _ThicknessMin;
- float _ThicknessMax;
- float _ratio;
-
-public:
- /*! Builds the shader.
- * \param iThicknessMin:
- * The first thickness value.
- * \param iThicknessMax:
- * The second thickness value.
- * \param iRatio:
- * The ration thickness/length we don't want to exceed.
- */
- ConstrainedIncreasingThicknessShader(float iThicknessMin, float iThicknessMax, float iRatio) : StrokeShader()
- {
- _ThicknessMin = iThicknessMin;
- _ThicknessMax = iThicknessMax;
- _ratio = iRatio;
- }
-
- /*! Destructor.*/
- virtual ~ConstrainedIncreasingThicknessShader() {}
-
- virtual string getName() const
- {
- return "ConstrainedIncreasingThicknessShader";
- }
-
- /*! The shading method. */
- virtual int shade(Stroke& stroke) const;
+class ConstrainedIncreasingThicknessShader : public StrokeShader {
+ private:
+ float _ThicknessMin;
+ float _ThicknessMax;
+ float _ratio;
+
+ public:
+ /*! Builds the shader.
+ * \param iThicknessMin:
+ * The first thickness value.
+ * \param iThicknessMax:
+ * The second thickness value.
+ * \param iRatio:
+ * The ration thickness/length we don't want to exceed.
+ */
+ ConstrainedIncreasingThicknessShader(float iThicknessMin, float iThicknessMax, float iRatio)
+ : StrokeShader()
+ {
+ _ThicknessMin = iThicknessMin;
+ _ThicknessMax = iThicknessMax;
+ _ratio = iRatio;
+ }
+
+ /*! Destructor.*/
+ virtual ~ConstrainedIncreasingThicknessShader()
+ {
+ }
+
+ virtual string getName() const
+ {
+ return "ConstrainedIncreasingThicknessShader";
+ }
+
+ /*! The shading method. */
+ virtual int shade(Stroke &stroke) const;
};
/* [ Thickness Shader ].
* Modifys the thickness in a relative way depending on its length.
*/
-class LengthDependingThicknessShader : public StrokeShader
-{
-private:
- float _minThickness;
- float _maxThickness;
- // We divide the strokes in 4 categories:
- // l > 300
- // 100 < l < 300
- // 50 < l < 100
- // l < 50
-
-public:
- LengthDependingThicknessShader(float iMinThickness, float iMaxThickness) : StrokeShader()
- {
- _minThickness = iMinThickness;
- _maxThickness = iMaxThickness;
- }
-
- virtual ~LengthDependingThicknessShader() {}
-
- virtual string getName() const
- {
- return "LengthDependingThicknessShader";
- }
-
- virtual int shade(Stroke& stroke) const;
+class LengthDependingThicknessShader : public StrokeShader {
+ private:
+ float _minThickness;
+ float _maxThickness;
+ // We divide the strokes in 4 categories:
+ // l > 300
+ // 100 < l < 300
+ // 50 < l < 100
+ // l < 50
+
+ public:
+ LengthDependingThicknessShader(float iMinThickness, float iMaxThickness) : StrokeShader()
+ {
+ _minThickness = iMinThickness;
+ _maxThickness = iMaxThickness;
+ }
+
+ virtual ~LengthDependingThicknessShader()
+ {
+ }
+
+ virtual string getName() const
+ {
+ return "LengthDependingThicknessShader";
+ }
+
+ virtual int shade(Stroke &stroke) const;
};
-
/*! [ Thickness Shader ].
* Adds some noise to the stroke thickness.
* \see \htmlonly <a href=noise/noise.html>noise/noise.html</a>\endhtmlonly
*/
-class ThicknessNoiseShader : public StrokeShader
-{
-private:
- float _amplitude;
- float _scale;
-
-public:
- ThicknessNoiseShader();
-
- /*! Builds a Thickness Noise Shader
- * \param iAmplitude:
- * The amplitude of the noise signal
- * \param iPeriod:
- * The period of the noise signal
- */
- ThicknessNoiseShader(float iAmplitude, float iPeriod);
-
- virtual string getName() const
- {
- return "ThicknessNoiseShader";
- }
-
- /*! The shading method. */
- virtual int shade(Stroke& stroke) const;
+class ThicknessNoiseShader : public StrokeShader {
+ private:
+ float _amplitude;
+ float _scale;
+
+ public:
+ ThicknessNoiseShader();
+
+ /*! Builds a Thickness Noise Shader
+ * \param iAmplitude:
+ * The amplitude of the noise signal
+ * \param iPeriod:
+ * The period of the noise signal
+ */
+ ThicknessNoiseShader(float iAmplitude, float iPeriod);
+
+ virtual string getName() const
+ {
+ return "ThicknessNoiseShader";
+ }
+
+ /*! The shading method. */
+ virtual int shade(Stroke &stroke) const;
};
-
//
// Color shaders
//
@@ -251,37 +254,36 @@ public:
/*! [ Color Shader ].
* Assigns a constant color to every vertices of the Stroke.
*/
-class ConstantColorShader : public StrokeShader
-{
-public:
- /*! Builds the shader from a user-specified color.
- * \param iR:
- * The red component
- * \param iG:
- * The green component
- * \param iB:
- * The blue component
- * \param iAlpha:
- * The alpha value
- */
- ConstantColorShader(float iR, float iG, float iB, float iAlpha = 1.0f) : StrokeShader()
- {
- _color[0] = iR;
- _color[1] = iG;
- _color[2] = iB;
- _color[3] = iAlpha;
- }
-
- virtual string getName() const
- {
- return "ConstantColorShader";
- }
-
- /*! The shading method. */
- virtual int shade(Stroke& stroke) const;
-
-private:
- float _color[4];
+class ConstantColorShader : public StrokeShader {
+ public:
+ /*! Builds the shader from a user-specified color.
+ * \param iR:
+ * The red component
+ * \param iG:
+ * The green component
+ * \param iB:
+ * The blue component
+ * \param iAlpha:
+ * The alpha value
+ */
+ ConstantColorShader(float iR, float iG, float iB, float iAlpha = 1.0f) : StrokeShader()
+ {
+ _color[0] = iR;
+ _color[1] = iG;
+ _color[2] = iB;
+ _color[3] = iAlpha;
+ }
+
+ virtual string getName() const
+ {
+ return "ConstantColorShader";
+ }
+
+ /*! The shading method. */
+ virtual int shade(Stroke &stroke) const;
+
+ private:
+ float _color[4];
};
/*! [ Color Shader ].
@@ -289,104 +291,107 @@ private:
* The user specifies 2 colors A and B. The stroke color will change linearly from A to B between the
* first and the last vertex.
*/
-class IncreasingColorShader : public StrokeShader
-{
-private:
- float _colorMin[4];
- float _colorMax[4];
-
-public:
- /*! Builds the shader from 2 user-specified colors.
- * \param iRm:
- * The first color red component
- * \param iGm:
- * The first color green component
- * \param iBm:
- * The first color blue component
- * \param iAlpham:
- * The first color alpha value
- * \param iRM:
- * The second color red component
- * \param iGM:
- * The second color green component
- * \param iBM:
- * The second color blue component
- * \param iAlphaM:
- * The second color alpha value
- */
- IncreasingColorShader(float iRm, float iGm, float iBm, float iAlpham,
- float iRM, float iGM, float iBM, float iAlphaM)
- : StrokeShader()
- {
- _colorMin[0] = iRm;
- _colorMin[1] = iGm;
- _colorMin[2] = iBm;
- _colorMin[3] = iAlpham;
-
- _colorMax[0] = iRM;
- _colorMax[1] = iGM;
- _colorMax[2] = iBM;
- _colorMax[3] = iAlphaM;
- }
-
- virtual string getName() const
- {
- return "IncreasingColorShader";
- }
-
- /*! The shading method. */
- virtual int shade(Stroke& stroke) const;
+class IncreasingColorShader : public StrokeShader {
+ private:
+ float _colorMin[4];
+ float _colorMax[4];
+
+ public:
+ /*! Builds the shader from 2 user-specified colors.
+ * \param iRm:
+ * The first color red component
+ * \param iGm:
+ * The first color green component
+ * \param iBm:
+ * The first color blue component
+ * \param iAlpham:
+ * The first color alpha value
+ * \param iRM:
+ * The second color red component
+ * \param iGM:
+ * The second color green component
+ * \param iBM:
+ * The second color blue component
+ * \param iAlphaM:
+ * The second color alpha value
+ */
+ IncreasingColorShader(float iRm,
+ float iGm,
+ float iBm,
+ float iAlpham,
+ float iRM,
+ float iGM,
+ float iBM,
+ float iAlphaM)
+ : StrokeShader()
+ {
+ _colorMin[0] = iRm;
+ _colorMin[1] = iGm;
+ _colorMin[2] = iBm;
+ _colorMin[3] = iAlpham;
+
+ _colorMax[0] = iRM;
+ _colorMax[1] = iGM;
+ _colorMax[2] = iBM;
+ _colorMax[3] = iAlphaM;
+ }
+
+ virtual string getName() const
+ {
+ return "IncreasingColorShader";
+ }
+
+ /*! The shading method. */
+ virtual int shade(Stroke &stroke) const;
};
/* [ Color Shader ].
* Assigns a color to the stroke depending on the material of the shape to which ot belongs to. (Disney shader)
*/
-class MaterialColorShader : public StrokeShader
-{
-private:
- float _coefficient;
-
-public:
- MaterialColorShader(float coeff = 1.0f) : StrokeShader()
- {
- _coefficient = coeff;
- }
-
- virtual string getName() const
- {
- return "MaterialColorShader";
- }
-
- virtual int shade(Stroke& stroke) const;
+class MaterialColorShader : public StrokeShader {
+ private:
+ float _coefficient;
+
+ public:
+ MaterialColorShader(float coeff = 1.0f) : StrokeShader()
+ {
+ _coefficient = coeff;
+ }
+
+ virtual string getName() const
+ {
+ return "MaterialColorShader";
+ }
+
+ virtual int shade(Stroke &stroke) const;
};
/*! [ Color Shader ].
* Shader to add noise to the stroke colors.
*/
-class ColorNoiseShader : public StrokeShader
-{
-private:
- float _amplitude;
- float _scale;
-
-public:
- ColorNoiseShader();
-
- /*! Builds a Color Noise Shader
- * \param iAmplitude:
- * The amplitude of the noise signal
- * \param iPeriod:
- * The period of the noise signal
- */
- ColorNoiseShader(float iAmplitude, float iPeriod);
-
- virtual string getName() const
- {
- return "ColorNoiseShader";
- }
-
- /*! The shading method. */
- virtual int shade(Stroke& stroke) const;
+class ColorNoiseShader : public StrokeShader {
+ private:
+ float _amplitude;
+ float _scale;
+
+ public:
+ ColorNoiseShader();
+
+ /*! Builds a Color Noise Shader
+ * \param iAmplitude:
+ * The amplitude of the noise signal
+ * \param iPeriod:
+ * The period of the noise signal
+ */
+ ColorNoiseShader(float iAmplitude, float iPeriod);
+
+ virtual string getName() const
+ {
+ return "ColorNoiseShader";
+ }
+
+ /*! The shading method. */
+ virtual int shade(Stroke &stroke) const;
};
//
@@ -396,271 +401,260 @@ public:
/*! [ Geometry Shader ].
* Stretches the stroke at its two extremities and following the respective directions: v(1)v(0) and v(n-1)v(n).
*/
-class BackboneStretcherShader : public StrokeShader
-{
-private:
- float _amount;
-
-public:
- /*! Builds the shader.
- * \param iAmount:
- * The stretching amount value.
- */
- BackboneStretcherShader(float iAmount = 2.0f) : StrokeShader()
- {
- _amount = iAmount;
- }
-
- virtual string getName() const
- {
- return "BackboneStretcherShader";
- }
-
- /*! The shading method */
- virtual int shade(Stroke& stroke) const;
+class BackboneStretcherShader : public StrokeShader {
+ private:
+ float _amount;
+
+ public:
+ /*! Builds the shader.
+ * \param iAmount:
+ * The stretching amount value.
+ */
+ BackboneStretcherShader(float iAmount = 2.0f) : StrokeShader()
+ {
+ _amount = iAmount;
+ }
+
+ virtual string getName() const
+ {
+ return "BackboneStretcherShader";
+ }
+
+ /*! The shading method */
+ virtual int shade(Stroke &stroke) const;
};
/*! [ Geometry Shader. ]
* Resamples the stroke.
* \see Stroke::Resample(float).
*/
-class SamplingShader: public StrokeShader
-{
-private:
- float _sampling;
-
-public:
- /*! Builds the shader.
- * \param sampling:
- * The sampling to use for the stroke resampling
- */
- SamplingShader(float sampling) : StrokeShader()
- {
- _sampling = sampling;
- }
-
- virtual string getName() const
- {
- return "SamplingShader";
- }
-
- /*! The shading method */
- virtual int shade(Stroke& stroke) const;
+class SamplingShader : public StrokeShader {
+ private:
+ float _sampling;
+
+ public:
+ /*! Builds the shader.
+ * \param sampling:
+ * The sampling to use for the stroke resampling
+ */
+ SamplingShader(float sampling) : StrokeShader()
+ {
+ _sampling = sampling;
+ }
+
+ virtual string getName() const
+ {
+ return "SamplingShader";
+ }
+
+ /*! The shading method */
+ virtual int shade(Stroke &stroke) const;
};
+class ExternalContourStretcherShader : public StrokeShader {
+ private:
+ float _amount;
-class ExternalContourStretcherShader : public StrokeShader
-{
-private:
- float _amount;
-
-public:
- ExternalContourStretcherShader(float iAmount = 2.0f) : StrokeShader()
- {
- _amount = iAmount;
- }
+ public:
+ ExternalContourStretcherShader(float iAmount = 2.0f) : StrokeShader()
+ {
+ _amount = iAmount;
+ }
- virtual string getName() const
- {
- return "ExternalContourStretcherShader";
- }
+ virtual string getName() const
+ {
+ return "ExternalContourStretcherShader";
+ }
- virtual int shade(Stroke& stroke) const;
+ virtual int shade(Stroke &stroke) const;
};
-
// Bezier curve stroke shader
/*! [ Geometry Shader ].
* Transforms the stroke backbone geometry so that it corresponds to a Bezier Curve approximation of the
* original backbone geometry.
* \see \htmlonly <a href=bezier/bezier.html>bezier/bezier.html</a> \endhtmlonly
*/
-class BezierCurveShader : public StrokeShader
-{
-private:
- float _error;
-
-public:
- /*! Builds the shader.
- * \param error:
- * The error we're allowing for the approximation.
- * This error is the max distance allowed between the new curve and the original geometry.
- */
- BezierCurveShader(float error = 4.0) : StrokeShader()
- {
- _error = error;
- }
-
- virtual string getName() const
- {
- return "BezierCurveShader";
- }
-
- /*! The shading method */
- virtual int shade(Stroke& stroke) const;
+class BezierCurveShader : public StrokeShader {
+ private:
+ float _error;
+
+ public:
+ /*! Builds the shader.
+ * \param error:
+ * The error we're allowing for the approximation.
+ * This error is the max distance allowed between the new curve and the original geometry.
+ */
+ BezierCurveShader(float error = 4.0) : StrokeShader()
+ {
+ _error = error;
+ }
+
+ virtual string getName() const
+ {
+ return "BezierCurveShader";
+ }
+
+ /*! The shading method */
+ virtual int shade(Stroke &stroke) const;
};
-
/*! [ Geometry Shader ].
* Shader to modify the Stroke geometry so that it looks more "polygonal".
* The basic idea is to start from the minimal stroke approximation consisting in a line joining the first vertex
* to the last one and to subdivide using the original stroke vertices until a certain error is reached.
*/
-class PolygonalizationShader : public StrokeShader
-{
-private:
- float _error;
-
-public:
- /*! Builds the shader.
- * \param iError:
- * The error we want our polygonal approximation to have with respect to the original geometry.
- * The smaller, the closer the new stroke to the orinal one.
- * This error corresponds to the maximum distance between the new stroke and the old one.
- */
- PolygonalizationShader(float iError) : StrokeShader()
- {
- _error = iError;
- }
-
- virtual string getName() const
- {
- return "PolygonalizationShader";
- }
-
- /*! The shading method */
- virtual int shade(Stroke& stroke) const;
+class PolygonalizationShader : public StrokeShader {
+ private:
+ float _error;
+
+ public:
+ /*! Builds the shader.
+ * \param iError:
+ * The error we want our polygonal approximation to have with respect to the original geometry.
+ * The smaller, the closer the new stroke to the orinal one.
+ * This error corresponds to the maximum distance between the new stroke and the old one.
+ */
+ PolygonalizationShader(float iError) : StrokeShader()
+ {
+ _error = iError;
+ }
+
+ virtual string getName() const
+ {
+ return "PolygonalizationShader";
+ }
+
+ /*! The shading method */
+ virtual int shade(Stroke &stroke) const;
};
-
/*! [ Geometry Shader ].
* Shader to modify the Stroke geometry so that it corresponds to its main direction line.
* This shader must be used together with the splitting operator using the curvature criterion.
* Indeed, the precision of the approximation will depend on the size of the stroke's pieces.
* The bigger the pieces, the rougher the approximation.
*/
-class GuidingLinesShader : public StrokeShader
-{
-private:
- float _offset;
-
-public:
- /*! Builds a Guiding Lines shader
- * \param iOffset:
- * The line that replaces the stroke is initially in the middle of the initial stroke "bbox".
- * iOffset is the value of the displacement which is applied to this line along its normal.
- */
- GuidingLinesShader(float iOffset) : StrokeShader()
- {
- _offset = iOffset;
- }
-
- virtual string getName() const
- {
- return "GuidingLinesShader";
- }
-
- /*! The shading method */
- virtual int shade(Stroke& stroke) const;
+class GuidingLinesShader : public StrokeShader {
+ private:
+ float _offset;
+
+ public:
+ /*! Builds a Guiding Lines shader
+ * \param iOffset:
+ * The line that replaces the stroke is initially in the middle of the initial stroke "bbox".
+ * iOffset is the value of the displacement which is applied to this line along its normal.
+ */
+ GuidingLinesShader(float iOffset) : StrokeShader()
+ {
+ _offset = iOffset;
+ }
+
+ virtual string getName() const
+ {
+ return "GuidingLinesShader";
+ }
+
+ /*! The shading method */
+ virtual int shade(Stroke &stroke) const;
};
/*! [ Geometry Shader ].
* Removes the stroke's extremities.
*/
-class TipRemoverShader : public StrokeShader
-{
-public:
- /*! Builds the shader.
- * \param tipLength:
- * The length of the piece of stroke we want to remove at each extremity.
- */
- TipRemoverShader (real tipLength);
-
- /*! Destructor. */
- virtual ~TipRemoverShader () {}
-
- /*! The shading method */
- virtual string getName() const
- {
- return "TipRemoverShader";
- }
-
- virtual int shade(Stroke &stroke) const;
-
-protected:
- real _tipLength;
+class TipRemoverShader : public StrokeShader {
+ public:
+ /*! Builds the shader.
+ * \param tipLength:
+ * The length of the piece of stroke we want to remove at each extremity.
+ */
+ TipRemoverShader(real tipLength);
+
+ /*! Destructor. */
+ virtual ~TipRemoverShader()
+ {
+ }
+
+ /*! The shading method */
+ virtual string getName() const
+ {
+ return "TipRemoverShader";
+ }
+
+ virtual int shade(Stroke &stroke) const;
+
+ protected:
+ real _tipLength;
};
/*! [ Texture Shader ].
* Shader to assign texture to the Stroke material.
*/
-class BlenderTextureShader : public StrokeShader
-{
-private:
- MTex *_mtex;
- bNodeTree *_nodeTree;
-
-public:
- /*! Builds the shader.
- * \param mtex:
- * The blender texture to use.
- */
- BlenderTextureShader(MTex *mtex) : StrokeShader()
- {
- _mtex = mtex;
- _nodeTree = NULL;
- }
-
- /*! Builds the shader.
- * \param nodetree:
- * A node tree (of new shading nodes) to define textures.
- */
- BlenderTextureShader(bNodeTree *nodetree) : StrokeShader()
- {
- _nodeTree = nodetree;
- _mtex = NULL;
- }
-
- virtual string getName() const
- {
- return "BlenderTextureShader";
- }
-
- /*! The shading method */
- virtual int shade(Stroke& stroke) const;
+class BlenderTextureShader : public StrokeShader {
+ private:
+ MTex *_mtex;
+ bNodeTree *_nodeTree;
+
+ public:
+ /*! Builds the shader.
+ * \param mtex:
+ * The blender texture to use.
+ */
+ BlenderTextureShader(MTex *mtex) : StrokeShader()
+ {
+ _mtex = mtex;
+ _nodeTree = NULL;
+ }
+
+ /*! Builds the shader.
+ * \param nodetree:
+ * A node tree (of new shading nodes) to define textures.
+ */
+ BlenderTextureShader(bNodeTree *nodetree) : StrokeShader()
+ {
+ _nodeTree = nodetree;
+ _mtex = NULL;
+ }
+
+ virtual string getName() const
+ {
+ return "BlenderTextureShader";
+ }
+
+ /*! The shading method */
+ virtual int shade(Stroke &stroke) const;
};
/*! [ Texture Shader ].
* Shader to assign texture to the Stroke material.
*/
-class StrokeTextureStepShader : public StrokeShader
-{
-private:
- float _step;
-
-public:
- /*! Builds the shader.
- * \param id:
- * The number of the preset to use.
- */
- StrokeTextureStepShader(float step) : StrokeShader()
- {
- _step = step;
- }
-
- virtual string getName() const
- {
- return "StrokeTextureStepShader";
- }
-
- /*! The shading method */
- virtual int shade(Stroke& stroke) const;
+class StrokeTextureStepShader : public StrokeShader {
+ private:
+ float _step;
+
+ public:
+ /*! Builds the shader.
+ * \param id:
+ * The number of the preset to use.
+ */
+ StrokeTextureStepShader(float step) : StrokeShader()
+ {
+ _step = step;
+ }
+
+ virtual string getName() const
+ {
+ return "StrokeTextureStepShader";
+ }
+
+ /*! The shading method */
+ virtual int shade(Stroke &stroke) const;
};
-} // end of namespace StrokeShaders
+} // end of namespace StrokeShaders
} /* namespace Freestyle */
-#endif // __FREESTYLE_BASIC_STROKE_SHADERS_H__
+#endif // __FREESTYLE_BASIC_STROKE_SHADERS_H__