[BotW] contrasty experimental saturation... again

only scales original weight (saturation) so at least doesn't potentially mess things up like the last one.
still no idea what's that two in uf_remappedPS, together they affect the threshold of saturate/desaturate and how much.
perhaps just two calculated values based on some preset.
This commit is contained in:
NAVras-Z 2017-11-04 13:55:31 +08:00
parent 7999d1816e
commit a2630204fc

View File

@ -7,11 +7,14 @@
//----------------------------settings------------------------------------- //----------------------------settings-------------------------------------
#define adjust_bloom 1 #define adjust_bloom 1
#define adjust_saturation 1
#define contrasty 1 #define contrasty 1
// 0: disable, 1: enable. // 0: disable, 1: enable.
const float bloomFactor = 0.7; // 1.0 is neutral const float bloomFactor = 0.7; // 1.0 is neutral
const float satFactor = 1.3; // 1.0 is neutral. Experimental, adjust native saturation
const float gamma = 0.81; // 1.0 is neutral. Botw is already colour graded at this stage const float gamma = 0.81; // 1.0 is neutral. Botw is already colour graded at this stage
const float exposure = 1.17; // 1.0 is neutral const float exposure = 1.17; // 1.0 is neutral
const float vibrance = 0.008; // 0.0 is neutral const float vibrance = 0.008; // 0.0 is neutral
@ -140,7 +143,13 @@ R125f.w = R126f.x + -(PS0f);
R126f.y = backupReg1f + -(PS0f); R126f.y = backupReg1f + -(PS0f);
PS1f = R126f.y; PS1f = R126f.y;
// 12 // 12
#if (adjust_saturation == 1)
R126f.x = satFactor * (mul_nonIEEE(PV1f.y,intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[0].x));
#else
R126f.x = (mul_nonIEEE(PV1f.y,intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[0].x)); R126f.x = (mul_nonIEEE(PV1f.y,intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[0].x));
#endif
PV0f.x = R126f.x; PV0f.x = R126f.x;
PV0f.y = -(R126f.z) + PV1f.x; PV0f.y = -(R126f.z) + PV1f.x;
// 13 // 13