diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-03 13:51:53 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-03 13:54:59 +0400 |
commit | b7f085d9c128f31d576c732c6439b5a71e8922ee (patch) | |
tree | 8a1fdc2e95470f61d9121b18b125dc272e87d536 /source/blender/freestyle/intern/stroke/BasicStrokeShaders.h | |
parent | 6ec2d72eca618be05e9bf0723886b10e6d5efa46 (diff) |
Patch D246: Texture Marks for freestyle strokes, written and contributed by Paolo Acampora.
Reviewers: brecht, kjym3, #freestyle
Reviewed By: brecht, kjym3
Differential Revision: https://developer.blender.org/D246
Diffstat (limited to 'source/blender/freestyle/intern/stroke/BasicStrokeShaders.h')
-rw-r--r-- | source/blender/freestyle/intern/stroke/BasicStrokeShaders.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h b/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h index 5559613debb..9186d164e9b 100644 --- a/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h +++ b/source/blender/freestyle/intern/stroke/BasicStrokeShaders.h @@ -36,6 +36,8 @@ #include "../geometry/Bezier.h" #include "../geometry/Geom.h" +struct MTex; + using namespace std; namespace Freestyle { @@ -894,6 +896,62 @@ public: virtual int shade(Stroke& stroke) const; }; +/*! [ Texture Shader ]. + * Shader to assign texture to the Stroke material. + */ + +class BlenderTextureShader : public StrokeShader +{ +private: + MTex *_mtex; + +public: + /*! Builds the shader. + * \param mtex + * The blender texture to use. + */ + BlenderTextureShader(MTex *mtex) : StrokeShader() + { + _mtex = mtex; + } + + 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; +}; + } // end of namespace StrokeShaders } /* namespace Freestyle */ |