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
AgeCommit message (Collapse)Author
2015-07-10Freestyle: new stroke modifiersFolkert de Vries
This patch introduces a couple new stroke modifiers. The ones currently implemented are based on prototypes by @kjym3 and myself. The new modifiers: - Tangent - Thickness noise - Crease Angle - Simplification - Curvature 3D The documentation for these new modifier types can be found [[ http://www.blender.org/manual/render/freestyle/parameter_editor/index.html | in the manual ]]: {F134441} (left: AnisotropicThicknessShader, right: NoiseThicknessShader) {F140499} (left: Curvature 3D, right: Simplification) Author: Folkert de Vries (flokkievids) Reviewers: kjym3 Subscribers: #user_interface, plasmasolutions, kjym3 Projects: #bf_blender Differential Revision: https://developer.blender.org/D963
2015-07-06Cleanup: style, spellingCampbell Barton
2015-06-18Freestyle: Fix for wrong assertion failure upon inverted face normals.Tamito Kajiyama
The assertion code was not taking quad faces into account. Problem report by Folkert de Vries (flokkievids) through personal communications, thanks!
2015-05-31Improvements to the Freestyle Python API (needed by the SVG Exporter)Tamito Kajiyama
This patch adds some new functionality to the Freestyle Python API, notably: - MaterialBP1D, checks whether the supplied arguments have the same material - Fixes a potential crash in CurvePoint.fedge (due to NULL pointer) - Makes (error handling in) boolean predicates more robust - Adds a BoundingBox type, to make working with bounding boxes easier - Adds several new functions (get_object_name, get_strokes, is_poly_clockwise, material_from_fedge) - Adds a StrokeCollector StrokeShader, that collects all the strokes from a specific call to Operators.create() - Adds hashing and rich comparison to the FrsMaterial type These new features (most of them, anyway) are needed for making a more robust SVG exporter that supports holes in fills. Reviewers: kjym3, campbellbarton Subscribers: campbellbarton Projects: #bf_blender Differential Revision: https://developer.blender.org/D1245
2015-05-16Freestyle: Fix for stroke rendering performed with multi-views enabled.Tamito Kajiyama
Per-view Freestyle stroke rendering needs to be done without multi-views.
2015-05-16Fix T44691 Freestyle render crashes when Views is on (Blender Internal).Tamito Kajiyama
In pipeline.c the function add_freestyle() was supposed to be called once per frame, but after the Multi-view merge the function are called as many as the number of views. There were however a few Freestyle parameters that have to be initialized per frame, and initializing one of the parameters for each view was causing double freeing of allocated memory which was enough to result in a crash.
2015-05-12Depsgraph: Add additional relations/id update tagsSergey Sharybin
This calls are not strictly speaking needed for the old dependency graph, but due to more granular nature of upcoming depsgraph more actions requires update of relations of IDs. On the one hand this extra tags could be wrapped with if() statements, but on the other hand it makes sense to keep tag in sync so it's clear if some issue is caused by missing/extra tag or by depsgraph itself.
2015-05-11Freestyle: Fix for assertion failure in viewport preview.Tamito Kajiyama
An assertion to check if `re->clipsta` < 0 (added as part of addressing T36009 in rBrB795034c17d76bef2a15e576ac9c70ae2268a823b) was failing when Freestyle viewport preview rendering takes place in the camera view with an orthographic camera (in this case, the user-defined clipping range is used without changes, so that `re->clipsta` is positive). The `re->clipsta` property has a negative value only when the 3D viewport is in an orthographic view but not in the camera view. It seems that this viewport setting cannot be identified from rendering settings accessible from Freestyle. Now a negative `re->clipsta` value is directly checked instead, without relying on other render flags.
2015-05-09Freestyle: Partial fix for a crash with Save Buffers option enabled.Tamito Kajiyama
Prevents null pointer references in the case of the Save Buffers option enabled. This is a regression likely due to rBd5f1b9c22233.
2015-05-04Freestyle: Compilation error fix after recent changes in BKE_object_add()Sergey Sharybin
2015-04-28Compilation error fixes for strict compiler flagsSergey Sharybin
2015-04-28Fix T44404: freestyle crashes blender.Tamito Kajiyama
The reported crash case seems to be caused by freeing compiled Python objects in a thread. Now this issue is avoided by allocating a buffer to store a Python script and using BPY_string_exec() to run the script. This makes it unnecessary to repeatedly create and destroy Text data blocks. Many thanks to Campbell Barton for his help on the bug fix.
2015-04-22Freestyle: Fixed a crash due to missing call of StrokeShader.__init__() in ↵Tamito Kajiyama
Python. Many thanks to the problem report by flokkievids (Folkert de Vries) through a comment in Patch D963.
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2015-04-02CleanupCampbell Barton
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-03-27Freestyle: Code cleanup, silence warning in release modeSergey Sharybin
2015-03-27Freestyle: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-03-19Cleanup: spelling grey -> grayCampbell Barton
2015-03-13Initial compilation support with C++11 featureset enabledSergey Sharybin
This commit makes some preliminary fixes and tweaks aimed to make blender compilable with C++11 feature set. This includes: - Build system attribute to enable C++11 featureset. It's for sure default OFF, but easy to enable to have a play around with it and make sure all the stuff is compilable before we go C++11 for real. - Changes in Compositor to use non-named cl_int structure fields. This is because __STRICT_ANSI__ is defined by default by GCC and OpenCL does not use named fields in this case. - Changes to TYPE_CHECK() related on lack of typeof() in C++11 This uses decltype() instead with some trickery to make sure returned type is not a reference. - Changes for auto_ptr in Freestyle This actually conditionally switches between auto_ptr and unique_ptr since auto_ptr is deprecated in C++11. Seems to be not strictly needed but still nice to be ready for such an update anyway/ This all based on changes form depsgraph_refactor branch apart from the weird changes which were made in order to support MinGW compilation. Those parts of change would need to be carefully reviewed again after official move to gcc49 in MinGW. Tested on Linux with GCC-4.7 and Clang-3.5, other platforms are not tested and likely needs some more tweaks. Reviewers: campbellbarton, juicyfruit, mont29, lukastoenne, psy-fi, kjym3 Differential Revision: https://developer.blender.org/D1089
2015-03-09Fix T43624: Freestyle uses wrong colour on second Line Set with textured ↵Tamito Kajiyama
lines in Cycles. This is a regression introduced by rBd8b00a3bf5c1 (Freestyle: memory consumption optimization in stroke rendering). The issue was caused by uninitialized MPoly::mat_nr values. Before the stroke rendering optimization, individual Freestyle strokes were represented by distinct mesh objects, and thus MPoly::mat_nr was left unset (i.e., was always zero). Now that the stroke rendering optimization has been done and mesh objects may represent multiple strokes of different materials, MPoly::mat_nr had to be properly set to the material index that refers to the material of the poly face.
2015-02-18CMake: remove expression in endif(...)Campbell Barton
2015-02-11cleanup: style/indentationCampbell Barton
2015-02-06cleanup: styleCampbell Barton
2015-02-05Mesh validate: add an option to not clean temp/cache CDLayers.Bastien Montagne
This is mandatory for incoming custom normal imports from io scripts, because often geometry here is corrupted, so we need to call mesh.validate() to clean it up. Issue is, we cannot set custom normals before geometry is clean, so we need to store temporary plain loop normals in a CD_NORMAL layer, validate, and then set custom normals. So we need a way to prevent 'temp' lnors to be freed by validate.
2015-02-02Fix for Freestyle view map caching not properly updated upon changes of ↵Tamito Kajiyama
render resolution and scale. Problem reports independently by Light BWK and Folkert de Vries, thanks.
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2015-01-20Fix error in freestyle apiCampbell Barton
2015-01-19Fix own error in freestyle apiCampbell Barton
2015-01-17Fix T43090: Cycles + Freestyle + border render = black render.Tamito Kajiyama
The reported problem was due to a special case where there are no strokes to be rendered. Since rendering an empty scene is a waste of time, the issue was addressed here by skipping the stroke rendering process entirely.
2015-01-13Cleanup: fixes for building with recent clangCampbell Barton
2015-01-06PyAPI: add utilities PyTuple_SET_ITEMS, Py_INCREF_RETCampbell Barton
Setting all values of a tuple is such a common operation that it deserves its own macro. Also added Py_INCREF_RET to avoid confusing use of comma operator.
2015-01-04Freestyle: reserve array sizes before fillingCampbell Barton
also use PyList_GET_ITEM when list size is known.
2015-01-04Fix 8 memory leaks from bad PyList_Append useCampbell Barton
2015-01-04mathutils: refactor instantiationCampbell Barton
remove 'type' argument, very few mathutils objects are wrapped, add new function for creating wrapped objects. also fixes unlikely memory leak if the data-array can't be allocated.
2015-01-03Freestyle: memory consumption optimization in stroke rendering.Tamito Kajiyama
Previously individual strokes were represented by distinct mesh objects no matter how many vertices and materials each stroke has, although the vertex and material counts can be quite small depending on the input scene data. Now stroke meshes are packed into a minimum number of mesh objects, so as to reduce the overheads of Blender object creation.
2015-01-03Fix for view map cache not flushed by updates of edge detection options.Tamito Kajiyama
This fix should be considered for inclusion in the 2.73 release, since it concerns a new feature of Freestyle introduced in 2.73.
2014-11-26Freestyle: Fix for view map caching not flashed properly in view port rendering.Tamito Kajiyama
2014-11-23Fix freestyle compile.Bastien Montagne
Do not know why this shows up now, probably a recent tweak in BLI_utildefines.h or so...
2014-11-23Refactor: BLI_path_util (part 2)Campbell Barton
Use BKE_appdir/tempdir naming prefix for functions extracted from BLI_path_util
2014-11-23Refactor: BLI_path_util (split out app directory access)Campbell Barton
This module is intended for path manipulation functions but had utility functions added to access various directories.
2014-10-29Cleanup: warnings, typosCampbell Barton
2014-10-28Cleanup: de-duplicate engine-id'sCampbell Barton
2014-10-23Fix T42351: Freestyle will not render edges selected by Edge Type: Material ↵Tamito Kajiyama
Boundary, if the materials are different, but look identical.
2014-10-10Freestyle: Fix for memory leaks in StrokeVertexIterator.Tamito Kajiyama
The issues identified here are regression from 2.71, so the present code revision is appropriate for backporting if 2.72a is planned.
2014-10-10Freestyle: Fix for StrokeVertexIterator.__next__() ignoring the first and ↵Tamito Kajiyama
only element. A StrokeVertexIterator ignores the first element when it is the only element. Such an iterator can be created by the .incremented() method from an iterator over two stroke vertices. This problem is a regression from 2.71. The present fix is appropriate to backport if Blender 2.72a is planned. Problem report by Kazuhiro Murakawa through personal communications, thanks!
2014-10-08Freestyle: silence a GCC warning (-Wunused-function).Tamito Kajiyama
2014-10-08D801: Freestyle: remove old and unused stroke shadersTamito Kajiyama
This patch removes several stroke shaders written in C++ that are unused and don't serve a real purpose any more. The removed shaders are: - BPy_ColorVariationPatternShader - BPy_StrokeTextureShader - BPy_TextureAssignerShader - BPy_ThicknessVariationPatternShader - BPy_fstreamShader - BPy_streamShader and a few more that weren't even exposed to the Python API. Some minor edits were made by the reviewer. Differential Revision: https://developer.blender.org/D801 Reviewed by: kjym3
2014-10-03Cleanup: spelling, wsCampbell Barton
2014-10-02Freestyle: For until c++11 is accepted only static members could b ↵Sergey Sharybin
initialized in-lined