diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-09-08 20:15:42 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-09-08 20:15:42 +0400 |
commit | d9ffc99e66d659ac887d801b9cc071b4c3f9b8ab (patch) | |
tree | d88e83b5a9edab115081641d26c811b6aa22296a /source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp | |
parent | 551ebaa3dd758bc1975548c28766bfa3159d3846 (diff) | |
parent | b1490e39dd1017e51984d8a34d226e869bbb25df (diff) |
Merge branch 'master' into soc-2014-viewport_fxsoc-2014-viewport_fx
I have resolved some differences, for instance selection code which was more or less a stub, to be
the same as master. This will have to be fixed later.
Conflicts:
CMakeLists.txt
intern/ghost/CMakeLists.txt
intern/ghost/intern/GHOST_SystemWin32.cpp
intern/ghost/intern/GHOST_Window.cpp
intern/ghost/intern/GHOST_WindowWin32.cpp
intern/ghost/intern/GHOST_WindowX11.cpp
source/blender/blenlib/BLI_math_matrix.h
source/blender/blenlib/intern/math_matrix.c
source/blender/gpu/CMakeLists.txt
source/blender/gpu/GPU_select.h
source/blender/gpu/intern/gpu_buffers.c
source/blender/gpu/intern/gpu_draw.c
source/blender/gpu/intern/gpu_extensions.c
source/blender/gpu/intern/gpu_select.c
source/blender/gpu/shaders/gpu_shader_simple_vert.glsl
source/blender/nodes/CMakeLists.txt
Diffstat (limited to 'source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp')
-rw-r--r-- | source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp index c8b9d7098e4..379fb7e1b12 100644 --- a/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp +++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp @@ -41,38 +41,46 @@ static char BlenderTextureShader___doc__[] = "\n" "[Texture shader]\n" "\n" -".. method:: __init__(LineStyleTextureSlot)\n" +".. method:: __init__(texture)\n" "\n" " Builds a BlenderTextureShader object.\n" "\n" -" :arg mtex: texture slot to add to stroke shading.\n" -" :type mtex: LineStyleTextureSlot\n" - +" :arg texture: A line style texture slot or a shader node tree to define\n" +" a set of textures.\n" +" :type texture: :class:`LineStyleTextureSlot` or :class:`ShaderNodeTree`\n" "\n" ".. method:: shade(stroke)\n" "\n" -" Assigns a blender texture slot to the stroke shading\n" -" in order to simulate marks.\n" +" Assigns a blender texture slot to the stroke shading in order to\n" +" simulate marks.\n" "\n" " :arg stroke: A Stroke object.\n" " :type stroke: :class:`Stroke`\n"; static int BlenderTextureShader___init__(BPy_BlenderTextureShader *self, PyObject *args, PyObject *kwds) { - static const char *kwlist[] = {"LineStyleTextureSlot", NULL}; - PyObject *py_mtex; + static const char *kwlist[] = {"texture", NULL}; + PyObject *obj; MTex *_mtex; + bNodeTree *_nodetree; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O", (char **)kwlist, &py_mtex)) + if (!PyArg_ParseTupleAndKeywords(args, kwds, "O", (char **)kwlist, &obj)) return -1; - - _mtex = (MTex*)PyC_RNA_AsPointer(py_mtex, "LineStyleTextureSlot"); - + _mtex = (MTex *)PyC_RNA_AsPointer(obj, "LineStyleTextureSlot"); if (_mtex) { self->py_ss.ss = new StrokeShaders::BlenderTextureShader(_mtex); + return 0; } - - return 0; + PyErr_Clear(); + _nodetree = (bNodeTree *)PyC_RNA_AsPointer(obj, "ShaderNodeTree"); + if (_nodetree) { + self->py_ss.ss = new StrokeShaders::BlenderTextureShader(_nodetree); + return 0; + } + PyErr_Format(PyExc_TypeError, + "expected either 'LineStyleTextureSlot' or 'ShaderNodeTree', " + "found '%.200s' instead", Py_TYPE(obj)->tp_name); + return -1; } /*-----------------------BPy_BlenderTextureShader type definition ------------------------------*/ |