Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-03-19 | Cleanup: `make format` after SortedIncludes change | Dalai Felinto | |
2020-01-31 | Fix more undefined behavior in tangent space computation | Brecht Van Lommel | |
Ref D6677 | |||
2020-01-27 | Fix undefined behavior in tangent space computation | Simon G | |
Use an improved implementation for circular shift. Differential Revision: https://developer.blender.org/D6677 | |||
2019-10-03 | Cleanup: unused structs, struct members | Campbell Barton | |
2019-05-01 | Cleanup: comments (long lines) in mikktspace | Campbell Barton | |
2019-04-17 | ClangFormat: format '#if 0' code in intern/ | Campbell Barton | |
2019-04-17 | ClangFormat: apply to source, most of intern | Campbell 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-02-18 | doxygen: add newline after \file | Campbell Barton | |
While \file doesn't need an argument, it can't have another doxy command after it. | |||
2019-02-06 | Cleanup: remove redundant doxygen \file argument | Campbell Barton | |
Move \ingroup onto same line to be more compact and make it clear the file is in the group. | |||
2017-11-17 | Mikktspace: Speed up the merging of identical vertices | Lukas 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-19 | Fix 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-19 | Mikkspace: Cleanup, reduce indentation level | Sergey Sharybin | |
2017-08-25 | Fix for fix (tm): Residue of the debug code | Sergey Sharybin | |
2017-08-25 | Fix mistake in previous tangent space optimization | Sergey Sharybin | |
2017-08-25 | Another optimization of tangent space calculation | Sergey 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-25 | Optimize tangent space calculation by inlining functions | Sergey 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-03 | mikktspace: minor optimization | Campbell 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-06 | Fix T49523: very slow normal map tangent computation for rendering in 2.78. | Brecht Van Lommel | |
2016-09-18 | Fix T49384: crash in tangent space calculation with NaN mesh vertices. | Brecht Van Lommel | |
2016-03-13 | Cleanup: warning | Campbell Barton | |
2013-12-22 | Style Cleanup: remove preprocessor indentation (updated wiki style guide too) | Campbell Barton | |
2013-09-09 | fix [#36685] crash calculating tangent space data on degenerate geometry | Campbell 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-07 | code cleanup: some structs were declaring data when only typedef's were ↵ | Campbell Barton | |
intended, make local vars and functions static. | |||
2012-09-20 | code 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-15 | quiet -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-07 | style cleanup | Campbell Barton | |
2012-06-05 | style cleanup | Campbell Barton | |
2012-04-28 | style cleanup: changes to brace placement / newlines - for/while/if/switch | Campbell Barton | |
2011-12-23 | Code cleanup: fix some clang static checker warnings. | Brecht Van Lommel | |
2011-10-06 | set mikktspace functions as static which are not used externally. | Campbell Barton | |
2011-07-16 | print an error message if Python.h can't be found for cmake and scons since ↵ | Campbell Barton | |
its such a common problem. | |||
2011-03-29 | use 'is None' rather then '== None' as suggested by python docs & mis-spelling. | Campbell Barton | |
2011-03-28 | misc nodes & editors: floats were being implicitly promoted to doubles, ↵ | Campbell Barton | |
adjust to use floats. + minor update to demo_mode | |||
2011-03-19 | remove some redundant vars, assignments & checks. | Campbell Barton | |
2011-03-08 | Apply a small patch from mikktspace author Morten Mikkelsen (cosmetic changes). | Nathan Letwory | |
2011-02-25 | doxygen: intern/mikktspace tagged. | Nathan Letwory | |
2011-02-18 | malloc() 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-17 | apply 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-16 | The modifications in mkktspace broke compilation on gcc 4.2.x | M.G. Kishalmi | |
This is a patch proposed by sparky_ on irc. | |||
2011-02-16 | fix from mikes for building on apple with gcc 4.2.1 | Campbell Barton | |
2011-02-15 | Fix from sparky for compile problem with older GCC | Nathan Letwory | |
2011-02-15 | Move mikktspace code to own library, so it is clear that it is also | Nathan 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. |