Commit Graph

380 Commits

Author SHA1 Message Date
Zeno Rogue 3c9e4db46e major cleanup of projection setting 2019-09-12 22:43:00 +02:00
Zeno Rogue 1cc26a7337 twisting fix 2019-09-12 22:42:59 +02:00
Zeno Rogue c0145c0d9c 3d:: Euclidean tori 2019-09-12 22:42:59 +02:00
Zeno Rogue a08cf0c8fd no more model boundaries in 3D 2019-09-12 22:42:58 +02:00
Zeno Rogue 6b91dc2d7d 3d:: fixed invis_point and behindsphere 2019-09-12 22:42:58 +02:00
Zeno Rogue fd5dfd6b39 spiral projection generalized 2019-09-12 22:42:58 +02:00
Zeno Rogue 4284831069 more options in line animation 2019-09-12 22:42:58 +02:00
Zeno Rogue bca98e9247 more stable PC centering 2019-09-12 22:42:58 +02:00
Zeno Rogue 2b61413a81 azimuthal equivolume projection 2019-09-12 22:42:58 +02:00
Zeno Rogue a3cea92004 fixed fisheye in 3D 2019-09-12 22:38:47 +02:00
Zeno Rogue ab7a322e5e 3d:: smart display for 3D 2019-09-12 22:38:47 +02:00
Zeno Rogue c505bd55a8 3d:: fixed halfplane_scale not in GL 2019-09-12 22:38:47 +02:00
Zeno Rogue 01a2f0cc5a 3d:: change model orientation in the YZ plane 2019-09-12 22:38:47 +02:00
Zeno Rogue 46ae64e945 3d:: native perspective is now pmodel == mdPerspective, and other models work too 2019-09-12 22:38:47 +02:00
Zeno Rogue d369decc94 3d:: field quotient spaces for reg3 2019-09-12 22:38:46 +02:00
Zeno Rogue 943a8395e5 3d:: 3d is affected by cells_drawn_limit; improved the sightrange edit dialog with more options and better help 2019-09-12 22:38:45 +02:00
Zeno Rogue d9b90d8a8e 3D:: two-player uses split screen 2019-09-12 22:38:45 +02:00
Zeno Rogue 6d72bd820b 3d:: extra_generation_distance (todo: make it configurable from menus) 2019-09-12 22:38:45 +02:00
Zeno Rogue 78d88b5909 improved in the OO fashion: draw, relative_matrix, create_step, and several minor functions are now virtual in hrmap 2019-09-12 22:38:44 +02:00
Zeno Rogue 52ce5ac9aa 3d:: all the regular honeycombs 2019-09-12 22:38:43 +02:00
? dd57f2733a 3d:: applymodel now works correctly (to find onscreen coordinates) 2019-09-12 22:38:42 +02:00
? 41c3bd9b58 racing:: added missing CAP_RACING guard 2019-09-12 22:38:42 +02:00
? 54f278963c renamed MAXDIM to MAXMDIM (conflict with crystal) 2019-09-12 22:38:42 +02:00
? 041c7af987 3d:: *_d functions now consistently put d as the first argument 2019-09-12 22:38:42 +02:00
? a1ca5b2995 fixed centerpc in Euclidean with yshift 2019-09-12 22:38:42 +02:00
? 35a4330412 3d:: 1/2/3 perspectives in noshmup 2019-09-12 22:38:42 +02:00
? 0d795e60bf 3d::racing:: 3d racing (partial) 2019-09-12 22:38:42 +02:00
? 168b3fb11d 3D:: smooth TPP; display player or not correctly 2019-09-12 22:38:42 +02:00
? 5c2cb1de76 fixed centerpc to use zero_d(H, DIM) instead of zero_d(H, 2) 2019-09-12 22:38:42 +02:00
? 85cb1bbb11 3D:: no more autocentering if vid.sspeed <= -5 2019-09-12 22:38:41 +02:00
? 051055922b 3d:: fixed a bug in centerpc 2019-09-12 22:38:40 +02:00
? fb71d4fd15 3D:: sightranges are now configurable 2019-09-12 22:38:40 +02:00
? 6c2c899d2a 3D:: actualV returns V 2019-09-12 22:38:40 +02:00
? bba0e5138e 3d:: shmup mode now works as a fps 2019-09-12 22:38:40 +02:00
? f743a46010 3d:: fixed optimizeview in sphere3 2019-09-12 22:38:40 +02:00
? 33d4854c14 3D:: 120-cell 2019-09-12 22:38:40 +02:00
? 1fcf58e17a 3D:: shader variants for R3 and S3 2019-09-12 22:38:40 +02:00
? c7cb93f2ed moved all the Euclidean maps to euclid.cpp 2019-09-12 22:38:40 +02:00
? 7110be2032 3D:: cube tiling 2019-09-12 22:38:40 +02:00
? e8fa30de4c btrange_cosh checked in do_draw 2019-09-12 22:38:40 +02:00
? 56d628d4d8 adjusting for 3D part II 2019-09-12 22:38:39 +02:00
? e73d2f2f22 some work on 3D view 2019-09-12 22:38:39 +02:00
? a3eb161235 added CAP_SHAPES: poly system works, but no shapes are used 2019-09-12 22:38:39 +02:00
? dd0f573ca9 hyperpoint adjusted for 3D geometry 2019-09-12 22:38:39 +02:00
? e39777f04d CAP_ animations etc. cleanup 2019-09-12 22:38:39 +02:00
? 99aa7e420b CAP_POLY part 1 2019-09-12 22:38:39 +02:00
? b25730d5c9 geometry flags part 1 2019-09-12 22:38:39 +02:00
Zeno Rogue 8756b8e27a racing::standard_centering 2019-09-12 22:38:39 +02:00
Zeno Rogue 16a5e45c0a racing:: first commit 2019-04-29 17:19:05 +02:00
Zeno Rogue 075ab6f1e8 allowChangeRange() used where it should 2019-02-09 12:49:53 +01:00
Zeno Rogue 8a18dd3c1c formula works in spherical geometry 2019-02-08 16:51:50 +01:00
Zeno Rogue 8426007577 fixed incorrect mouse interpretation in models 2019-02-06 22:42:11 +01:00
Zeno Rogue 94ce1eb541 fixed_facing option, not only in racing 2019-02-06 18:48:53 +01:00
Zeno Rogue 459619ff35 X sign in rotated hyperboles 2019-02-06 16:39:08 +01:00
Zeno Rogue 39ce061fa7 use_atan configurable for RotatedHyperboles 2019-02-06 16:39:08 +01:00
Zeno Rogue 3d76e90584 conical spirals and bands 2019-02-06 16:36:52 +01:00
Zeno Rogue 4e4fce922e added some missing CAP_ guards 2018-12-15 15:17:06 +01:00
Zeno Rogue 8ba603fba3 svg:: circles now have better linewidth 2018-12-14 19:30:22 +01:00
Zeno Rogue 5701491cb0 fixed drawn_cells reserve 2018-12-14 19:30:22 +01:00
Zeno Rogue c73b598d93 screenshots are more configurable now 2018-12-14 19:30:17 +01:00
Zeno Rogue d8bf550d37 surface 3D graphics are now automatically disabled in rug (won't work correctly with quotient rugs anyway) and in pmodels which do not support it 2018-12-14 19:27:12 +01:00
Zeno Rogue 285211bcf3 invalid_point functions, and using them in smart_range and queuestr/chr 2018-12-14 19:27:12 +01:00
Zeno Rogue aa1b102b78 crystal::rug:: correct centering 2018-12-14 19:27:12 +01:00
Zeno Rogue 036abd2091 fixed in_smart_range adjusting to the screen resolution rather than the current texture 2018-12-14 19:27:11 +01:00
Zeno Rogue c6aa79b0dd fixed an iterator invalidation bug in drawStandard 2018-12-14 19:27:11 +01:00
Zeno Rogue cd357303b9 cleaned up surface flags 2018-12-14 19:27:11 +01:00
Zeno Rogue f2ee616eab all Mobius bands implemented 2018-12-11 22:10:53 +01:00
Zeno Rogue 460eb19881 implemented new geometries: cylinder and (only one for now) Mobius band 2018-12-11 22:10:53 +01:00
Zeno Rogue b4671e4d50 standard draw algorithm no longer recursive; prettier gp::drawrec 2018-11-23 23:45:16 +01:00
Zeno Rogue aba6506124 fixed drawing Goldberg geometries. 2018-11-19 20:53:35 +01:00
Zeno Rogue d935febf09 refactored some global and stereo:: variables into display_data structure 2018-11-18 18:26:56 +01:00
Zeno Rogue 9d864d7d68 spiral boundary always drawn 2018-11-11 12:55:11 +01:00
Zeno Rogue a00e405681 fixed boundary drawing with camera_angle 2018-11-11 12:55:11 +01:00
Zeno Rogue 9ca5fafa9b do not draw boundary in band transition 2018-11-11 11:27:36 +01:00
Zeno Rogue 0e9c70b8d5 implemented draw_boundary for remaining models 2018-11-11 11:27:36 +01:00
Zeno Rogue 18272634cd better quality of spiral boundary 2018-11-11 11:27:36 +01:00
Zeno Rogue 68c8012d91 implemented drawBoundary for spiral 2018-11-11 11:27:36 +01:00
Zeno Rogue 90468c0daf Euclidean spiral 2018-11-11 11:27:36 +01:00
Zeno Rogue 355409bebe fixed Euclidean 2018-11-11 11:27:36 +01:00
Zeno Rogue 44c1b43b1c refactored do_draw(cell*, const transmatrix&) 2018-11-11 11:27:36 +01:00
Zeno Rogue ec0dae48c1 in_qrange now based on smartrange 2018-11-11 11:27:36 +01:00
Zeno Rogue 6c8661b484 better algorithm for drawing Euclidean projections 2018-11-11 11:27:36 +01:00
Zeno Rogue c8e0371a4c svg:: works nicely with smart_range 2018-11-11 11:27:36 +01:00
Zeno Rogue 8f3f0baabe hyperbolic spiral model 2018-11-11 11:27:35 +01:00
Zeno Rogue c1af8f9d3a bandfixer (for normal geometries) 2018-11-11 11:27:35 +01:00
Zeno Rogue 01d6a78ceb ALWAYS_IN for boundaries 2018-11-11 11:25:59 +01:00
Zeno Rogue f1b6cc0f48 ringcolor improvements 2018-11-11 11:25:59 +01:00
Zeno Rogue d1d2a300c4 refactored the degree constant 2018-11-11 11:25:59 +01:00
Zeno Rogue 071e9a5cac moved draw_boundary and draw_model_elements from graph to hypgraph 2018-11-11 11:25:59 +01:00
Zeno Rogue 9cff432cee conformal formula accepts ux, uy, uz 2018-11-11 11:25:59 +01:00
Zeno Rogue a3446e8a7b mobius transform refactored 2018-11-11 11:25:59 +01:00
Zeno Rogue 542e80081f conformal:: new models: formula and rotated hyperboles 2018-11-11 11:25:59 +01:00
Zeno Rogue b0151eabe4 fixed smart_range==2 in Euclidean 2018-11-11 11:25:58 +01:00
Zeno Rogue 8e7abf6292 refactored gethyper 2018-11-11 11:25:58 +01:00
Zeno Rogue 1ba1b141f3 smart display range 2018-11-01 19:07:50 +01:00
Zeno Rogue 42540aa226 model transition for Joukowsky, inverted Joukowsky, and Band. 2018-10-28 03:09:07 +01:00
Zeno Rogue 804b489ebf improved hemisphere model; nicer handling of ballangle 2018-10-28 03:09:06 +01:00
Zeno Rogue 9ad39df2c0 better model rotation in non-inverted Joukowsky 2018-10-28 03:09:06 +01:00
Zeno Rogue 23b59101ae model orientation supported in Joukowsky 2018-10-28 03:09:06 +01:00
Zeno Rogue 2b79e9d0c7 fixed the orientation of the half-plane 2018-10-28 03:09:06 +01:00
Zeno Rogue cbb53cfe68 Joukowsky transform, and better inverted Poincare 2018-10-28 03:09:06 +01:00
Zeno Rogue 8a37a43547 improved hyperboloid model 2018-10-23 20:08:57 +02:00
Zeno Rogue a9535878c4 model orientation 2018-10-23 16:58:19 +02:00
Zeno Rogue c8e604f408 reflect view in mirror walls during animation and just scrolling; better translate animation in memory saving mode 2018-09-24 00:00:04 +02:00
Zeno Rogue a04eef75a9 cth to handle heptspin/cellwalker translations in a nice way 2018-08-30 16:10:49 +02:00
Zeno Rogue 829850a701 dual tilings 2018-08-30 02:11:43 +02:00
Zeno Rogue 6de0f0a8aa instead of nonbitrunc, gp::on and irr::on, there is one variable, variation 2018-08-28 17:17:34 +02:00
Zeno Rogue 1af2c04407 enum class used for PPR 2018-08-28 14:27:23 +02:00
Zeno Rogue 1b50cd6be5 a button appears when player not visible; fixed space-centering 2018-08-21 18:23:31 +02:00
Zeno Rogue c54d4ec59d struct archimedean_tiling 2018-08-20 02:02:45 +02:00
Zeno Rogue 4d31e5a544 renamed 'syntetic' to 'archimedean' (enums/files/marcos/namespaces) 2018-08-19 23:06:32 +02:00
Zeno Rogue e1c49a83fa fixed displayspin in syntetic 2018-08-19 16:28:36 +02:00
Zeno Rogue d5175882f6 fixed optimizeview in Euclidean syntetic 2018-08-19 01:04:15 +02:00
Zeno Rogue a92cc33426 removed 'stdeuclid' and using 'masterless' since it was too similar to 'stdeuc' 2018-08-18 17:35:39 +02:00
Zeno Rogue 682f804576 major rewrite: unified the common parts of heptagon and cell via struct connection<T> and struct walker<T> 2018-08-18 00:46:45 +02:00
Zeno Rogue 9faa285814 New file geometry2.cpp, with moved ggmatrix, relative_matrix, virtualRebase, and new get_corner_position family. Refactored in floorpatterns, textures, and grid to use get_corner_position family. 2018-08-17 16:47:06 +02:00
Zeno Rogue 749ad03138 syntetic tilings (WIP) 2018-08-17 13:29:00 +02:00
Zeno Rogue c54d01b50c binary:: no spin 2018-08-14 09:16:30 +02:00
Zeno Rogue dc1efea3e6 fixed gethyper (vid.stretch parameter applied) 2018-08-14 08:57:59 +02:00
Zeno Rogue 4f3cc3783a binary tiling 2018-08-09 19:28:53 +02:00
Zeno Rogue 5e2a65a781 vertical stretch parameter is now available in all models; more details in equi-area 2018-08-01 04:01:16 +02:00
Zeno Rogue e27cd9b654 stretch factor in cylindrical equidistant and cylindrical equi-area models 2018-07-30 17:44:11 +02:00
Zeno Rogue 6c0a052470 device orientation-based scrolling on mobiles 2018-07-23 16:17:49 +02:00
Zeno Rogue 4d2f79ba95 rewritten the system to display 3D. This fixes the spherical display not working in stereo mode, and is more clean. 2018-07-22 00:39:57 +02:00
Zeno Rogue c8c1e3a346 irregular grids 2018-07-16 20:05:23 +02:00
Zeno Rogue 6c02c9879a gp:: drawrec(boundary) removed, no longer needed 2018-07-10 18:14:49 +02:00
Zeno Rogue d986ed7617 gp:: more concentrated tree 2018-07-10 18:01:42 +02:00
Zeno Rogue 5cd8f695a3 Goldberg-Coxeter construction for order-4 tilings (everything seems to work except distance calculations) 2018-07-10 04:13:35 +02:00
Zeno Rogue 5b5f36004b field quotients now count as confusing (animation did not work correctly in small field quotients) 2018-07-06 20:00:13 +02:00
Zeno Rogue 8f8a259992 new quotient geometries 2018-06-22 01:48:46 +02:00
Zeno Rogue 4c619e60dd moved all the HyperRogue stuff except RogueViz to namespace 'hr' -- useful when using hr as a library 2018-06-11 01:58:31 +02:00
Zeno Rogue 666ddb007e MAJOR REWRITE of floor patterns 2018-05-07 20:13:56 +02:00
Zeno Rogue c0d0a17c9d silence the clang warning about 'y=y' 2018-05-07 20:11:04 +02:00
Zeno Rogue 77403ac0bc missing from last commit 2018-05-04 02:47:14 +02:00
Zeno Rogue c721851db1 general non-special-floor cleanup; standard and full floors are now perfect in gp 2018-05-04 02:46:44 +02:00
Zeno Rogue ff9051426a labels are no longer displayed behind the sphere 2018-04-22 11:11:47 +02:00
Zeno Rogue edf4dd42cc fixed relative gmatrix computation in gp and line animation 2018-04-21 14:01:54 +02:00
Zeno Rogue 323893094f improvements in the two-point model on the sphere 2018-04-21 12:18:33 +02:00
Zeno Rogue f1bcd91de5 fisheye model 2018-04-18 20:52:17 +02:00
Zeno Rogue 848a135135 cleaner sightrange 2018-04-11 13:16:40 +02:00
Zeno Rogue ebda963d68 removed no longer productive 'overgenerate', improved the down/up limits of sightrange_bonus 2018-04-10 20:25:56 +02:00
Zeno Rogue 9fd8713cbc gp:: correct long-distances in all Goldberg hyperbolic tilings 2018-04-10 17:06:04 +02:00
Zeno Rogue 830785990c renamed whirl to goldberg 2018-04-09 17:40:12 +02:00
Zeno Rogue 63f50a1136 whirl:: fix ggshmup and calc_relative_matrix (also seems to fix nonbitrunc in general) 2018-04-06 23:20:04 +02:00
Zeno Rogue 587619ad42 whirl:: texture:: remapping (currently by commandline only) 2018-04-06 00:40:53 +02:00
Zeno Rogue 8381dd937c fixed graphics 2018-04-04 01:19:21 +02:00
Zeno Rogue 22a92059b6 whirl 2018-04-03 23:39:18 +02:00
Zeno Rogue fa7822fdf8 3D effects in the new models. Also made the 3D effects in old models 'correct' 2018-03-27 04:01:30 +02:00
Zeno Rogue 7c84280b73 four new models, Mercator improved 2018-03-26 19:06:47 +02:00
Zeno Rogue 9af2566e5f lower halfplane model added 2018-03-25 15:27:42 +02:00
Zeno Rogue a10491f3d6 improved the automatic rotation 2018-03-25 15:07:11 +02:00
Zeno Rogue 14c67bef0b cleanup of conformal/history menu 2018-03-25 14:04:40 +02:00
Zeno Rogue 70def6c15e preset cwtV to Id, just in case 2018-03-24 15:22:21 +01:00
Zeno Rogue d3c9bfdd92 improved the quality of 3D models from conformal menu 2018-03-24 15:15:30 +01:00
Zeno Rogue 74cc23f1c2 hemisphere model 2018-03-24 13:26:16 +01:00
Zeno Rogue ac37b6df99 more elegant cellwalkers 2018-03-24 12:59:01 +01:00
Zeno Rogue babb8fbde4 removed the EUCSCALE parameter for consistency 2018-02-20 11:15:08 +01:00
Zeno Rogue 64adb6f0ea updated the header comments to 2018, also added the missing ones 2018-02-09 00:40:26 +01:00
Zeno Rogue b3f047ea6a reworked 3D vision 2018-02-03 13:41:49 +01:00
Zeno Rogue d591d5f915 resetview sets cwtV so that it has a reasonable value 2018-01-13 21:58:50 +01:00
Zeno Rogue 5bf6d54c7d changed chamfered to bitruncated 2018-01-06 22:34:03 +01:00
Zeno Rogue 495dbba809 renamed 'truncated' to 'chamfered' 2018-01-04 18:39:04 +01:00
Zeno Rogue 11569c693d big change: more configuration for the torus (and also Klein bottle) 2017-12-28 16:46:10 +01:00
Zeno Rogue 836ed087df Euclidean square grid 2017-12-18 13:00:36 +01:00
Zeno Rogue bf24550e82 magic adjustment of textures 2017-12-16 09:03:50 +01:00
Zeno Rogue 5f4c773581 fixed the disappearing center in equi-euclidean 2017-11-13 11:26:46 +01:00
Zeno Rogue a19d4d568b refactored mdEqui 2017-11-13 11:26:21 +01:00
Zeno Rogue 6efc503818 fixed the computation in spherical equi-models so that antipode appears at radius 2017-11-13 01:29:31 +01:00
Zeno Rogue c81f101b7f fixed equiarea on euclid 2017-11-07 16:37:47 +01:00
Zeno Rogue f5a8b2a0c2 more precise torus-rug rendering 2017-11-07 14:39:26 +01:00
Zeno Rogue fcec90d8fb click out-of-torus does nothing now 2017-11-07 14:17:13 +01:00
Zeno Rogue b28320b141 torus config editing 2017-11-06 21:18:40 +01:00
Zeno Rogue 8182a206b9 cubic Windy Plains 2017-11-03 20:55:18 +01:00
Zeno Rogue 8498ae7af8 Zebra patterns for some of the new geometries 2017-11-03 19:20:54 +01:00
Zeno Rogue ae5938e1a4 renamed the variable 'purehepta' to 'nontruncated' 2017-10-30 12:24:41 +01:00
Zeno Rogue b214f3e97e more fixes, mainly to Euclidean 2017-10-29 17:12:40 +01:00
Zeno Rogue 0c154d6751 improved display in Halloween 2017-10-09 11:46:49 +02:00
Zeno Rogue 49d32753e3 fixed the 'away' function to draw sidewalls correctly 2017-10-07 00:33:32 +02:00
Zeno Rogue ce5650a81f 10.0 2017-07-16 23:00:55 +02:00
Zeno Rogue 069f7b0caf Major refactoring, multisampling 2017-07-10 20:47:38 +02:00