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-11-17Mikktspace: Speed up the merging of identical verticesLukas Stockner
Previously, Mikktspace just bucketed the vertices based on one spatial coordinate and then ran full pairwise comparisons inside each bucket. However, since models are three-dimensional, the bucketing has a massive false-positive rate, and since pairwise comparison is O(n^2), the merging process is very slow. But, since we only care about exactly identical vertices, there is a much more efficient approach - we can just hash all values belonging to each vertex and form buckets based on the hash. Since the hash has 32 bits and considers all values, false-positives are very unlikely - and since both hashing and the radixsort that's used for bucketing are O(n), both asymptotical and real-world performance (as well as code complexity) are significantly improved.
2017-09-19Fix T52818: Tangent space calculation is really slow for high-density mesh ↵Sergey Sharybin
with degenerated topology Now we replace O(N^2) computational complexity with O(N) extra memory penalty. Memory is much cheaper than CPU time. Keep in mind, memory penalty is like 4 megabytes per 1M vertices.
2017-09-19Mikkspace: Cleanup, reduce indentation levelSergey Sharybin
2017-08-25Fix for fix (tm): Residue of the debug codeSergey Sharybin
2017-08-25Fix mistake in previous tangent space optimizationSergey Sharybin
2017-08-25Another optimization of tangent space calculationSergey Sharybin
Don't use quick sort for small arrays, bubble sort works way faster for small arrays due to cache coherency. This is what qsort() from libc is doing actually. We can also experiment unrolling some extra small arrays, for example 3 and 4 element arrays. This reduces tangent space calculation for dragon from 3.1sec to 2.9sec.
2017-08-25Optimize tangent space calculation by inlining functionsSergey Sharybin
Brings tangent space calculation from 4.6sec to 3.1sec for dragon model in BI. Cycles is also somewhat faster, but it has other bottlenecks. Funny thing, using simple `static inline` already gives a lot of speedup here. That's just answering question whether it's OK to leave decision on what to inline up to a compiler..
2017-08-03mikktspace: minor optimizationCampbell Barton
Add a safe version of normalize since all uses of normalize did zero length checks, move this into a function. Also avoid unnecessary conversion. Gives minor speedup here (approx 3-5%).
2016-10-06Fix T49523: very slow normal map tangent computation for rendering in 2.78.Brecht Van Lommel
2016-09-18Fix T49384: crash in tangent space calculation with NaN mesh vertices.Brecht Van Lommel
2016-03-13Cleanup: warningCampbell Barton
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-11-23CMake: use -Wshadow warning for C sourceCampbell Barton
C source now builds without shadowing, enable with GCC by default.
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-09-09fix [#36685] crash calculating tangent space data on degenerate geometryCampbell Barton
the error was that the range check was done on the float before converting to an int. now convert to and int first and ensure a valid range on that.
2013-08-07code cleanup: some structs were declaring data when only typedef's were ↵Campbell Barton
intended, make local vars and functions static.
2012-12-17Added GPL header to sconscripts!Bastien Montagne
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-09-20code cleanup: remove unused macros, commet some which may be useful later - ↵Campbell Barton
or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc
2012-09-15quiet -Wmissing-prototypes warnings, and enable this warning by default for ↵Campbell Barton
C with gcc. helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-06-07style cleanupCampbell Barton
2012-06-05style cleanupCampbell Barton
2012-04-28style cleanup: changes to brace placement / newlines - for/while/if/switchCampbell Barton
2011-12-23Code cleanup: fix some clang static checker warnings.Brecht Van Lommel
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-06set mikktspace functions as static which are not used externally.Campbell Barton
2011-07-16print an error message if Python.h can't be found for cmake and scons since ↵Campbell Barton
its such a common problem.
2011-05-31cmake maintenanceCampbell Barton
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python). also only build wm_apple.c on apple+carbon configuration.
2011-03-29use 'is None' rather then '== None' as suggested by python docs & mis-spelling.Campbell Barton
2011-03-28misc nodes & editors: floats were being implicitly promoted to doubles, ↵Campbell Barton
adjust to use floats. + minor update to demo_mode
2011-03-19remove some redundant vars, assignments & checks.Campbell Barton
2011-03-08Apply a small patch from mikktspace author Morten Mikkelsen (cosmetic changes).Nathan Letwory
2011-02-25doxygen: intern/mikktspace tagged.Nathan Letwory
2011-02-21add includes to cmake filesCampbell Barton
2011-02-18malloc() comes from stdlib.h per K&R ANSI C, C89 & C99.Guillermo S. Romero
If some plataform really needs malloc.h, that is the exception to get #ifdef.
2011-02-17apply fix [#26117] Recent changes to "mikktspace.c" broke building on ↵Campbell Barton
FreeBSD. Patch attached. also check for NetBSD. note: we probably should use define HAVE_MALLOC_H, seems common for other projects.
2011-02-16The modifications in mkktspace broke compilation on gcc 4.2.xM.G. Kishalmi
This is a patch proposed by sparky_ on irc.
2011-02-16fix from mikes for building on apple with gcc 4.2.1Campbell Barton
2011-02-15Fix from sparky for compile problem with older GCCNathan Letwory
2011-02-15Move mikktspace code to own library, so it is clear that it is alsoNathan Letwory
intended as a standalone library for use in other applications that want the same tangent space as Blender. This also keeps blenkernel clean(er) from extra math functions.