mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-23 15:36:59 +00:00
SOLV_ALL
This commit is contained in:
parent
39f82e55ba
commit
a6a0995e85
@ -607,10 +607,26 @@ EX namespace sn {
|
|||||||
"float cz = iz*(1.-1./PRECZ) + .5/PRECZ;"
|
"float cz = iz*(1.-1./PRECZ) + .5/PRECZ;"
|
||||||
|
|
||||||
// "if(ix > .5 && iy > .6 && ix < iy + .05 && iz < .2 && iz < (iy - 0.5) * 0.6)"
|
// "if(ix > .5 && iy > .6 && ix < iy + .05 && iz < .2 && iz < (iy - 0.5) * 0.6)"
|
||||||
"if(ix > .65 + iz * .25 && iy > .55) res = vec4(0.,0.,0.,1.); "
|
"\n#ifndef SOLV_ALL\n"
|
||||||
|
|
||||||
|
"bool ok = true;"
|
||||||
|
|
||||||
|
// hard to tell which triangles fall on the other sides
|
||||||
|
"if(iz < .03 && ix > .65 && iy > .65) ok = false;"
|
||||||
|
"if(iz < .013 && ix > .55 && iy > .55) ok = false;"
|
||||||
|
"if(iz < .0075 && ix > .45 && iy > .45) ok = false;"
|
||||||
|
"if(iz > 0.004 && ix > 0.4 && iy > 0.4 && ix < .6 && iy < .6) ok = true;"
|
||||||
|
"if(iz > 0.000004 && ix > 0.4 && ix < 0.7 && iy > 0.4 && iy < 0.7) ok = true;"
|
||||||
|
"if(iz < 0.04 && ix > 0.70 && ix < 0.8 && iy > 0.5 && iy < 0.7) ok = false;"
|
||||||
|
"if(iz < 0.05 && ix > .45 && iy > .75 && ix < .55 && iy < .95) ok = false;"
|
||||||
|
"if(iz < 0.05 && ix > .85 && iy > .45 && iy < .75) ok = false;"
|
||||||
|
"if(iz < 0.025 && ix > .65 && iy > .65 && ix < .8 && iy < .8) ok = false;"
|
||||||
|
|
||||||
|
"if(!ok) res = vec4(0,0,0,1);"
|
||||||
"else "
|
"else "
|
||||||
|
|
||||||
|
"\n#endif\n"
|
||||||
|
|
||||||
"res = texture3D(tInvExpTable, vec3(cx, cy, cz));"
|
"res = texture3D(tInvExpTable, vec3(cx, cy, cz));"
|
||||||
|
|
||||||
"if(h[2] < 1e-6) { res.xy = res.yx; res[2] = -res[2]; }"
|
"if(h[2] < 1e-6) { res.xy = res.yx; res[2] = -res[2]; }"
|
||||||
|
@ -32,6 +32,8 @@ constexpr flagtype SF_ZFOG = 65536;
|
|||||||
constexpr flagtype SF_ODSBOX = (1<<17);
|
constexpr flagtype SF_ODSBOX = (1<<17);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
EX bool solv_all;
|
||||||
|
|
||||||
#if HDR
|
#if HDR
|
||||||
/* standard attribute bindings */
|
/* standard attribute bindings */
|
||||||
/* taken from: https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/attributes.php */
|
/* taken from: https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/attributes.php */
|
||||||
@ -189,6 +191,9 @@ shared_ptr<glhr::GLprogram> write_shader(flagtype shader_flags) {
|
|||||||
case gcSolNIH:
|
case gcSolNIH:
|
||||||
switch(sn::geom()) {
|
switch(sn::geom()) {
|
||||||
case gSol:
|
case gSol:
|
||||||
|
if(solv_all) {
|
||||||
|
vsh += "\n#define SOLV_ALL\n";
|
||||||
|
}
|
||||||
vsh += sn::shader_symsol;
|
vsh += sn::shader_symsol;
|
||||||
break;
|
break;
|
||||||
case gNIH:
|
case gNIH:
|
||||||
@ -320,6 +325,7 @@ void display_data::set_projection(int ed) {
|
|||||||
id <<= 6; id |= spherephase;
|
id <<= 6; id |= spherephase;
|
||||||
id <<= 1; if(vid.consider_shader_projection) id |= 1;
|
id <<= 1; if(vid.consider_shader_projection) id |= 1;
|
||||||
id <<= 2; id |= (spherespecial & 3);
|
id <<= 2; id |= (spherespecial & 3);
|
||||||
|
if(sol && solv_all) id |= 1;
|
||||||
if(in_h2xe()) id |= 1;
|
if(in_h2xe()) id |= 1;
|
||||||
if(in_s2xe()) id |= 2;
|
if(in_s2xe()) id |= 2;
|
||||||
shared_ptr<glhr::GLprogram> selected;
|
shared_ptr<glhr::GLprogram> selected;
|
||||||
|
Loading…
Reference in New Issue
Block a user