Commit Graph

95 Commits

Author SHA1 Message Date
424e6e8701 cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
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