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-18Cleanup: missing headersCampbell Barton
2017-01-16Cleanup/refactor: Add new BLI_string_util.Bastien Montagne
Things like `BLI_uniquename` had nothing, but really nothing to do in BLI_path_util files! Also, got rid of length limitation in `BLI_uniquename_cb`, we can use alloca here to avoid overhead of malloc while keeping free size (within reasonable limits of course).
2016-10-26Cleanup: move bitmap drawing into its own moduleCampbell Barton
Bitmap drawing is out-of-scope for a general math API, move to BLI_bitmap_draw_2d.
2016-06-08BLI_array_store: move helper functions into their own APICampbell Barton
2016-05-30Add BLI_array_store copy-on-write APICampbell Barton
This supported in-memory de-duplication, useful to avoid in-efficient memory use when storing multiple, similar arrays.
2015-12-10Eigen: move C API into intern/eigen.Brecht Van Lommel
2015-12-09CMake: include eigen as a system headerCampbell Barton
2015-10-20BLI: add new 'memory_utils' module with func checking a whole memory chunk ↵Bastien Montagne
is filled of zero, and an helper to ensure all memory of a given structure passed a given member is filled of zero.
2015-07-13Add BLI_math_statistics, where stats tool shall be!Bastien Montagne
For now, only contains some 3x3 matrix covariance computing.
2015-07-13Add BLI_math_solver, where non-linear solvers should be.Bastien Montagne
For now, only has an eigen solver for 3×3 (symmetric) matrix.
2015-06-12CMake: remove commentCampbell Barton
2015-06-11Replace linked-list insert-sort with merge-sortCampbell Barton
Original code from eglib, modified for reuse with multiple linked-list implementations. Adds sort functions: BLI_linklist_sort, BLI_linklist_sort_r
2015-05-17CMake: correct file listingCampbell Barton
2015-04-21Math Lib: handling bits handling into own fileCampbell Barton
2015-04-04Cleanup: move filelist out of storageCampbell Barton
Depends on imbuf, problematic for tests
2015-04-04CMake: treat inline C files as headersCampbell Barton
2015-02-14Refactor array_utils out of BLI_arrayCampbell Barton
BLI_array.h is for resizing array macros, where as array_utils can operate on any arrays.
2015-01-09BLI: add 'A*' (AStar) shortest path solver algorithm.Bastien Montagne
Needed for transfer data.
2014-12-09Fix T42630: Triangulate returns invalid face-mapCampbell Barton
Triangulate with beautify caused a bug when there were existing edges could make the bmesh-operator return an invalid face-map. Now the beauty is calculated on the 2d-tri's resulting from polyfill, its simpler and faster.
2014-12-07Correct defines for binrelocCampbell Barton
After recent moving path functions to appdir.c patch T42826: by ldo (Lawrence D'Oliveiro)
2014-12-02Use atomic operations in task poolSergey Sharybin
This ensures proper values of currently running tasks in the pool (previously difference between mutex locks when acquiring new job and releasing it might in theory give wrong values).
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-11-14Add Murmur2A hashing feature to BLIBastien Montagne
Murmur2a is a very fast hashing function generation int32 hashes. It also features a very good distribution of generated hashes. However, it is not endianness-agnostic, meaning it will usually generate different hashes for a same key on big- and little-endian architectures. Consequently, **it shall not be used to generate persistent hashes** (never store them in .blend file e.g.). This implementation supports incremental hashing, and is a direct adaptation of reference implementation (in c++): https://smhasher.googlecode.com/svn-history/r130/trunk/MurmurHash2.cpp That cpp code was also used to generate reference values in gtests file. Reviewers: sergey, campbellbarton Reviewed By: campbellbarton Projects: #bf_blender Differential Revision: https://developer.blender.org/D892
2014-09-25Move typecheck macros into own headerCampbell Barton
2014-08-27Add a reusable dial mechanism to get rotations around a center and anAntony Riakiotakis
initial position. The system supports arbitrarily big angles.
2014-06-28CMake: update source filesCampbell Barton
2014-05-01Add BLI_compiler_compat.h to help with portabilityCampbell Barton
2014-04-18CMake was missing headerCampbell Barton
2014-04-02Rename "BLI_cpu.h" to "BLI_system.h" and add to it BLI_getpid() helper.Bastien Montagne
There is not much sense to have a whole BLI file just to check SSE2 on CPUs... So idea is to rename it to more generic "BLI_system", and add to it more system-related utils, like e.g. an include helper for getpid(), which allows to hide unix/windows internals from rest of the code... Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D439
2014-03-25Code cleanup: rename BLI_math_easing to BLI_easingCampbell Barton
Many hard coded values and really specific to time & keyframes.
2014-03-21Patch T22084: Robert Penner Easing Equations for FCurvesJoshua Leung
This commit introduces support for a number of new interpolation types which are useful for motion-graphics work. These define a number of "easing equations" (basically, equations which define some preset ways that one keyframe transitions to another) which reduce the amount of manual work (inserting and tweaking keyframes) to achieve certain common effects. For example, snappy movements, and fake-physics such as bouncing/springing effects. The additional interpolation types introduced in this commit can be found in many packages and toolkits (notably Qt and all modern web browsers). For more info and a few live demos, see [1] and [2]. Credits: * Dan Eicher (dna) - Original patch * Thomas Beck (plasmasolutions) - Porting/updating patch to 2.70 codebase * Joshua Leung (aligorith) - Code review and a few polishing tweaks Additional Resources: [1] http://easings.net [2] http://www.robertpenner.com/easing/
2014-02-13Mask: add option to detect self intersectionsCampbell Barton
2014-01-29UI: Refactor timecode functions into BLI_timecodeCampbell Barton
- deduplicate timecode_simple_string from image.c - replace V2D_UNIT_SECONDSSEQ with V2D_UNIT_SECONDS - avoid possible buffer overflow bugs (sprintf -> BLI_snprintf) - remove option not to use timecode and split into 2 functions Patch D227 by Andrew Buttery with own refactoring.
2014-01-15Fix for icon generation with MSVCCampbell Barton
Big thanks to Gaia for getting this working!
2013-11-30Geometry API: polyfill2d, ear clipping polygon filling functions.Campbell Barton
Simple/predictable polygon filling functions (no hole support) originally from libgdx which have some advantages over scanfill. - always creates the same number of triangles (never any missing faces). - gives same results for any affine transformation. - doesn't give so many skinny faces by default. made some changes for Blender. - remove last ears first (less to memmove) - step over the ears while clipping to avoid some verts becoming fans to most of the other.
2013-10-12Task scheduler ported form CYcles to CSergey Sharybin
Replaces ThreadedWorker and is gonna to be used for threaded object update in the future and some more upcoming changes. But in general, it's to be used for any task based subsystem in Blender. Originally written by Brecht, with some fixes and tweaks by self.
2013-10-03add cmake option WITH_MEM_VALGRIND, helps to track down errors with mempool ↵Campbell Barton
use which sometimes only show up as bugs in very rare cases (because even though the element is freed, the chunk is still allocated).
2013-09-10add 2d convex hull utility function, BLI_convexhull_2d(), and python api ↵Campbell Barton
mathutils.geometry.convex_hull_2d() uses Andrew's monotone chain 2D convex hull algorithm.
2013-09-06sorting utility functions for simple cases - sorting pointers by float for ↵Campbell Barton
example.
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-09-04move timeit macros into their own include, since they are only used for ↵Campbell Barton
testing and unrelated to PIL_time.h typical use.
2013-08-19Use reentrant qsort() in particle codesSergey Sharybin
Particle system code used global variable to sort hair by orig index, which is not safe for threading at all. Replaced this with usage of reentrant version of qsort, which is now implemented in BLI. It was moved from recast navigation code to BLI, so more areas could use it (if needed). -- svn merge -r59086:59087 ^/branches/soc-2013-depsgraph_mt
2013-08-17add linklist stack macros, use where over allocating an array was previously ↵Campbell Barton
done.
2013-07-28move alloca define into its own header since its not related to BLI_arrayCampbell Barton
2013-05-30remove redundant includes from cmake and scons.Campbell Barton
2013-05-28move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)Campbell Barton
remove MEM_sys_types.h which was a duplicate.
2013-05-20code cleanup: replace PARALLEL define with _OPENMPCampbell Barton
2013-04-27Fix part of #34233: bad alpha blending for 2D image painting. This is a veryBrecht Van Lommel
old issue, the formulas here were never quite right, should all work ok now with byte and float images. Some differences: * Colors with zero alpha from the background will never have an influence, so you don't get alpha fringes when painting over such areas. This does give hard edges when looking at the RGB channels alone, but there's no way to avoid that and fringes at the same time, same behavior as other painting apps. * Add/Subtract/Multiply/Lighten/Darken now leave the alpha channel unchanged and work only the RGB channels, again same behavior as many other apps. * Erase/Add alpha now compensates for premultiplied float images to keep the straight RGB colors the same. Next: fix projection painting.
2013-03-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2013-03-12Patch [#34373] Use i18n monospace font in Text editor and Python consoleIrie Shinsuke
This patch allows Blender to display i18n monospace font in the text editor and the Python interactive console. Wide characters that occupy multiple columns such as CJK characters can be displayed correctly. Furthermore, wrapping, selection, suggestion, cursor drawing, and syntax highlighting should work. Also fixes a bug [#34543]: In Text Editor false color in comment on cyrillic To estimate how many columns each character occupies, this patch uses wcwidth.c written by Markus Kuhn and distributed under MIT-style license: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c wcwidth.c is stored in extern/wcwidth and used as a static library. This patch adds new API to blenfont, blenlib and blenkernel: BLF_get_unifont_mono() BLF_free_unifont_mono() BLF_draw_mono() BLI_wcwidth() BLI_wcswidth() BLI_str_utf8_char_width() BLI_str_utf8_char_width_safe() txt_utf8_offset_to_column() txt_utf8_column_to_offset()