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
2020-03-19Cleanup: make format after SortedIncludesJacques Lucke
2020-03-19Merge branch 'master' into functionsJacques Lucke
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-09Merge branch 'master' into functionsJacques Lucke
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-02-13Merge branch 'master' into functionsJacques Lucke
2020-02-13Cleanup: pass const variablesCampbell Barton
2020-02-10remove pad_up functionJacques Lucke
2020-02-10Merge branch 'master' into functionsJacques Lucke
2020-02-07Cleanup: use of 'unsigned'Campbell Barton
- Replace 'unsigned' used on it's own with 'uint'. - Replace 'unsigned const char' with 'const uchar'.
2019-12-08Merge branch 'master' into functionsJacques Lucke
2019-12-07Maths Node: Additional functionsCharlie Jolly
When creating shaders and using maths functions it is expected that Blender should match functions in other DCC applications, game engines and shading languages such as GLSL and OSL. This patch adds missing functions to the Blender maths node. Ideally, it would be nice to have these functions available to vectors too but that is not part of this patch. This patch adds the following functions trunc, snap, wrap, compare, pingpong, sign, radians, degrees, cosh, sinh, tanh, exp, smoothmin and inversesqrt. Sign function is based on GLSL and OSL functions and returns zero when x == 0. Differential Revision: https://developer.blender.org/D5957
2019-12-03Merge branch 'master' into functionsJacques Lucke
2019-11-27Sculpt/Paint: Move Elastic Deform Kelvinlets to BKEPablo Dobarro
After this commit it should be possible to share the same deformation formulas that are used in the Elastic Deform brush with other areas of Blender such as Grease Pencil or proportional editing. This also removes a lot of code from sculpt.c that is not direclty related to sculpting. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6281
2019-11-26Merge branch 'master' into functionsJacques Lucke
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-09-13BLI: new C++ hash table data structuresJacques Lucke
This commit adds some new hashing based data structures to blenlib. All of them use open addressing with probing currently. Furthermore, they support small object optimization, but it is not customizable yet. I'll add support for this when necessary. The following main data structures are included: **Set** A collection of values, where every value must exist at most once. This is similar to a Python `set`. **SetVector** A combination of a Set and a Vector. It supports fast search for elements and maintains insertion order when there are no deletes. All elements are stored in a continuous array. So they can be iterated over using a normal `ArrayRef`. **Map** A set of key-value-pairs, where every key must exist at most once. This is similar to a Python `dict`. **StringMap** A special map for the case when the keys are strings. This case is fairly common and allows for some optimizations. Most importantly, many unnecessary allocations can be avoided by storing strings in a single buffer. Furthermore, the interface of this class uses `StringRef` to avoid unnecessary conversions. This commit is a continuation of rB369d5e8ad2bb7.
2019-09-02Merge branch 'master' into functionsJacques Lucke
2019-08-29Move math and vector double routines into blenlib from delaunay codeHoward Trickey
2019-08-20Merge branch 'master' into functionsJacques Lucke
2019-08-20BLI: double version of some math functions.YimingWu
2019-08-18New Map, Set and SetVector implementationJacques Lucke
All tests are runnings still, but I need to do more testing in the upcoming days. This implementation uses a different approach for sharing code between the different structures. I tried different abstractions in the last weeks and this is the best one I found so far.
2019-07-29start taking alignment of types into account when constructing tuplesJacques Lucke
2019-05-31Cleanup: style, use braces in source/ (include disabled blocks)Campbell Barton
2019-04-21Cleanup: comments (long lines) in blenlibCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-27Cleanup: style, use braces for blenlibCampbell Barton
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2018-12-12Cleanup: use colon separator after parameterCampbell Barton
Helps separate variable names from descriptive text. Was already used in some parts of the code, double space and dashes were used elsewhere.
2018-05-24Fix T55137: Compilation failing on non-x86-64 architecturesLukas Stockner
Some conversion helper functions were (most likely by accident) contained inside an ifdef for SSE2 support, so on e.g. ARM they would be undefined and therefore cause compilation to fail.
2018-05-07Cleanup: rename char/float conversion functionsCampbell Barton
- FTOCHAR -> unit_float_to_uchar_clamp - F3TOCHAR3 -> unit_float_to_uchar_clamp_v3 (swap args) - F4TOCHAR4 -> unit_float_to_uchar_clamp_v4 (swap args) - FTOUSHORT -> unit_float_to_ushort_clamp - USHORTTOUCHAR -> unit_ushort_to_uchar
2018-05-07Cleanup: move unit char/short/float to functionsCampbell Barton
This caused GCC 8.1 to crash at build time, but was also not very nice use of macros.
2018-03-23Cleanup: stray tabsCampbell Barton
Tabs in middle of code (mostly for no reason / by accident).
2018-03-20Fix BLI_assert for MSVCCampbell Barton
Also use `_BLI_ASSERT` prefix for internal defines.
2018-03-20Fix compile error with MSVC2013 - Can't use __func__ (from BLI_assert) in ↵Joshua Leung
inlined functions ERROR: blenlib/intern/math_base_inline.c:371 - '__func__' : undeclared identifier (C:\blenderdev\master2\blender\source\blender\editors\lattice\editlattice_tools.c) [C2065]
2018-03-15BLI_assert: extract from BLI_utildefinesCampbell Barton
BLI_utildefines is quite large, defining many unrelated things. Add BLI_assert to include in inline headers, so math defines don't pull in too much.
2018-02-15Cleanup: styleCampbell Barton
2018-02-14Math utils: Add clamping functionsSergey Sharybin
2018-01-22Fix windows building (log10)Dalai Felinto
Error: math_base_inline.c(402): error C2668: 'log10' : ambiguous call to overloaded function
2018-01-19Util function to determine number of digits from an integerDalai Felinto
2018-01-10math utils: Add size_t version of min and max functionsSergey Sharybin
2017-09-27Math Lib: Add non-clamped round_* functionsCampbell Barton
Replace iroundf with round_fl_to_int, add other types
2017-09-18Math Lib: clamped rounding utility functionsCampbell Barton
2017-09-18Math Lib: add divide_floor_iCampbell Barton
Integer division that floors on negative output (like Python's).
2017-08-01BLI_math: add simple helper to get amount of 'integer' digits in a float number.Bastien Montagne
2016-05-05Cleanup: styleCampbell Barton
2016-05-05Transform/Snap: EditMesh/BKE_bvhutils API improvementsGermano Cavalcante
Separate the creation of trees from EditMesh from the creation of trees from DerivedMesh. This was meant to simplify the API, but didn't work out so well. `bvhtree_from_mesh_*` actually is working as `bvhtree_from_derivedmesh_*`. This is inconsistent with the trees created from EditMesh. Since for create them does not use the DerivedMesh. In such cases the dm is being used only to cache the tree in the struct DerivedMesh. What is immediately released once bvhtree is being used in functions that change(tag) the DM cleaning the cache. - Use a filter function so users of SnapObjectContext can define how edit-mesh elements are handled. - Remove em_evil. - bvhtree of EditMesh is now really cached in the snap functions. - Code becomes organized and easier to maintain. This is an important patch for future improvements in snapping functions.
2016-05-05Optimize linear<->sRGB conversion for SSE2 processorsSergey Sharybin
Using SSE2 intrinsics when available for this kind of conversions. It's not totally accurate, but accurate enough for the purposes where we're using direct colorspace conversion by-passing OCIO. Partially based on code from Cycles, partially based on other online articles: https://stackoverflow.com/questions/6475373/optimizations-for-pow-with-const-non-integer-exponent Makes projection painting on hi-res float textures smoother. This commit also enables global SSE2 in Blender. It shouldn't bring any regressions in supported hardware (we require SSE2 since 2.64 now), but should keep an eye on because compilers might have some bugs with that (unlikely, but possible).