Commit Graph

201 Commits

Author SHA1 Message Date
Zeno Rogue 355b8df23a added colors.cpp for all color-related functions 2021-03-25 10:56:20 +01:00
Zeno Rogue 56485f20a9 various changes and fixes to make coolfog and sky work correctly in VR 2021-03-09 13:12:53 +01:00
Zeno Rogue 95d4e942e2 removed obsolete profiling 2021-03-09 10:45:44 +01:00
Zeno Rogue a25ca511c3 fixup to strings on map 2021-03-07 21:31:30 +01:00
Zeno Rogue b69ea3886e vr:: strings on map are now drawn correctly 2021-03-07 21:13:31 +01:00
Zeno Rogue d8fd187986 in SDL2, SDL_gfx functions seem to use a different order of components 2021-03-07 14:14:53 +01:00
Zeno Rogue f00696711a HyperRogue ported to SDL2 (in mymake do -sdl2) 2021-03-06 14:53:25 +01:00
Zeno Rogue b744107069 fixed MINIMIZE_GL_CALLS 2021-02-07 22:55:11 +01:00
Zeno Rogue 015f6227fa redone basic graphics settings (vsync, resolution, fullscreen, gl/aa) 2021-02-07 22:55:10 +01:00
Zeno Rogue c1386d49b7 no in_vr_sphere except in sphere 2021-02-07 22:55:10 +01:00
Zeno Rogue f5ac66513c fixed CAP_VR guards 2020-12-31 19:11:14 +01:00
Zeno Rogue 0f0c4a5d02 vr:: point to the correct side of the sphere 2020-12-31 19:11:14 +01:00
Zeno Rogue 1b976d364b uniform VR control 2020-12-31 19:11:14 +01:00
Zeno Rogue e4e1a856e6 replace vrhr::state checking with nicer functions 2020-12-31 19:11:14 +01:00
Zeno Rogue 2e0ddd5a48 vr:: correctly rendered 2D sphere 2020-12-31 19:11:13 +01:00
Zeno Rogue 6217ec4702 drawing:: removed hiliteclick debug 2020-12-31 19:11:13 +01:00
Zeno Rogue f9d65a2e37 added some missing CAP_VR guards, more work on 2D in VR 2020-12-31 19:11:13 +01:00
Zeno Rogue eb6d186f00 2D models in 3D (WIP) 2020-12-31 19:11:13 +01:00
Zeno Rogue 0de8ce9a10 initial implementation of VR 2020-11-22 17:58:40 +01:00
Zeno Rogue ef3170dce7 removed the old VR preparation 2020-11-19 18:19:17 +01:00
Zeno Rogue 5312459d16 fixed SLR graphical duplication needlessly called outside of SLR 2020-11-08 11:51:36 +01:00
Zeno Rogue 71e8f84cec using GLWRAP 2020-11-08 11:49:19 +01:00
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