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
2014-03-09Fix for prevoius commit: accidentally changed a ifndef to ifdef.Juergen Herrmann
2014-03-09Cleanup some useless/unneeded #ifdefs for MSVC2013.Juergen Herrmann
2014-03-05Freestyle: Fix for incorrect comparisons of Nature values with integer and ↵Tamito Kajiyama
boolean values. The problem is that comparisons involving the constants Nature.POINT (for vertices) and Nature.NO_FEATURE (for edges) were evaluated in a wrong way. It is recalled that the Nature class is a subclass of Python's built-in int type, and that these two constants are zero when evaluated as numbers. The issue was caused by the implementation of the constants in an incompatible way for comparison with Python int (and boolean) values. Specifically, the zero of Python int is represented by an empty array of digits, whereas the zero-valued Nature constants were represented by an array of size 1. Python int comparison operators first check the lengths of the arrays of two operands, and then start comparing the digits only when the array length is the same. For this reason, the two Nature constants were not properly compared with int values (and thus with boolean values). It is noted that the zero-valued Nature constants may result from bitwise operations on other Nature constants (e.g., Nature.SILHOUETTE & Nature.BORDER), so this issue must have affected many existing style modules. The problem was reported by Folkert de Vries (flokkievids) through personal communications. Thanks a lot!
2014-02-28Fix T38887: error in (still unused) freestyle math function implementation.Brecht Van Lommel
2014-02-13Freestyle: Follow-up fix for the chaining operation bug in the previous commit.Tamito Kajiyama
Many thanks to flokkievids for identifying the inconsistency.
2014-02-12Freestyle: Fix for chaining operators not concatenating edges with Freestyle ↵Tamito Kajiyama
edge marks and at material boundaries. Problem report by Postoman on the BlenderArtists.org Freestyle thread, thanks a lot!
2014-02-05Code cleanup: use bool for static methodsCampbell Barton
2014-02-03Code cleanup: white space and cmake was broken on all platformsCampbell Barton
2014-02-02Freestyle: Fix for iterations over 0D elements in the reversed order.Tamito Kajiyama
The revision is concerned with Interface0DIterator and StrokeVertexIterator. These iterators can be generated by Interface1D::vertices_end() and Stroke::stroke_vertices_end(), respectively. These methods return an iterator poinitng the next index of the last 0D element (i.e., iterator's is_end property is true). When the iterators created in this way are used with Python's iterator protocol (e.g., in a for-loop), iterations over 0D elements are automatically performed in the reversed order. This functionality was broken after recent revisions concerning Freestyle iterators. Also made minor code cleanup (white space).
2014-02-02Docstring updates and code cleanup by flokkievids (Folkert de Vries).Tamito Kajiyama
2014-02-02Code cleanup (mostly indentation and white space).Tamito Kajiyama
2014-02-02Fix for iterators' at_start flag left unset in C++ to Python conversion ↵Tamito Kajiyama
utility functions. Also changed the type of the 'reversed' flag from int to bool.
2014-02-02Imported D222 Diff 2 (ID 781) by flokkievids (Folkert de Vries).Tamito Kajiyama
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.
2014-01-15Fix collada and freestyle module compile errors after recent commit, forgot toBrecht Van Lommel
compile with those enabled.
2014-01-15Fix for infinite freestyle re-render in the viewportSergey Sharybin
Was a regression since e618d8238e0e and was caused by the wrong main being tagged for update.
2014-01-13Fix T38054: High CPU usage with many objectsSergey Sharybin
This is a regression since threaded dependency graph landed to master. Root of the issue goes to the loads of graph preparation being done even if there's nothing to be updated. The idea of this change is to use ID type recalc bits to determine whether there're objects to be updated. Generally speaking, we now check object and object data datablocks with DAG_id_type_tagged() and if there's no such IDs tagged we skip the whole task pool creation and so, The only difficult aspect was that in some circumstances it was possible that there are tagged objects but nothing in ID recalc bit fields. There were several different circumstances when it was possible: * When one assigns object->recalc flag directly DAG flush didn't set corresponding bits to ID recalc bits. Partially it is fixed by making it so flush will set bitfield, but also for object types there's no reason to assign recalc flag directly. Using generic DAG_id_type_tag works almost the same fast as direct assignment, ensures all the bitflags are set properly and for the long run it seems it's what we would actually want to. * DAG_on_visible_update() didn't set recalc bits at all. * Some areas were checking for object->recalc != 0, however it is was possible that object recalc flag contains PSYS_RECALC_CHILD which was never cleaned from there. No idea why would we need to assign such a flag when enabling scene simplification, this is to be investigated separately. * It is possible that scene_update_post and frame_update_post handlers will modify objects. The issue is that DAG_ids_clear_recalc is called just after callbacks, which leaves objects with recalc flags but no corresponding bit in ID recalc bitfield. This leads to some kind of regression when using ID type tag fields to check whether there objects to be updated internally comparing threaded DAG with legacy one. For now let's have a workaround which will preserve tag for ID_OB if there're objects with OB_RECALC_ALL bits. This keeps behavior unchanged comparing with 2.69 release.
2013-12-18Fix compile on MSVC, we don't use "isfinite" anywhere else inside ↵Thomas Dinges
source/blender ;)
2013-12-17Fix crash in freestyle vector parsing (hard to believe nobody noticed)Campbell Barton
Vectors were being assigned as an array of classes in Vec2f_ptr_from_PyObject and similar functions, rather then assigning a number to each axis.
2013-12-17Fix for obscure freestyle crash when attempting to negate INT_MINCampbell Barton
This gives undefined behavior - in my case stays the same value and crashes. Check for finite input resolves the issue.
2013-12-17Py API: use direct access to list/tuple size when type is knownCampbell Barton
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-11-17Freestyle: a follow-up fix of trunk revision 61233. When an iterator has ↵Tamito Kajiyama
reached the end, any reference of the object pointed by it will now lead to a RuntimeError instead of returning None, with the aim of forcing Python API users to check the end of iteration rather than implicitly indicating the error condition. Acknowledgement to flokkievids for API discussions in the BlenderArtists.org Freestyle for Blender thread.
2013-11-12Fix #37092 and #37381: crashes in the .object() method of Freestyle iterators.Tamito Kajiyama
Now the method checks if the iterator is at the end, and returns None if that is the case.
2013-11-05Additional code improvements: avoid unnecessary Python object allocations in ↵Tamito Kajiyama
Freestyle.
2013-11-03Minor code improvements: avoid unnecessary Python object allocations in ↵Tamito Kajiyama
Freestyle color blending.
2013-11-03Fix for missing calls of BaseMath_ReadCallback() when accessing vector/color ↵Tamito Kajiyama
elements. This bug was causing wrong color blending results in Freestyle color modifiers. Problem report from Light BWK through personal communications, thanks!
2013-10-31code cleanup: spellingCampbell Barton
2013-10-31Fix for Freestyle rendering errors with color blend modes SOFT_LIGHT and ↵Tamito Kajiyama
LINEAR_LIGHT.
2013-10-24Fix for occasional crashes due to numerical instability in Freestyle Perlin ↵Tamito Kajiyama
noise modifiers with a large 'octaves' value. Problem report by Light BWK through personal communications, thanks a lot!
2013-09-30more fixes relating to [#36878], freestyle was only checking for NULL ↵Campbell Barton
linestyles in some places.
2013-09-21style cleanup: whitespace & odd indentationCampbell Barton
2013-09-15Fix [#36727] Curve Object Scaled to 0 + Freestyle = CrashBastien Montagne
Division by zero...
2013-09-12code cleanup: headers - doxy comments.Campbell Barton
2013-09-05code cleanup:Campbell Barton
- add missing headers from cmake (own omission) - quiet rna_test.c unused define warnings. - minor style edits - spelling corrections and ignore all uppercase words with spell checking script.
2013-08-24Quiet annoying VC++ warning C4819: The file contains a character that cannot ↵Tamito Kajiyama
be represented in the current code page.
2013-08-24Add stdlib.h to solve compilation error caused by missing abort() prototypeSergey Sharybin
Perhaps we'd better move this include to BLI_utildefines as we made with with other includes needed for BLI_abort?
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-19style cleanup: indent/whitespaceCampbell Barton
2013-08-11use 'greater/less then or equal to' operators rather then adding 1.Campbell Barton
2013-08-08Fix for a formatting error in the docstring of SVertex.viewvertex().Tamito Kajiyama
2013-08-08Fix for docstrings of CurvePoint.first_svertex() and ↵Tamito Kajiyama
CurvePoint.second_svertex().
2013-08-04add c++/guardedalloc to more freestyle classes, also remove redundant 'public:'Campbell Barton
2013-07-20Fix for docstring inconsistency in Stroke.stroke_vertices_end().Tamito Kajiyama
2013-07-13Fix for [#35482] 2.67 freestyle line visibility computation bug.Tamito Kajiyama
The reported line visibility issue was caused by a wrong calculation of a 2D bounding box (so-called "proscenium face" in Freestyle) in the case of a spherical grid data structure used for a perspective camera. The problem was resulting from the proscenium computation based on two corners (min and max) of the 3D bounding box of imported mesh data. Aware of the spherical coordinate transformation involving non-linear (arctangent) functions, now the proscenium is computed by taking in account all the eight corners of the 3D bounding box. Also added minor code changes to facilitate future debugging.
2013-07-12optimize interp_weights_poly_v2(), well tested, was calculating the area ↵Campbell Barton
twice as much as was needed.
2013-07-11Fix for Bug #35695: Freestyle produces extra line across an object with ↵Tamito Kajiyama
pointed areas. The cause of inconsistent edge connectivity in the view map (documented in the commit log of revision 58006) was identified and fixed. The problem was that when a ViewEdge was split at a cusp vertex (ViewMapBuilder::computeCusps()), the ViewVertex at one end of a newly created ViewEdge in ViewMap::InsertViewVertex() was not properly updated to take account of edge connectivity changes.
2013-07-10Fix for bug #36009: Rendered ortho view messes up Freestyle lines in 3D ↵Tamito Kajiyama
viewport. Clipping start is negative when the viewport preview is used with the orthographic view, while Freestyle assumes that imported mesh data are in the camera coordinate system with the view point located at origin. The present solution is to adjust the clipping start/end and introduce a Z-axis offset for mesh vertices so as to satisfy the assumption.
2013-07-07Fix for incorrect clipping of Freestyle strokes when the viewport preview is ↵Tamito Kajiyama
used.