mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-10-14 13:57:38 +00:00
logarithmic fog parameter (logfog)
This commit is contained in:
@@ -492,6 +492,8 @@ EX const char *conffile = "hyperrogue.ini";
|
|||||||
/* extra space if more geometries are added */
|
/* extra space if more geometries are added */
|
||||||
EX array<ld, gGUARD+64> sightranges;
|
EX array<ld, gGUARD+64> sightranges;
|
||||||
|
|
||||||
|
EX bool logfog;
|
||||||
|
|
||||||
EX videopar vid;
|
EX videopar vid;
|
||||||
|
|
||||||
#define DEFAULT_WALLMODE (ISMOBILE ? 3 : 5)
|
#define DEFAULT_WALLMODE (ISMOBILE ? 3 : 5)
|
||||||
@@ -774,6 +776,8 @@ EX void initConfig() {
|
|||||||
|
|
||||||
param_b(vid.darkhepta, "mark heptagons", false);
|
param_b(vid.darkhepta, "mark heptagons", false);
|
||||||
|
|
||||||
|
param_b(logfog, "logfog", false);
|
||||||
|
|
||||||
for(auto& lp: linepatterns::patterns) {
|
for(auto& lp: linepatterns::patterns) {
|
||||||
addsaver(lp->color, "lpcolor-" + lp->lpname);
|
addsaver(lp->color, "lpcolor-" + lp->lpname);
|
||||||
addsaver(lp->multiplier, "lpwidth-" + lp->lpname);
|
addsaver(lp->multiplier, "lpwidth-" + lp->lpname);
|
||||||
|
@@ -402,7 +402,10 @@ shared_ptr<glhr::GLprogram> write_shader(flagtype shader_flags) {
|
|||||||
}
|
}
|
||||||
else if(distfun != "") {
|
else if(distfun != "") {
|
||||||
have_vfogs = true;
|
have_vfogs = true;
|
||||||
vmain += "vFogs = (uFogBase - " + distfun + " / uFog);\n";
|
if(logfog)
|
||||||
|
vmain += "vFogs = uFogBase * exp(- " + distfun + " / uFog);\n";
|
||||||
|
else
|
||||||
|
vmain += "vFogs = clamp(uFogBase - " + distfun + " / uFog, 0.0, 1.0);\n";
|
||||||
vsh +=
|
vsh +=
|
||||||
"uniform mediump float uFog;\n"
|
"uniform mediump float uFog;\n"
|
||||||
"uniform mediump float uFogBase;\n";
|
"uniform mediump float uFogBase;\n";
|
||||||
|
Reference in New Issue
Block a user