7b083df977
maths: tighten up type requirements for almost_equal
...
almost_equal only operates on two reals, or two integers (and even then
only on the same signedness).
2015-11-13 17:18:10 +11:00
003685ce2b
image: templatise on component count
2015-10-20 16:54:15 +11:00
f9bb2be93c
noise/midpoint: use explicit image extent query
2015-10-19 17:07:53 +11:00
d73e86b374
coord: avoid casting errors for coord types
2015-10-19 12:06:03 +11:00
20bafa2cfb
geom: move geometry primitives to own namespace
2015-10-13 18:19:47 +11:00
51b8ef762a
noise/fractal: add default constructors
...
we often use these in arrays which are annoying to construct otherwise
2015-10-13 00:04:17 +11:00
98ef67fa8d
n/basis: add noexcept to all generators
2015-10-08 12:20:25 +11:00
e769b8f74a
noise: annotate generators with noexcept
2015-10-07 14:37:22 +11:00
f0f1522307
n/basis: extract gradient generators
2015-10-07 14:36:55 +11:00
ed124949a8
n/turbulence: quiesce warning about glorious hack
2015-10-07 00:23:28 +11:00
8b458ad452
noise: reduce repetition in template params
2015-10-07 00:22:05 +11:00
b464f089a5
noise: use permutation random generator
...
much faster for common operations
2015-10-06 21:19:17 +11:00
e80e445645
noise: support n-dimensional noise
2015-10-06 15:45:26 +11:00
a03d407204
n/basis: simplify fractional point extraction
2015-09-29 18:07:12 +10:00
0f0e3a8c93
noise/basis: add exp weighted perlin gradient basis
...
useful for terrain generation
2015-09-29 17:42:20 +10:00
5a8201f78b
n/b/patch: remove broken fastmath calls
2015-09-29 17:42:20 +10:00
040e935b6d
n/f/rmf: add offset accessor
2015-09-15 21:07:41 +10:00
6c7c35d2dd
n/f/hetero: add default offset estimation
2015-09-15 21:07:13 +10:00
dd84b7022e
n/turbulence: style
2015-09-09 18:45:23 +10:00
0e836b951f
noise/fwd: rename base to forward
...
all it's doing is holding trivial fundamental typedefs anyway
2015-09-09 18:21:26 +10:00
47a80f4217
n/f/runtime: return reference to child on reset
2015-08-28 21:08:41 +10:00
7733bc1b74
n/f/hetero: add offset getter/setter
2015-08-28 21:08:16 +10:00
4e623262ad
noise/fractal: add amplitude/gain setter/getter
2015-08-28 21:07:44 +10:00
c3b4dfc34d
n/b/patch: use fast math where appropriate
2015-07-29 16:12:22 +10:00
48d6a007a2
n/b/patch: add blur width parameter
2015-07-28 18:14:10 +10:00
8e92bd977b
n/b/runtime: forward child constructor args
2015-07-28 17:52:21 +10:00
573e44bf6f
n/b/patch: fix header path for external use
2015-07-24 16:01:29 +10:00
33dece611a
n/basis: add patch basis function
2015-07-24 01:37:36 +10:00
61c9e40605
n/midpoint: remove reference to useless header
2015-07-01 23:33:49 +10:00
174281ce20
n/rand: add general keyed random facility
2015-07-01 23:33:39 +10:00
6b712e2f57
n/midpoint: extract midpoint displacement funcs
2015-07-01 01:03:34 +10:00
9bfdfa3f12
noise: remove constexpr from most methods
...
temporary measure until debug macros can be made constexpr
2015-06-30 22:24:43 +10:00
72e7c60c4e
n/turbulence: whitespace
2015-06-30 22:23:32 +10:00
7b9a01c790
n/fractal: increment fractal pos between octave
...
given summation occurs with only scaling of positions between octaves,
points around the origin are likely to remain self-similar between
octaves. but nudging the point out range of the origin's unit surrounds
we can avoid degenerate highlights.
2015-06-17 03:06:05 +10:00
d9f4f5116c
n/basis: remove superfluous abs
2015-06-17 03:05:31 +10:00
6e5bd1885d
n/fractal: add runtime switchable fractal
2015-06-11 19:33:51 +10:00
5648ba63b3
n/basis: add runtime switchable basis function
2015-06-11 19:33:25 +10:00
9cb9ef3811
n/turbulence: add seed accessors
2015-06-11 19:32:57 +10:00
5fbfa94dac
n/f/base: add basis accessor
2015-06-11 19:32:35 +10:00
c3e3b79b2c
n/f/base: add accessor implementations
2015-06-11 19:32:29 +10:00
244a632647
n/lerp: avoid unused variables in release
2015-06-04 20:20:04 +10:00
588b38fd17
hash: move wang mixing funcs into seperate unit
2015-06-02 21:11:57 +10:00
7dcba618c0
noise: add turbulence (displacement) combiner
2015-06-02 20:33:00 +10:00
7311acaef6
n/f/base: add frequency accessor implementation
2015-06-02 20:33:00 +10:00
be2317b605
n/basis: add seed accessor method
2015-06-02 17:07:42 +10:00
83f23fe836
n/f/hetero: use unsigned type for octaves
2015-06-02 17:06:46 +10:00
4f7a3d790f
n/f/fbm: accumulate frequency directly on point
...
avoids (minimal) extra multiplications.
2015-06-02 16:17:44 +10:00
6278902e3e
n/fractal: use a common base class
...
some working variables need to be precomputed. it makes sense to do this
in a base class.
2015-06-02 16:13:12 +10:00
bc1c576297
n/fractal: use hurst parameters consistently
2015-06-02 00:15:02 +10:00
1ec4b7b9a1
noise: add constexpr to eval functions
2015-06-01 18:45:47 +10:00