Zeno Rogue
b1cb66e468
Merge pull request #129 from Quuxplusone/unordered-map
...
Remove USE_UNORDERED_MAP because it has bit-rotted.
2020-11-05 20:03:13 +01:00
Zeno Rogue
8c4b700466
show_hyperboloid_flat option
2020-11-01 20:10:08 +01:00
Arthur O'Dwyer
d163a01b8a
Remove USE_UNORDERED_MAP because it has bit-rotted.
...
Trying to compile with `-DUSE_UNORDERED_MAP` produces lots of compiler errors
like these, because of missing `std::hash` specializations.
Also, `#define unordered_map map` is just evil!
```
./nonisotropic.cpp:875:36: note: in instantiation of template class 'std::__1::unordered_map<hr::nilv::mvec, hr::heptagon *,
std::__1::hash<hr::nilv::mvec>, std::__1::equal_to<hr::nilv::mvec>, std::__1::allocator<std::__1::pair<const hr::nilv::mvec, hr::heptagon
*> > >' requested here
unordered_map<mvec, heptagon*> at;
^
./nonisotropic.cpp:239:58: note: in instantiation of template class 'std::__1::unordered_map<std::__1::pair<hr::heptagon *, hr::heptagon *>,
hr::heptagon *, std::__1::hash<std::__1::pair<hr::heptagon *, hr::heptagon *> >, std::__1::equal_to<std::__1::pair<hr::heptagon *,
hr::heptagon *> >, std::__1::allocator<std::__1::pair<const std::__1::pair<hr::heptagon *, hr::heptagon *>, hr::heptagon *> > >'
requested here
unordered_map<pair<heptagon*, heptagon*>, heptagon*> at;
^
./nonisotropic.cpp:457:49: error: no matching member function for call to 'iadj'
while(h1->distance < h2->distance) back = iadj(h2, down) * back, h2 = h2->cmove(down);
^~~~
cell.cpp:42:15: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
transmatrix iadj(heptagon *h, int d) {
^
cell.cpp:41:22: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
struct transmatrix iadj(cell *c, int i) { cell *c1 = c->cmove(i); return adj(c1, c->c.spin(i)); }
^
```
2020-10-19 13:15:29 -04:00
Zeno Rogue
b74509c95a
Five new projections: Poor Man (hyperbolic only), Panini, retroazimuthal: Craig, Hammer, Littrow (retro-Hammer buggy on sphere)
2020-10-08 18:22:28 +02:00
Zeno Rogue
c6ed4ea736
fixed broken models with orientation change
2020-09-16 23:49:17 +02:00
Zeno Rogue
9a8d386422
fixed broken_projection with tinf
2020-09-16 23:49:17 +02:00
Zeno Rogue
5f33d6b51b
drawing:: broken_projection as a separate function
2020-09-16 23:49:17 +02:00
Zeno Rogue
e26f8f5a5b
optimized inverses
2020-09-16 23:49:17 +02:00
Zeno Rogue
2e47adef1c
new projections based on cartography
2020-09-16 23:49:17 +02:00
Zeno Rogue
c5f9005405
fixed equidistant/equiarea projections in S2
2020-09-15 19:13:24 +02:00
Zeno Rogue
6d8cc0eadc
support to draw colored textures
2020-09-11 11:08:27 +02:00
Zeno Rogue
351f45f693
GLERR after drawqueue just in case
2020-08-20 16:49:47 +02:00
Zeno Rogue
64cb6772e8
three new projections
2020-08-20 16:02:34 +02:00
Zeno Rogue
8173fc0504
more guards
2020-08-03 23:25:08 +02:00
Zeno Rogue
0c5877a7ba
no linewidth while flat_on
2020-08-01 16:42:02 +02:00
Zeno Rogue
7c3c34c3d8
sky-based fog in 2.5D
2020-08-01 13:59:53 +02:00
Zeno Rogue
ecbd8806e7
added some missing guards
2020-07-30 02:29:59 +02:00
Zeno Rogue
82f32607e6
MAJOR CHANGE: replaced (transmatrix,band_shift) pair with shiftmatrix
2020-07-28 22:06:14 +02:00
Zeno Rogue
c931cb93d5
draw_stretch without triangles
2020-07-25 03:13:30 +02:00
Zeno Rogue
94cac21716
primitive-based rendering of the Berger sphere (very poor)
2020-07-24 23:39:30 +02:00
Zeno Rogue
351eda2b5d
generalized PSL to ~SL (discrepancies still appear)
2020-07-24 02:30:50 +02:00
Zeno Rogue
7e85f07458
primitive rendering now implemented for stretched H2xE; removed the old implementation of SL(2,R)
2020-07-22 00:19:13 +02:00
Zeno Rogue
02ebc8a96a
perfect linewidth option (sometimes does not work correctly -- need to check)
2020-07-03 15:39:52 +02:00
Zeno Rogue
f3c35de400
more guards cont.
2020-07-03 14:48:36 +02:00
Zeno Rogue
89585f004b
fixed some guards (in progress)
2020-07-03 14:42:33 +02:00
Zeno Rogue
6b7a055fd3
spherical raycasting: combine with non-raycasted graphics
2020-05-25 23:53:05 +02:00
Zeno Rogue
d94ed622b7
exported hooks_drawqueue
2020-05-25 02:26:50 +02:00
Zeno Rogue
5ef7d744f9
POLY_ONE_LEVEL to draw only one level of SL2
2020-05-25 02:26:35 +02:00
Zeno Rogue
daeff80ff5
Merge pull request #108 from Quuxplusone/ifdef
...
Move all defaulting-of-`CAP_FOO` to sysconfig.h
2020-05-15 11:32:38 +02:00
Zeno Rogue
fd9ea8793e
stretch:: renamed rots_twist to stretch, also implemented for slr
2020-05-09 10:41:15 +02:00
Zeno Rogue
54804bc08b
stretched spherical geometry
2020-05-08 21:18:47 +02:00
Arthur O'Dwyer
f2b7746c1b
Move all defaulting-of-CAP_FOO
to sysconfig.h.
...
- The phrase `#ifdef CAP_` should never appear anywhere.
- The phrase `#ifndef CAP_` should appear only in sysconfig.h.
- The phrases `#if CAP_` and `#if !CAP_` may appear wherever,
as long as "sysconfig.h" is included first.
The rules for `CAP_FOO` equally apply to `ISFOO`.
There are many one-off macros still tested with `#ifdef`,
including `HAVE_ACHIEVEMENTS`, `PRINT_ACHIEVEMENTS`,
`FAKEWEB`, `FAKE_SDL`, `EASY`, and `WHATEVER`. I don't
have much grasp on what these are used for or how they're
configured, so I'm leaving them alone.
2020-05-03 15:12:12 -04:00
Zeno Rogue
93f1090891
vertex debug
2020-04-21 23:37:25 +02:00
Zeno Rogue
2e160110b3
typo fix
2020-04-19 13:54:00 +02:00
Zeno Rogue
6f6586b3f2
Merge branch 'master' into hooks-naming
2020-04-19 13:39:07 +02:00
Zeno Rogue
c0115e60e9
added some more debug lines to DF_GRAPH
2020-04-17 15:03:05 +02:00
Zeno Rogue
7a71132806
shaded rug
2020-04-17 15:01:55 +02:00
Zeno Rogue
0472bf764f
moved all projection-related parameters to a special struct; another copy of that struct created for rug
2020-04-17 00:53:58 +02:00
Zeno Rogue
84cf5d6e3a
added missing guards, mostly for CAP_WRL
2020-04-16 21:00:28 +02:00
Zeno Rogue
db916f8c95
printable rug
2020-04-15 17:07:39 +02:00
Zeno Rogue
2fb865346d
generate 'printable' models or not
2020-04-15 16:21:02 +02:00
Zeno Rogue
f150245a72
basic WRL export (no menus)
2020-04-15 11:49:29 +02:00
Arthur O'Dwyer
0d42168139
Make hookset<T> a pointer type, just like purehookset.
...
No more declaring `hookset<T> *hooks_foo`; now it's just
`hookset<T> hooks_foo` at global scope. This clears the way to
make `hookset<T>` into a class type if we want.
2020-04-12 10:50:18 -04:00
Arthur O'Dwyer
934e3d9a42
Consistently name every hookset with prefix hooks_
. NFC.
...
I'm sure this causes massive merge-conflicts in the non-public code,
but I think it'd be a good idea, if only to avoid confusion between
e.g. `clearMemory` and the-variable-formerly-known-as `clearmemory`.
2020-04-12 10:49:32 -04:00
Zeno Rogue
e4a8b73819
nisot:: nicer precision setting
2020-04-11 15:08:24 +02:00
Zeno Rogue
d790374e93
... but disable outline on eyes
2020-04-06 11:29:28 +02:00
Zeno Rogue
b1e3b0cbdf
if outline is set and no texture, wireframes are drawn
2020-04-06 11:25:55 +02:00
Zeno Rogue
4e30c79c37
fixup to neon disabling textures
2020-04-06 11:24:57 +02:00
Zeno Rogue
805c153c9f
neon_nofill option; added XLAT to vector options; neon now also disables textured triangles
2020-04-06 10:44:27 +02:00
Zeno Rogue
c1ed54763b
3D geometries should now render without OpenGL
2020-04-06 10:43:28 +02:00
Zeno Rogue
cfbd5f830c
fixed some warnings and errors with ll to int assignment
2020-04-06 09:13:20 +02:00
Zeno Rogue
9a84dfb497
adjusted mobile to the new system
2020-04-06 09:13:20 +02:00
Zeno Rogue
0412f077e6
added/fixed some \brief descriptions
2020-03-27 21:47:09 +01:00
Zeno Rogue
eadd1d90c0
added some comments in drawing.cpp
2020-03-27 21:32:43 +01:00
Zeno Rogue
4d4c904d3b
neon_mode is now an enum
2020-03-27 19:38:15 +01:00
Zeno Rogue
f4130ec730
fixed false positive warnings with _GLIBCXX_ASSERTIONS
2020-03-27 12:32:46 +01:00
Zeno Rogue
cf968c8be1
optimized drawing side walls
2020-03-08 00:33:18 +01:00
Zeno Rogue
5d9fdd83a8
fixed ODS; non-isotropic ODS
2020-03-07 04:47:10 +01:00
Zeno Rogue
99e64d862d
shallow water graphics and mechanics
2020-03-07 04:47:09 +01:00
Zeno Rogue
4b4c21cfa4
neonmodes work better with bordcolor changed
2020-02-07 18:33:58 +01:00
Zeno Rogue
8005b39f6f
ASCII/3D mode, also reacts to neon settings
2020-01-30 17:45:05 +01:00
Zeno Rogue
ca3232c3bb
extended 'linewidth' setting: illustration mode, hint about Alt, disable shadows, bright mode, colorblind simulation
2020-01-18 17:11:57 +01:00
Zeno Rogue
c247936e34
removed the functions queuechr -- use queuestr now
2019-12-26 23:38:28 +01:00
Zeno Rogue
c4528bf954
bubbles react to neon
2019-12-26 23:32:27 +01:00
Zeno Rogue
2678ac4743
neon mode (see the 'line width' setting in graphics)
2019-12-07 11:13:09 +01:00
Zeno Rogue
928e369977
ray:: stereo modes
2019-11-16 03:04:01 +01:00
Zeno Rogue
f1532591d4
fixed possible crash when drawing empty textures
2019-11-09 11:20:30 +01:00
Zeno Rogue
341934d1c5
s2xe:: removed old junk
2019-11-03 14:44:40 +01:00
Zeno Rogue
55c41463dd
s2xe:: fixed unfilled shapes
2019-11-03 14:44:26 +01:00
Zeno Rogue
3725b06d0b
levellines feature
2019-11-03 13:36:06 +01:00
Zeno Rogue
c527d4e613
ODS in hyperbolic
2019-10-21 22:42:27 +02:00
Zeno Rogue
09fcd14aa7
redesigned shader system
2019-10-21 22:34:20 +02:00
Zeno Rogue
cfc36c7bda
fisheye and ball models in nonisotropic spaces
2019-10-05 12:34:14 +02:00
Zeno Rogue
5c1568d288
added CAP_VR
2019-09-26 13:23:10 +02:00
Zeno Rogue
d1bf6fef5e
replaced product::product_sphere()
2019-09-12 22:50:16 +02:00
Zeno Rogue
99cb3f5a61
s2xe:: improved, also works with textures
2019-09-12 22:50:16 +02:00
Zeno Rogue
bc76bc472c
prettylinesub no longer tries to be pretty if flat
2019-09-12 22:50:16 +02:00
Zeno Rogue
e600c0af0a
improved the rendering of S2xE rings
2019-09-12 22:50:16 +02:00
Zeno Rogue
848eb8f48b
export everything: modules compiled separately
2019-09-12 22:50:16 +02:00
Zeno Rogue
82f24b4b6c
exporting necessary stuff all over (in progress)
2019-09-12 22:50:16 +02:00
Zeno Rogue
caf838ed22
accessors created for shader uniforms
2019-09-12 22:50:16 +02:00
Zeno Rogue
9647cbd47e
added #include hyper.h to all cpp files
2019-09-12 22:50:16 +02:00
Zeno Rogue
02269267c9
slr:: drawing of looped images, better shader in general, special sightrange setting
2019-09-12 22:50:15 +02:00
Zeno Rogue
afa6d722dd
no crash in draw_s2xe if empty shape to draw, also moved npoly to draw_s2xe
2019-09-12 22:50:14 +02:00
Zeno Rogue
fe266d3485
compilation in C++11
2019-09-12 22:50:14 +02:00
Zeno Rogue
e5fb06e6cd
product:: HUD items displayed correctly
2019-09-12 22:50:14 +02:00
Zeno Rogue
3c5a5f455a
product:: more fixes to s2xe view
2019-09-12 22:50:14 +02:00
Zeno Rogue
cb6cd1bea9
product:: fixed gen count in draw_s2xe
2019-09-12 22:50:13 +02:00
Zeno Rogue
8e943486d9
product:: fixed randomly disappearing things
2019-09-12 22:50:13 +02:00
Zeno Rogue
43a3d0130e
product:: shader-side H2xE
2019-09-12 22:50:13 +02:00
Zeno Rogue
d79a6faa6f
yet better S2xE renderer
2019-09-12 22:50:13 +02:00
Zeno Rogue
e636d3f40c
preliminary S2xE
2019-09-12 22:50:13 +02:00
Zeno Rogue
00f4f4fca5
fully turnable product spaces
2019-09-12 22:50:13 +02:00
Zeno Rogue
6958cbcbd9
product:: preliminary version (no turning)
2019-09-12 22:50:13 +02:00
Zeno Rogue
96bf478482
renamed DIM to GDIM
2019-09-12 22:50:13 +02:00
Zeno Rogue
932c9bac6c
models:: less hacky implementation of looping in pseudocylindrical projections
2019-09-12 22:50:13 +02:00
Zeno Rogue
876ece1ff6
renamed fixMercator to cyl::adjust, and its variables accordingly
2019-09-12 22:50:13 +02:00
Zeno Rogue
df9c01f276
models:: Collignon projection
2019-09-12 22:50:13 +02:00
Zeno Rogue
2c073c1ec1
cleanup of mercator_fix
2019-09-12 22:50:13 +02:00
Zeno Rogue
9d573ebd07
models:: central cylindrical and in-progress Collignon
2019-09-12 22:50:13 +02:00