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
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! :)
2012-12-26Partly reverted the changes in revision 53099 to avoid a compilation error ↵Tamito Kajiyama
with MinGW (see the commit log of revision 28253).
2012-12-18Another big code clean-up patch by Bastien Montagne (GPL headers, indentation,Tamito Kajiyama
spaces around operators, and so forth). Many thanks!
2012-12-12Fix for svn:executable.Tamito Kajiyama
Reported by Bastien Montagne, thanks!
2012-10-06Split time measurement for temporary scene generation from that for stroke ↵Tamito Kajiyama
rendering.
2012-07-17Better handling of the ESC key during Freestyle rendering.Tamito Kajiyama
This commit is meant to improve the response of the ESC key for stopping Freestyle rendering throughout the rendering process. The rendering with Freestyle consists of several steps including: (1) mesh data loading, (2) winged edge construction, (3) silhouette edge detection, (4) view map construction, and (5) stroke drawing. All these steps have been extended to frequently check if the ESC key is pressed, so that users can abort time-consuming rendering at any point of time.
2012-04-11New options for specifying unit line thickness.Tamito Kajiyama
The Post Processing tab in the Render buttons has new Line Thickness options for defining unit line thickness in two different modes as follows: 1. Absolute mode: The unit line thickness is given by a user-specified number in units of pixels. The default value is 1. 2. Relative mode: The unit line thickness is scaled by the proportion of the present vertical image resolution to 480 pixels. For instance, the unit line thickness is 1 with the image height set to 480, 1.5 with 720, and 2 with 960.
2011-10-06Fix for an uninitialized member variable.Tamito Kajiyama
2011-06-11Merged changes in the trunk up to revision 37388.Tamito Kajiyama
Conflicts resolved: release/scripts/startup/bl_ui/properties_render.py source/creator/SConscript source/blender/blenlib/intern/bpath.c source/blender/editors/space_outliner/outliner.c
2011-03-14Optimized view map calculation by Alexander Beels.Tamito Kajiyama
* View map calculation has been intensively optimized for speed by means of: 1) new spatial grid data structures (SphericalGrid for perspective cameras and BoxGrid for orthographic cameras; automatically switched based on the camera type); 2) a heuristic grid density calculation algorithm; and 3) new line visibility computation algorithms: A "traditional" algorithm for emulating old visibility algorithms, and a "cumulative" algorithm for improved, more consistent line visibility, both exploiting the new spatial grid data structures for fast ray casting. A new option "Raycasting Algorithm" was added to allow users to choose a ray casting (line visibility) algorithm. Available choices are: - Normal Ray Casting - Fast Ray Casting - Very Fast Ray Casting - Culled Traditional Visibility Detection - Unculled Traditional Visibility Detection - Culled Cumulative Visibility Detection - Unculled Cumulative Visibility Detection The first three algorithms are those available in the original Freestyle (the "normal" ray casting was used unconditionally, though). The "fast" and "very fast" ray casting algorithms achieve a faster calculation at the cost of less visibility accuracy. The last four are newly introduced optimized options. The culled versions of the new algorithms will exclude from visibility calculation those faces that lay outside the camera, which leads to a faster view map construction. The unculled counterparts will take all faces into account. The unculled visibility algorithms are useful when culling affects stroke chaining. The recommended options for users are the culled/unculled cumulative visibility algorithms. These options are meant to replace the old algorithms in the future. Performance improvements over the old algorithms depend on the scenes to be rendered. * Silhouette detection has also been considerably optimized for speed. Performance gains by this optimization do not depend on scenes. * Improper handling of error conditions in the view map construction was fixed.
2010-12-05Made a change as to when the view map data structure is released,Tamito Kajiyama
with the aim of less memory consumption in stroke rendering.
2010-12-04A few attempts to reduce the amount of memory consumption in Freestyle.Tamito Kajiyama
* Made changes to the Controller so that dynamically allocated memory areas (e.g. imported mesh data, winged edges, and a view map) are released soon after they become unnecessary. * Added a new feature edge selection criterion based on image border. When the "Selection by Image Border" option is enabled, feature edges are selected only if they are within the border of the image being rendered. The border is defined either by the frame size or a border region (specified by the Shift-B key in a 3D View window). When large scenes are rendered, this clipping by the image border leads to less memory consumption. * Enabled the "Silhouette", "Border", and "Crease" edge types of the Selection by Edge Types option by default. When no edge types are specified, all feature edges including "Ridge", "Valley" and "Suggestive Contour" are detected at the cost of extra memory consumption. Disabling these three edge types and enabling some other edge type leads to less memory consumption. This change is intended to help new Freestyle users by providing a typical, low memory consumption default setting. * Slightly rearranged the UI controls for feature edge selection.
2010-10-17Fix for a bug that style modules from wrong scene render layersTamito Kajiyama
were executed. The bug was reported by Dazzle in the BA Freestyle thread, thanks!
2010-07-26* Implemented the basic stroke rendering functionality for the newTamito Kajiyama
Parameter Editor mode. This is a WIP commit. Only the base line color, base alpha transparency, and base line thickness are respected. More additions are anticipated to account for other parameters. * Added FRS_finish_stroke_rendering() to clean Freestyle-related temporary resources after stroke rendering. * Some functions in FRS_freestyle.cpp are now declared as static functions, so as not to mess up the program-wide name space. * Made the StyleModule class inheritable, and defined new subclass BlenderStyleModule that takes a Text object instead of a file name.
2010-07-10Removed the OpenGL-based stroke renderer that was no longer used.Tamito Kajiyama
2010-07-08Fix for path changes in the trunk revision 29935.Tamito Kajiyama
This commit should also fix a crash in MinGW32 builds.
2010-05-23New option to specify the angular threshold for detecting crease edges.Tamito Kajiyama
An entry "Crease Angle" has been added to the Layers tab of the Render buttons, to allow users to specify an angle (between 0 and 180) used for crease edge detection. An edge is considered a crease edge if the angle between two faces sharing the edge is smaller than the threshold. The default value is 134.43 degrees (for backward compatibility). Be aware that a larger threshold leads to a larger number of feature edges and thus a larger memory consumption.
2010-05-23New option for detecting feature edges at material boundaries.Tamito Kajiyama
A checkbox "Material Boundaries" has been added to the Freestyle options in the Layers tab of the Render buttons. By enabling the option, any edge between two faces with different materials is detected as a feature edge. In style modules, edges at material boundaries can be tested with pyNatureUP1D(Nature.MATERIAL_BOUNDARY).
2010-04-18Fixed a compilation issue with MinGW. The commit 28081 was revertingTamito Kajiyama
the workaround for name conflicts in the commit 23871 with regard to #include "BLI_jitter.h" in AppView.cpp.
2010-04-08Got rid of a number of compiler warnings with regard to redefinitionsTamito Kajiyama
of _POSIX_C_SOURCE and _XOPEN_SOURCE. There are no functional changes. Tested with GCC 4.4.1 on Ubuntu 9.10 (karmic).
2010-04-01Fixed a compiler error in AppCanvas.h (thanks paulhart2). Also fixedTamito Kajiyama
a compiler warning in pipeline.c with regard to the missing prototype definition of free_libblock().
2010-03-30Fix for the issue described in the commit log of revision 27846: MadeTamito Kajiyama
the diffuse and Z depth information accessible from style modules when the border option is enabled.
2010-03-28Fixed the full sample anti-aliasing support in Freestyle.Tamito Kajiyama
The render pipeline has been extended to better work with Freestyle stroke rendering. Struct Render has a new member ListBase freestyle_renders to keep Render instances generated through stroke rendering in Freestyle. The number of elements (LinkData instances with LinkData::data pointing to a Render instance) in freestyle_renders is the same as the scene render layers of the scene being rendered. When the k-th scene render layer has the Freestyle option enabled, the k-th element of freestyle_renders refers to a Render instance that holds Freestyle render results for the scene layer. This association between the scene render layer and the Render instance is used to merge the Freestyle render results into the corresponding render results for the scene render layer.
2010-02-17Removed debugging printf() calls.Tamito Kajiyama
2010-02-17Fixed bugs in AppCanvas::readColorPixels() andTamito Kajiyama
AppCanvas::readDepthPixels() that caused a crash when the aspect ratio was not 1:1.
2010-02-14Added support for pixel-based density and Z depth information.Tamito Kajiyama
Availability of pixel-based density and Z depth information depends on passes of a render layer being rendered. - Density information is available if the diffuse pass of the render layer is enabled. It is accessible through the DensityF0D and DensityF1D functions provided by the Freestyle Python API. These functions return 0 if the diffuse pass is disabled. - Z depth information is available if the Z pass is enabled. It can be accessed through LocalAverageDepthF0D and LocalAverageDepthF1D. These functions return 0 if the Z pass is disabled.
2010-02-13Further consolidation of the view map creation.Tamito Kajiyama
Made Controller::_EPSILON constant with the value 1e-6. Previously, the _EPSILON value was computed based on the minimum edge size within the scene being rendered (in some cases, the computed value resulted in zero). This does not seem to make sense, because _EPSILON has been used as a tolerance threshold of floating-point arithmetic errors throughout the view map creation. Since Blender uses single-precision real values for mesh data representations, the new constant _EPSILON value looks more adequate.
2010-02-01Added support for orthographic camera.Tamito Kajiyama
The FEdgeXDetector class for silhouette edge detection and the ViewMapBuilder class for view map creation are enhanced. All changes are related to view point handling (i.e., the camera location). In the perspective projection, the visibility of feature edges and edge types (e.g., borders and crease lines) are computed based on a fixed view point, whereas the view point in the orthographic projection is an arbitrary point on the XY plane at the origin and is determined so that a line segment from the view point to a point in the 3D space is perpendicular to the XY plane. All view point related portions of the class definitions were modified so as to deal with the two different camera modes.
2009-12-22Merged changes in the trunk up to revision 25508.Tamito Kajiyama
2009-11-10Improved context handling. Previously FRS_initialize() was used for bothTamito Kajiyama
initializing Freestyle and specifying contexts, making the API a bit messy. Now FRS_initialize() is only for initialization, and contexts are specified by new FRS_set_context() function just before starting rendering.
2009-10-15Moved #include "BLI_jitter.h" to the beginning of a series ofTamito Kajiyama
#include statements as a workaround of symbol conflicts involving rad1 and rad2 in the header file. As a side note, a different solution of the issue was attempted in revision 17518 of the branch.
2009-10-15TK's patch to correct the PythonInterpereterMaxime Curioni
2009-10-05fixed headers and SConscript to have successful buildMaxime Curioni
2009-10-05moved all Blender-Freestyle interface-related files to ↵Maxime Curioni
source/freestyle/intern/blender_interface folder
2009-10-05renamed foldersMaxime Curioni