1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2026-01-19 17:40:20 +00:00

improved the quality of 3D models from conformal menu

This commit is contained in:
Zeno Rogue
2018-03-24 15:15:30 +01:00
parent 74cc23f1c2
commit d3c9bfdd92
10 changed files with 72 additions and 27 deletions

View File

@@ -537,6 +537,7 @@ namespace conformal {
{ "right", "up", "left", "down" },
{ "right", "up", "left", "down" },
{ "right", "up", "left", "down" },
{ "right", "up", "left", "down" },
{ "right", "up", "left", "down" }
};
@@ -577,7 +578,7 @@ namespace conformal {
dialog::addBoolItem("Switch", false, '6');
}
if(pmodel == 4) {
if(pmodel == mdPolynomial) {
dialog::addSelItem(XLAT("coefficient"),
fts4(polygonal::coefr[polygonal::coefid]), 'x');
dialog::addSelItem(XLAT("coefficient (imaginary)"),
@@ -585,12 +586,20 @@ namespace conformal {
dialog::addSelItem(XLAT("which coefficient"), its(polygonal::coefid), 'n');
}
if(pmodel == 3) {
if(pmodel == mdPolygonal) {
dialog::addSelItem(XLAT("polygon sides"), its(polygonal::SI), 'x');
dialog::addSelItem(XLAT("star factor"), fts(polygonal::STAR), 'y');
dialog::addSelItem(XLAT("degree of the approximation"), its(polygonal::deg), 'n');
}
if(pmodel == mdBall || pmodel == mdHyperboloid || pmodel == mdHemisphere) {
dialog::addSelItem(XLAT("camera rotation in 3D models"), fts3(vid.ballangle), 'b');
}
if(pmodel == mdHemisphere) {
dialog::addSelItem(XLAT("euclid to sphere projection"), fts3(vid.euclid_to_sphere), 'l');
}
if(!bounded && !euclid) dialog::addBoolItem(XLAT("prepare the line animation"), (on), 'e');
if(on) dialog::addSelItem(XLAT("animation speed"), fts(lvspeed), 'a');
@@ -633,6 +642,14 @@ namespace conformal {
create();
}
}
else if(uni == 'b')
config_camera_rotation();
else if(uni == 'l') {
dialog::editNumber(vid.euclid_to_sphere, 0, 10, .1, 1, XLAT("euclid to sphere projection"),
"Stereographic projection to a sphere. Choose the radius of the sphere."
);
dialog::scaleLog();
}
else if(uni == 'o')
autoband = !autoband;
else if(uni == 'm' || uni == 'M') {