exec sRGB-disable.cfg
vid_sRGB_fallback 2
r_hdr_glowintensity 1
-#define Image_LinearFloatFromsRGBFloat(c) (((c) <= 0.04045f) ? (c) * (1.0f / 12.92f) : (float)pow(((c) + 0.055f)*(1.0f/1.055f), 2.4f))
+// #define Image_LinearFloatFromsRGBFloat(c) (((c) <= 0.04045f) ? (c) * (1.0f / 12.92f) : (float)pow(((c) + 0.055f)*(1.0f/1.055f), 2.4f))
set rpn_sRGB_to_linear "dup 0.055 add 1.055 div 2.4 pow exch 12.92 div dup 0.0031308 gt when"
-#define Image_sRGBFloatFromLinearFloat(c) (((c) < 0.0031308f) ? (c) * 12.92f : 1.055f * (float)pow((c), 1.0f/2.4f) - 0.055f)
+// #define Image_sRGBFloatFromLinearFloat(c) (((c) < 0.0031308f) ? (c) * 12.92f : 1.055f * (float)pow((c), 1.0f/2.4f) - 0.055f)
set rpn_linear_to_sRGB "dup 1.0 2.4 div pow 1.055 mul 0.055 sub exch 12.92 mul dup 0.04045 ge when"
+// -nosRGB to -sRGB sky shader conversion:
+//
+// q3map_sunExt 1 0.6875 0.375 340 25 47 0 16
+// ^^ elevation
+// ^^^ sunlight
+// q3map_skylight 110 3
+// ^^^ skylight
+//
+// With that, do:
+// ]skybox_nosRGB_to_sRGB 340 47 110
+// rpn: still on stack: new_sunlight:
+// rpn: still on stack: 412.122467
+// rpn: still on stack: new_skylight:
+// rpn: still on stack: 11.4826183
+//
+// The equivalent -sRGB shader then will have:
+//
+// q3map_sunExt 1 0.6875 0.375 412.122467 25 47 0 16
+// q3map_skylight 11.4826183 3
+alias skybox_nosRGB_to_sRGB "rpn $3 1024 div $rpn_sRGB_to_linear 1024 mul /new_skylight: $3 1024 div $1 256 div $2 0.017453 mul sin mul add $rpn_sRGB_to_linear $3 1024 div $rpn_sRGB_to_linear sub 256 mul $2 0.017453 mul sin div /new_sunlight:"
// these settings determine how much the view is affected by movement/damage
cl_smoothviewheight 0.05 // time of the averaging to the viewheight value so that it creates a smooth transition for crouching and such. 0 for instant transition
rpn_setf(exp(rpn_getf()));
} else if(rpncmd == "log") {
rpn_setf(exp(rpn_getf()));
+ } else if(rpncmd == "sin") {
+ rpn_setf(sin(rpn_getf()));
+ } else if(rpncmd == "cos") {
+ rpn_setf(cos(rpn_getf()));
} else if(rpncmd == "max") {
f = rpn_popf();
f2 = rpn_getf();
print(" f f eq|ne|gt|ge|lt|le|max|min -----> f : compares two numbers\n");
print(" f neg|abs|sgn|rand|floor|ceil------> f : negates/... a number\n");
print(" f not|bitnot ----------------------> f : logical and bitwise negation\n");
- print(" f exp|log -------------------------> f : exponential function & Co.\n");
+ print(" f exp|log|sin|cos -----------------> f : exponential function & Co.\n");
print(" f f f bound -----------------------> f : bounds the middle number\n");
print(" f1 f2 b when ----------------------> f : f1 if b, f2 otherwise\n");
print(" s s union|intersection|difference -> s : set operations\n");