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-09-12code cleanup: headers - doxy comments.Campbell Barton
2013-08-19style cleanup: indent/whitespaceCampbell Barton
2013-08-11use 'greater/less then or equal to' operators rather then adding 1.Campbell Barton
2013-08-04add c++/guardedalloc to more freestyle classes, also remove redundant 'public:'Campbell Barton
2013-07-07Fix for incorrect clipping of Freestyle strokes when the viewport preview is ↵Tamito Kajiyama
used.
2013-07-03update doxygen congfig and tweaks to warnings when running doxygen.Campbell Barton
2013-06-25Fix for invalid zero-length orientation vectors.Tamito Kajiyama
Problem report by flokkievids in the BA Freestyle thread, thanks! Also made changes to suppress warnings in strip creation when Freestyle debugging is disabled.
2013-05-22Added new method Stroke.remove_all_vertices() for removing all vertices from ↵Tamito Kajiyama
the stroke. Patch from flokkievids in the BA Freestyle thread, thanks!
2013-05-16Fix for [#35352] Freestyle + Geometry Spatial Noise freezes on render.Tamito Kajiyama
SpatialNoiseShader, as well as SmoothingShader were not updating stroke length after geometry modification, causing an infinite loop in Stroke::Resample(int iNPoints) due to incorrect length-based resampling of stroke vertices.
2013-05-15Further fix for memory leaks in Freestyle Python API components:Tamito Kajiyama
- StrokeAttribute thickness setter - BezierCurve (used from within BezierCurveShader) - Smoother (used from within SmoothingShader)
2013-05-14Added support for WITH_CXX_GUARDEDALLOC build option to the Freestyle module.Tamito Kajiyama
2013-05-05correction for uv template, also some doxygen comment corrections. Campbell Barton
2013-04-16Fix for line instability with the Polygonization geometry modifier.Tamito Kajiyama
Extra long straight lines showed up randomly due to the use of an uninitialized variable as a line length parameter.
2013-04-16Fix a few warnings. One was an actual bug in freestyle where stroke attributesBrecht Van Lommel
were not properly interpolated.
2013-04-12code cleanup: warnings and style.Campbell Barton
2013-04-11code cleanup: unused vars, make other vars static.Campbell Barton
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-03Use of text datablocks for storing Python style modules.Tamito Kajiyama
Suggested by Brecht Van Lommel and Campbell Barton through code review comments. Previously style modules were external Python script files whose absolute paths were kept in .blend files. Now style modules are stored in .blend files as text datablocks. Style modules are configured in three steps: 1. Open an external style module file (or create a new text datablock) in the Text Editor in Blender. 2. Add a style module to the list of style modules (by pressing the "Add" button) in the Render Layer properties window. 3. Click the name entry and select the style module from the drop-down menu.
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-17Fix for a crash due to a bug in the handling of singularity in stroke creation,Tamito Kajiyama
where additions of a small offset (to prevent vertices from being at the same point) were not properly done when vertices were shifted in the reverse order. A problem report by Vicente Carro through personal communications, thanks a lot!
2013-03-11Another big code clean-up patch from Bastien Montagne, thanks again!Tamito Kajiyama
2013-03-03Moved operations on blend file data from C++ class destructor to a specific ↵Tamito Kajiyama
method for releasing resources. Based on review comment from Campbell.
2013-02-23Fix for texture images left unreleased.Tamito Kajiyama
2013-02-13Fix for a crash when the Polygonization geometry modifier is used with a ↵Tamito Kajiyama
small "error" parameter value. The problem was caused by a null pointer reference in CurvePiece::error() resulting from incorrect lengths of subdivided curves calculated in CurvePiece::subdivide(). Problem report by IRIE Shinsuke with a GDB backtrace log, many thanks!
2013-01-22Fix for Stroke.Resample(float iSampling) and Stroke.UpdateLength() usingTamito Kajiyama
StrokeVertex.point2d() instead of .getPoint(). It is noted that .point2d() returns a 3-dimensional vector representing a 2D-projected point, with the z component indicating a normalized depth of the original 3D point, whereas .getPoint() returns a plain 2-dimensional vector. This fix should have been done in revision 48510... Also made fix for callers of Stroke.Resample() not calling stroke.UpdateLength().
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-29Another mega (literally :p) code clean-up patch by Bastien Montagne, thanks ↵Tamito Kajiyama
again!
2012-12-26Fix encoding (from ISO 8859-15 to utf8).Bastien Montagne
2012-12-12Fix for svn:executable.Tamito Kajiyama
Reported by Bastien Montagne, thanks!
2012-12-09Fix for a number of compiler warnings as well as a bug hidden by the warnings.Tamito Kajiyama
Patch contribution by Bastien Montagne, thanks!
2012-09-23Merged changes in the trunk up to revision 50829.Tamito Kajiyama
Conflicts resolved: source/blender/blenloader/intern/readfile.c source/blender/render/intern/source/convertblender.c source/blender/render/intern/source/pipeline.c Also addressed code inconsistency due to changes in the trunk revision 50628 (color management with OCIO) and 50806 (UV project material). OCIO-related changes are marked OCIO_TODO as in some other files modified in revision 50628.
2012-07-03Fix for Stroke::Resample() in combination with the previous commit.Tamito Kajiyama
2012-07-03Fix for an inappropriate removal of singular points in stroke creation.Tamito Kajiyama
The previous stroke creation procedure was trying to clean stroke topology by removing overlapping stroke vertices in the same 2D location. The idea was to avoid having to address this kind of singularity during subsequent stroke shading. In-depth analyses revealed, however, that this was a wrong way to ensure clean stroke topology, since just deleting overlapping vertices may break the continuity of the underlying series of FEdges on top of which the stroke has been built. Such a break of linked FEdges was a major cause of frequent failure in CurvePoint::getFEdge(). The present commit aims to address the singularity issue by adding small offsets to the 2D location of overlapping vertices and making them non-overlapping to each other. Since the offsets only result in sub-pixel differences, the impact on visual outcomes is expected to be negligible.
2012-05-29Fix for the WithinImageBorderUP1D predicate not working with a ViewEdge such ↵Tamito Kajiyama
that none of the SVertices are within the image boundary but an FEdge intersects with the image boundary. The problem was reported by edna through the BA Freestyle thread, with a .blend file for reproducing the bug. Thanks!
2012-04-22Suppressed a compiler warning about an empty controlled statement.Tamito Kajiyama
Reported by flokkievids, thanks!
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.
2012-01-20Removed a hard-coded limit that the backbone stretching effect was applied toTamito Kajiyama
stokes with 2D length longer than 50. Problem report by Forrest Gimp, thanks!
2011-12-11Fix for Operators.recursiveSplit() not able to split a chain within the last ↵Tamito Kajiyama
segment.
2011-10-30Fix for stroke rendering instability with stroke geometry shaders.Tamito Kajiyama
* Stroke::Resample(int nPoints) was not properly working when a wrong value was returned from Stroke::getLength2D(), resulting in repeated warning messages "Warning: incorrect points number" during stroke rendering. The main cause was that stroke geometry shaders did not update the two-dimensional (2D) length (also referred to as curvilinear abscissa) after they modified the 2D points of stroke vertices. Now all stroke geometry shaders make explicit calls for Stroke::UpdateLength() that has been introduced for recomputing the 2D length. Many thanks to Josef who reported the problem together with sample .blend files for reproducing the issue. * Missing Python wrapper of Stroke::getLength2D() was added.
2011-10-17Another attempt to fix the failure of SVertex::getFEdge due to a discontinuityTamito Kajiyama
of underlying FEdges introduced by chaining operations. The material of a smooth FEdge is identified by the material index of the FEdge and the array of materials in the SShape to which the first SVertex (i.e., vertexA) of the FEdge belong. The present fix makes sure that the material index refers to the intended array of materials, to avoid inconsistent reference and out-of-index errors that lead to a crash.
2011-10-16Fix for a failure of SVertex::getFEdge due to a discontinuity of underlying ↵Tamito Kajiyama
FEdges introduced by chaining operations. When two ViewEdges are concatenated by a chaining operator, the last vertex of one ViewEdge and the first vertex of the other reside in the same 3D position, so that the latter vertex is omitted. This caused a pair of SVertices unconnected by an FEdge. The present commit intends to fix this issue. The bug was reported by mato_sus304 with a .blend file reproducing the issue. Thanks!
2011-09-12Fix for a minor inconsistency in the use of stroke thickness values inTamito Kajiyama
Strip::createStrip().
2011-09-11Fix for the handling of stroke vertex orientation in Strip::createStrip().Tamito Kajiyama
2011-09-11Made an attempt to fix the long-standing issue of occasional infinite lines.Tamito Kajiyama
This is still not the best solution, but seems to yield much better results.
2011-08-31Fix for an error condition in CurvePoint::getFEdge() within the C++ layer.Tamito Kajiyama
The error was identified thanks to a problem report that MaterialF0D() failed when the Face Smoothness option was enabled.
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.
2011-02-27Fixed possible memory leaks due to errors in user-defined style modules.Tamito Kajiyama
Error handling in Operators::Chain(), Operators::bidirectionalChain(), and Operators::create() was improved to release allocated data structures when errors raised in user-defined predicates, chaining iterators, and shaders.
2011-02-22Consolidation of stroke drawing.Tamito Kajiyama
Fixed a complicated bug that caused a failure of CurvePoint::getFEdge() which had affected a number of C/Python API functions such as MaterialF0D. The current view map building procedure may generate ViewEdges whose two-dimensional (2D) length is almost or exactly zero. Such a zero-length ViewEdge is possibly chained with other ViewEdges to form a stroke. When the stroke is finally generated by Operators::create(), an attempt to remove redundant vertices at the same 2D point is made. This possibly breaks the links of ViewEdges on top of which the stroke has been built, and eventually result in a fatal error of CurvePoint::getFEdge() when API functions that rely on this method are called from within a style module. The present fix addresses this issue by automatically removing zero-length ViewEdges (and Chains of them) before stroke drawing is started and after splitting is performed (e.g., using Operators::sequentialSplit()).
2011-01-31Made stroke rendering stability fixes, with the aim of addressingTamito Kajiyama
occasional unexpected long lines. 1. The Parameter Editor mode was extended to prevent strokes from doing quick U-turns that "enable" a known bug in strip creation that generates unexpected long lines in question. 2. A verbose warning message was added to make the existence of the strip creation bug visible to users. When the bug affects the stroke rendering, the following warning shows up in the console: > Warning: problem in strip creation (the strip is most likely doing a U-turn). 3. The extrapolation option of CurveMapping (used in alpha and thickness modifiers in the Parameter Editor mode) was identified as another source of unexpected long lines. Now the extrapolation option is unconditionally disabled (even when users enable it through the GUI).