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
2018-09-19Cleanup: rename BLI_simple_expr -> BLI_expr_pylike_evalCampbell Barton
Simple isn't a good prefix for library names since lots of unrelated modules could be called 'simple'. Include 'py' in module name since this is a subset of Python, one of the main motivations for this is to be Python like/compatible.
2018-09-18Support evaluating simple driver expressions without Python interpreter.Alexander Gavrilov
Recently @sergey found that hard-coding evaluation of certain very common driver expressions without calling the Python interpreter produces a 30-40% performance improvement. Since hard-coding is obviously not suitable for production, I implemented a proper parser and interpreter for simple arithmetic expressions in C. The evaluator supports +, -, *, /, (), ==, !=, <, <=, >, >=, and, or, not, ternary if; driver variables, frame, pi, True, False, and a subset of standard math functions that seem most useful. Booleans are represented as numbers, since within the supported operation set it seems to be impossible to distinguish True/False from 1.0/0.0. Boolean operations properly implement lazy evaluation with jumps, and comparisons support chaining like 'a < b < c...'. Expressions are parsed into a very simple stack machine program that can then be safely evaluated in multiple threads. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D3698
2018-07-18Merge branch 'master' into blender2.8Brecht Van Lommel
2018-07-18Compositor: Cryptomatte compositing node.Stefan Werner
This patch adds a new matte node that implements the Cryptomatte specification. It also incluces a custom eye dropper that works outside of a color picker. Cryptomatte export for the Cycles render engine will be in a separate patch. Reviewers: brecht Reviewed By: brecht Subscribers: brecht Tags: #compositing Differential Revision: https://developer.blender.org/D3531
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17CMake: add missing headersCampbell Barton
2018-04-20Remove Armature Sketching & RetargetCampbell Barton
While the feature is interesting, it's not much from what we can tell. Retargeting is an important feature but needs to fit in better with typical animation work-flows. See: T52809
2018-04-16Merge branch 'master' into blender2.8Sergey Sharybin
2018-04-16Added lock-free single linked list implementationSergey Sharybin
Only supports lock-free insertion for now, can not delete element or traverse the list at the same time.
2018-03-16Merge branch 'master' into blender2.8Sergey Sharybin
2018-03-16Add Truecolor ANSI console constantsSergey Sharybin
They are used to start and end colored output in console. Use with care, it is up to you to check that console actually supports Truecolor ANSII. In thew future we can extend this to other consoles and platforms.
2018-02-18Merge branch 'master' into blender2.8Campbell Barton
2018-02-18Cleanup: split GHash helpers from implementationCampbell Barton
2018-02-18Cleanup: add 2d suffix to BLI filesCampbell Barton
Some of these API's can have 3D versions, explicitly name them 2D.
2017-09-19Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-19CMake: update for renamed headersCampbell Barton
2017-08-23Merge branch 'master' into blender2.8Campbell Barton
2017-08-23Cleanup: move variadic defines to their own headerCampbell Barton
So we can use in headers without pulling in many other defines.
2017-07-29BLI_memiter: Small API for many small allocationsCampbell Barton
- Each allocation can be a different size (but should be smaller than the chunk size). - Result can be looped over in order of allocation. - Allocations are aligned to pointer size to avoid unaligned reads.
2017-04-18Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
2017-04-18Cleanup: missing headersCampbell Barton
2017-02-07Render Layers and Collections (merge from render-layers)Dalai Felinto
Design Documents ---------------- * https://wiki.blender.org/index.php/Dev:2.8/Source/Layers * https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised User Commit Log --------------- * New Layer and Collection system to replace render layers and viewport layers. * A layer is a set of collections of objects (and their drawing options) required for specific tasks. * A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers. * All Scenes have a master collection that all other collections are children of. * New collection "context" tab (in Properties Editor) * New temporary viewport "collections" panel to control per-collection visibility Missing User Features --------------------- * Collection "Filter" Option to add objects based on their names * Collection Manager operators The existing buttons are placeholders * Collection Manager drawing The editor main region is empty * Collection Override * Per-Collection engine settings This will come as a separate commit, as part of the clay-engine branch Dev Commit Log -------------- * New DNA file (DNA_layer_types.h) with the new structs We are replacing Base by a new extended Base while keeping it backward compatible with some legacy settings (i.e., lay, flag_legacy). Renamed all Base to BaseLegacy to make it clear the areas of code that still need to be converted Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp * Unittesting for main syncronization requirements - read, write, add/copy/remove objects, copy scene, collection link/unlinking, context) * New Editor: Collection Manager Based on patch by Julian Eisel This is extracted from the layer-manager branch. With the following changes: - Renamed references of layer manager to collections manager - I doesn't include the editors/space_collections/ draw and util files - The drawing code itself will be implemented separately by Julian * Base / Object: A little note about them. Original Blender code would try to keep them in sync through the code, juggling flags back and forth. This will now be handled by Depsgraph, keeping Object and Bases more separated throughout the non-rendering code. Scene.base is being cleared in doversion, and the old viewport drawing code was poorly converted to use the new bases while the new viewport code doesn't get merged and replace the old one. Python API Changes ------------------ ``` - scene.layers + # no longer exists - scene.objects + scene.scene_layers.active.objects - scene.objects.active + scene.render_layers.active.objects.active - bpy.context.scene.objects.link() + bpy.context.scene_collection.objects.link() - bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None) + bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None) - bpy.context.object.select + bpy.context.object.select = True + bpy.context.object.select = False + bpy.context.object.select_get() + bpy.context.object.select_set(action='SELECT') + bpy.context.object.select_set(action='DESELECT') -AddObjectHelper.layers + # no longer exists ```
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