Sam Hocevar
b85c7adfe6
Big header refactor yet again.
Let’s see how it goes with a very flat hierarchy and no .h extension.
6 anni fa
Sam Hocevar
8ea7dcfbcf
Move noise functions to the clean header namespace.
6 anni fa
Sam Hocevar
ec5f308bd3
Clean up abs/fabs discrepancies here and there.
6 anni fa
Sam Hocevar
d05eb96665
Improve standalone inclusion support.
6 anni fa
Sam Hocevar
2235ce1635
Various compilation fixes.
6 anni fa
Sam Hocevar
155ae65a4e
Start working on the header-only part of the framework.
This implies creating a trimmed down branch that contains almost
nothing. It will then be usable by projects that do not need the
complex build system, and by the engine itself as a submodule from
the same repository.
6 anni fa
Sam Hocevar
861568b146
misc: some cleanup in files, including UTF-8 BOM.
11 anni fa
Sam Hocevar
acef0b216f
math: fix a refactoring blunder.
11 anni fa
Sam Hocevar
d64b117b8d
build: fix license and copyright information.
11 anni fa
Sam Hocevar
51b4210361
base: reintroduce array::swap.
It merely performs an std::swap() on both array elements, but it’s
apparently convenient to have.
11 anni fa
Sam Hocevar
03c17fcae4
base: clean up and refactor containers.
The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
11 anni fa
Sam Hocevar
1106503917
math: simple Perlin noise for comparison purposes.
11 anni fa
Sam Hocevar
5d9488182f
math: extract the gradient generator from simplex noise so that we
can reuse it for other noise implementations.
11 anni fa
Sam Hocevar
b0b5bcc6fa
math: tweak simplex noise scale according to dimension.
11 anni fa
Sam Hocevar
7faf5d912a
math: tweak simplex noise and add plenty of comments and debug code.
11 anni fa
Sam Hocevar
0af8c1fd6f
math: shitloads of tweaks, optimisations, fixes and comments to the
simplex noise code.
11 anni fa
Sam Hocevar
5065a2653c
simplex: replace the N-dimensional gradient array with a simple seed.
11 anni fa
Sam Hocevar
4c95301d31
simplex: use scaling values that match Stefan Gustavson’s paper.
11 anni fa
Sam Hocevar
7ff3456239
simplex: optimisation; reduce the number of matrix multiplications.
11 anni fa
Sam Hocevar
ce75538bcb
simplex: some refactoring and comments, but no changes to the algorithm.
11 anni fa
Guillaume Bittoun
aa50d1c8e9
simplex_interpolator: scaling noise with an approximative factor 100 that seems to work well. No hint, so far on how to find an exact value for this scaling factor.
11 anni fa
Guillaume Bittoun
a815a788e6
simplex_interpolator: bug fix on negative values.
11 anni fa
Guillaume Bittoun
959f68142d
simplex_interpolator: first working version of simplex_interpolator. Tested (with std::cout) for 2D, should work for higher dimensions.
11 anni fa
Guillaume Bittoun
b65af37e7c
simplex_interpolator: compilation fixes + testing Interp function
11 anni fa
Lolbot
7506a8aa62
fixed 7 files out of 4184:
- removed 0 CR characters
- removed 1 trailing whitespaces
- replaced 5 tabs with spaces
- fixed 7 svn:eol-style properties
11 anni fa
Guillaume Bittoun
5dbff4b35c
simplex_interpolator: first (non-working) draft for complete interpolator process
11 anni fa
Guillaume Bittoun
6bd7142428
simplex_interpolator: sorting coordinates in regular basis + tests.
11 anni fa
Guillaume Bittoun
a6e8434c66
simplex_interpolator: adding tests for simplex base matrix check.
11 anni fa
Guillaume Bittoun
408b8277ae
simplex_interpolator: bug fixing on matrix computing
11 anni fa
Sam Hocevar
fdd6e31eda
simplex_interpolator: compilation fix.
11 anni fa
Guillaume Bittoun
97de8946e9
simplex_interpolator: fixing bug on simplex matrix generation
11 anni fa
Guillaume Bittoun
06dfb3b0c0
simplex_interpolator: removing tests and correcting skew matrix
11 anni fa
Sam Hocevar
24e7663c5c
simplex: fix confusion between interpolated types and coordinate types.
11 anni fa
Sam Hocevar
0511d9836a
simplex: fix a bug in the modulo operator. lol. and add unit tests.
11 anni fa
Sam Hocevar
a01778d768
simplex_interpolator: use a matrices when n-D arrays are not necessary.
11 anni fa
Sam Hocevar
3d0df62ba6
simplex_interpolator: fix behaviour with negative grid indices.
11 anni fa
Guillaume Bittoun
5ebce1c0c8
simplex_interpolator: refactoring a bit
11 anni fa
Guillaume Bittoun
1f715ae139
simplex_interpolator: const commit
11 anni fa
Guillaume Bittoun
4118789a53
simplex_interpolator: initializing interpolator with the samples so that it can be fully usable at creation.
11 anni fa
Guillaume Bittoun
a0e31dd6ce
simplex_interpolator: bug fix (enough for tonight)
11 anni fa
Guillaume Bittoun
1cd86f9f24
simplex_interpolator: bug fix
11 anni fa
Guillaume Bittoun
fee0a6f8e7
simplex_interpolator: bug fix
11 anni fa
Guillaume Bittoun
765358b5ac
simplex_interpolator: nit + bug fixes
11 anni fa
Guillaume Bittoun
7e01c3afd7
simplex_interpolator: starting first test. Too tired, go to bed :)
11 anni fa
Guillaume Bittoun
d513d8ac8c
simplex_interpolator: adding test skeleton + build fixes
11 anni fa
Guillaume Bittoun
b2671811b9
simplex_interpolator: still refactoring
11 anni fa
Guillaume Bittoun
e179c9f1c5
simplex_interpolator: using a lot more quick (and probably efficient) algorithm.
11 anni fa
Guillaume Bittoun
96c54bdb54
simplex_interpolator: bug fix
11 anni fa
Guillaume Bittoun
5ac765db57
simplex_interpolator: first draft of final simplex interpolator (incoming tests and bugfix)
11 anni fa
Guillaume Bittoun
150db71579
simplex_interpolator: continuing interpolation method (to be continued…)
11 anni fa