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
2017-04-29Cleanup: unused includesCampbell Barton
2016-05-05Fix T48320: Freestyle renders wrong edges of objects which in the other ↵Tamito Kajiyama
RenderLayer. FSAA sample files in EXR format are no longer always updated (after some changes between 2.73 and 2.74 releases), and the reported bug was caused by old samples from a previous frame that were being merged by mistake. The present revision addresses the documented issue by entirely skipping the rendering of auto-generated scenes when there are no Freestyle strokes to render, which suppresses sample merging of the render layers that were not rendered.
2015-11-23Cleanup: use single struct for freestyle globalsCampbell Barton
Was shadowing local vars.
2015-10-26Freestyle: minor speed-up by omitting the calculation of the smallest edge size.Tamito Kajiyama
BlenderFileLoader tries to find the smallest edge size but the computed value is not used.
2015-07-20Freestyle: Removed tesselated forms of silhouettes for displaying in the UI.Tamito Kajiyama
The tesselated silhouettes were not used in Freestyle for Blender at all.
2015-07-20Freestyle: code cleanup.Tamito Kajiyama
Removed unnecessary header files and replaced some other heade files with forward class declarations.
2015-07-20Freestyle: minor optimization for space in the FEdgeXDetector.Tamito Kajiyama
Member variables and auto variables were changed from real (double) to float in most part of the FEdgeXDetector (except for curvature computations).
2015-07-20Freestyle: removed redundant instantiation of vector objects.Tamito Kajiyama
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-03-27Freestyle: Code cleanup, prepare for strict C++ flagsSergey Sharybin
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-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-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-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-02Freestyle: For until c++11 is accepted only static members could b ↵Sergey Sharybin
initialized in-lined
2014-10-02Freestyle: Fix for destructive view map modifications during chaining ↵Tamito Kajiyama
operations. The view map is mostly treated as a read-only data structure by line stylization operations (i.e., selection, chaining, splitting, sorting and stroke creation). The only exception is the chaining operation in some cases where insertion of extra FEdge objects is necessary to ensure the continuity of underlying FEdges from which a chain is constructed. The present revision addresses the removal of extra FEdges so to keep the view map clean and suitable for reuse in subsequent render frames.
2014-10-02Freestyle: View map caching.Tamito Kajiyama
New render layer option named "View map cache" is added to reuse a previously computed view map for subsequent rendering. The cache is automatically updated when the mesh geometry of the input 3D scene has been changed. This functionality offers a major performance boost for Freestyle animation rendering when camera-space mesh geometry is static, as well as for repeated still renders with updates of line stylization options. Although the "View map cache" toggle is a render layer option, the cache memory is shared by all render layers and scenes. This means that if Freestyle is used for two or more render layers (possibly in different scenes through the compositor), then the cached view map for one render layer is replaced by a new view map for another render layer and hence no performance gain is expected.
2014-08-12Freestyle: Removed the stored bContext from the Controller class.Tamito Kajiyama
The stored context object was used for creation of shade nodes. A closer look at the node system showed that the context is not actually used when shader nodes are added to a shader node tree. Relying on this fact, now a NULL pointer is passed to nodeAddStaticNode() instead of the stored bContext pointer.
2014-08-12Freestyle: an improved workflow of line style shading nodes.Tamito Kajiyama
Removed the previous changes for passing a line style through the Controller, and revised the BlenderTextureShader to assign the shader node tree of a line style (if specified) to strokes. This way the assignment of shading nodes can be done through both the Freestyle GUI and Python scripting.
2014-08-12WIP commit just for a record of a working snapshot of code revisions for ↵Tamito Kajiyama
node-based textured strokes.
2014-08-12Freestyle: Added preliminary support for textured strokes in Cycles.Tamito Kajiyama
Now the shader node tree of a line style ID datablock is used to define textures as well as their mapping and influence. TODO: Textures alpha channel mapping and influence. TODO: Blend mode in the Output Line Style shader node.
2014-08-12Initial implementation of Cycles materials for Freestyle stroke rendering.Tamito Kajiyama
2014-05-22Fix T40307: Crash with freestyle and particle hair.Tamito Kajiyama
The scene file provided by the problem report has many degenerate faces coming from a particle system. These zero-area faces were not expected in the ray-casting line visibility algorithms of Freestyle. Now degenerate faces are properly excluded from the imported mesh data and not fed to the line visibility algorithms.
2014-05-07Freestyle: debug statistics on stroke rendering.Tamito Kajiyama
2014-04-17Freestyle: removed unnecessary #include "FreestyleConfig.h".Tamito Kajiyama
2014-04-17Replaced assert() with BLI_assert().Tamito Kajiyama
2014-04-17Freestyle: Fix for VC++ warnings about 'hypot' macro redefinitions (Part 3).Tamito Kajiyama
(See commit e1771e72fbbf828dbf5bed871b814288389f3611 for more detail of the problem). Made changes to intern/view_map/Interface0D.h and intern/python/Director.h to avoid #include <Python.h> and keep non-Python header files independent of it.
2014-04-17Freestyle: Fix for VC++ warnings about 'hypot' macro redefinitions (Part 1).Tamito Kajiyama
The issue was caused by including both Python.h and BLI_math.h. Since the macro definition in Python.h was unconditional, it was necessary to include it first and then BLI_math.h. Addressing the issue turned out to affect many Freestyle source files. There were several other coding flaws that complicated the situation: 1. intern/system/FreestyleConfig.h was abused just to include BLI_math.h which was in fact unnecessary in FreestyleConfig.h. While addressing this, inclusion of both math.h and BLI_math.h had to be duly dealt with to avoid a compiler error about round(). 2. #include <Python.h> was not properly put in the extern "C" { ... } construct. 3. intern/view_map/Interface0D.h and intern/python/Director.h, both of which included Python.h, were included from within Freestyle header files that were almost or completely independent of Python. These non-Python header files were used everywhere in the Freestyle code base, causing many cases of the reported macro redefinitions. 4. The Director.h file was also declaring 'using namespace Freestyle', which was causing another scope issue in several Freestyle header files. This commit is intended to address the first problem above. Subsequent commits will deal with the other three.
2014-04-11Fix for Freestyle Python API modules not found in the Python Console.Tamito Kajiyama
Addition of the path to the Freestyle Python API modules to 'sys.path' was delayed until the first Freestyle rendering, so that any import attempt of the modules in the Python Console always failed. Now the update of 'sys.path' is done at Blender start-up. This allows the Freestyle-specific modules to be imported without running Freestyle, facilitating quick interactive testing in the Console.
2014-01-28Reorganized the Freestyle Python API in a hierarchical package structure.Tamito Kajiyama
Both C- and Python-coded API components were rearranged into logical groups. New Python modules are packaged as follows: freestyle - Top-level package freestyle.types - Classes for core data structues (e.g., view map) freestyle.chainingiterators - Pre-defined chaining iterators freestyle.functions - Pre-defined 0D and 1D functions freestyle.predicates - Pre-defined 0D and 1D predicates freestyle.shaders - Pre-defined stroke shaders freestyle.utils - Utility functions The Python modules are installed in scripts/freestyle/modules. Pre-defined styles are installed in scripts/freestyle/styles. To-do: update styles according to the new Freestyle API package structure.
2013-11-30Woo Hoo. First git commit.Alexandr Kuznetsov
Changes for VC2013 Now, I can build Blender with VC2013 with Cycles, Collada, OpenExr,OpenImageIO disabled. Also, you need VC2008 sp1 installed to make old libs compatible.
2013-11-22Code Cleanup: int pointer comparisonCampbell Barton
2013-08-24Fix for [#36374] Read unitialized memory in Freestyle.Tamito Kajiyama
A variable keeping a bounding box was referenced after it was flagged as empty.
2013-08-04add c++/guardedalloc to more freestyle classes, also remove redundant 'public:'Campbell Barton
2013-06-16Fix for the DensityF0D function not working as expected when the Z pass was ↵Tamito Kajiyama
not available.
2013-06-11Fix #35561: freestyle + read full sample layers = crash.Tamito Kajiyama
Now add_freestyle() in pipeline.c takes a second argument to enable/disable stroke rendering. When stroke rendering is disabled, the function allocates data structures but does not perform stroke rendering. The allocated data structures (mostly left unpopulated with data elements) are intended to allow for the Read Full Sample Layers (Shift-R) command in the compositor.
2013-05-15More fix for memory leaks in the Freestyle module.Tamito Kajiyama
2013-05-14Added support for WITH_CXX_GUARDEDALLOC build option to the Freestyle module.Tamito Kajiyama
2013-05-01Fix for [#35116] Freestyle StringUtils::toAscii breakes non-ascii path values.Tamito Kajiyama
Just removed all calls of StringUtils::toAscii() as well as the function definitions.
2013-04-09Attempt to fix a potential name conflict between Freestyle and the compositor.Tamito Kajiyama
A crash in the Freestyle renderer was reported by Ton on IRC with a stack trace below. Note that #2 is in Freestyle, whereas #1 is in the compositor. The problem was observed in a debug build on OS X 10.7 (gcc 4.2, openmp disabled, no llvm). ---------------------------------------------------------------------- Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: 13 at address: 0x0000000000000000 [Switching to process 72386 thread 0xf303] 0x0000000100c129f3 in NodeBase::~NodeBase (this=0x10e501c80) at COM_NodeBase.cpp:43 43 delete (this->m_outputsockets.back()); Current language: auto; currently c++ (gdb) where #0 0x0000000100c129f3 in NodeBase::~NodeBase (this=0x10e501c80) at COM_NodeBase.cpp:43 #1 0x0000000100c29066 in Node::~Node (this=0x10e501c80) at COM_Node.h:49 #2 0x000000010089c273 in NodeShape::~NodeShape (this=0x10e501c80) at NodeShape.cpp:43 #3 0x000000010089910b in NodeGroup::destroy (this=0x10e501da0) at NodeGroup.cpp:61 #4 0x00000001008990cd in NodeGroup::destroy (this=0x10e5014b0) at NodeGroup.cpp:59 #5 0x00000001008990cd in NodeGroup::destroy (this=0x114e18da0) at NodeGroup.cpp:59 #6 0x00000001007e6602 in Controller::ClearRootNode (this=0x114e19640) at Controller.cpp:329 #7 0x00000001007ea52e in Controller::LoadMesh (this=0x114e19640, re=0x10aba4638, srl=0x1140f5258) at Controller.cpp:302 #8 0x00000001008030ad in prepare (re=0x10aba4638, srl=0x1140f5258) at FRS_freestyle.cpp:302 #9 0x000000010080457a in FRS_do_stroke_rendering (re=0x10aba4638, srl=0x1140f5258) at FRS_freestyle.cpp:600 #10 0x00000001006aeb9d in add_freestyle (re=0x10aba4638) at pipeline.c:1584 #11 0x00000001006aceb7 in do_render_3d (re=0x10aba4638) at pipeline.c:1094 #12 0x00000001006ae061 in do_render_fields_blur_3d (re=0x10aba4638) at pipeline.c:1367 #13 0x00000001006afa16 in do_render_composite_fields_blur_3d (re=0x10aba4638) at pipeline.c:1815 #14 0x00000001006b04e4 in do_render_all_options (re=0x10aba4638) at pipeline.c:2021 ---------------------------------------------------------------------- Apparently a name conflict between the two Blender modules is taking place. The present commit hence intends to address it by putting all the Freestyle C++ classes in the namespace 'Freestyle'. This revision will also prevent potential name conflicts with other Blender modules in the future. Special thanks to Lukas Toenne for the help with C++ namespace.
2013-04-08style cleanupCampbell Barton
2013-03-31remove blender foundation copyright from freestyle files.Campbell Barton
this can be added back on case-by-case basis, but better not assume ownership of another projects work by default.
2013-03-08A big code clean-up patch from Bastien Montagne, many thanks!Tamito Kajiyama
2013-03-03Removed redundant definitions of __min and __max macros by replacing them withTamito Kajiyama
std::min() and std::max(), respectively. Based on review comment from Campbell.
2013-03-02Removed paths to a browser command and help index that are no longer used in ↵Tamito Kajiyama
Freestyle for Blender. Review comment from Campbell.
2013-01-18A patch set from Bastien Montagne (thanks!) for silencing build warnings ↵Tamito Kajiyama
(from gcc 4.7), mostly by commenting out unused variables, or using the BLI's SET_UINT_IN_POINTER macro.
2013-01-04New command-line option --debug-freestyle to enable verbose debug messagesTamito Kajiyama
on the console during Freestyle rendering. The debug prints are turned off by default now. Errors are still printed on the console. A patch set implementing this functionality was provided by Bastien Montagne. Many thanks! :)