Add noise grain option to viewport preferences
This commit is contained in:
Binary file not shown.
@@ -3,6 +3,7 @@
|
||||
uniform sampler2D tex;
|
||||
// uniform sampler2D histogram;
|
||||
uniform float vignetteStrength;
|
||||
uniform float grainStrength;
|
||||
|
||||
in vec2 texCoord;
|
||||
out vec4 fragColor;
|
||||
@@ -18,7 +19,7 @@ void main() {
|
||||
|
||||
// Static grain
|
||||
float x = (texCoord.x + 4.0) * (texCoord.y + 4.0) * 10.0;
|
||||
fragColor.rgb += vec3(mod((mod(x, 13.0) + 1.0) * (mod(x, 123.0) + 1.0), 0.01) - 0.005) * 0.09;
|
||||
fragColor.rgb += vec3(mod((mod(x, 13.0) + 1.0) * (mod(x, 123.0) + 1.0), 0.01) - 0.005) * grainStrength;
|
||||
|
||||
fragColor.rgb *= (1.0 - vignetteStrength) + vignetteStrength * pow(16.0 * texCoord.x * texCoord.y * (1.0 - texCoord.x) * (1.0 - texCoord.y), 0.2);
|
||||
|
||||
|
||||
@@ -92,6 +92,7 @@ class Config {
|
||||
raw.rp_bloom = false;
|
||||
raw.rp_gi = false;
|
||||
raw.rp_vignette = 0.2;
|
||||
raw.rp_grain = 0.09;
|
||||
raw.rp_motionblur = false;
|
||||
#if (krom_android || krom_ios)
|
||||
raw.rp_ssao = false;
|
||||
|
||||
@@ -24,6 +24,7 @@ package arm;
|
||||
@:optional public var rp_motionblur: Null<Bool>;
|
||||
@:optional public var rp_gi: Null<Bool>;
|
||||
@:optional public var rp_vignette: Null<Float>;
|
||||
@:optional public var rp_grain: Null<Float>;
|
||||
// Application
|
||||
@:optional public var version: String;
|
||||
@:optional public var sha: String; // Commit id
|
||||
|
||||
@@ -75,6 +75,9 @@ class Uniforms {
|
||||
case "_vignetteStrength": {
|
||||
return Config.raw.rp_vignette;
|
||||
}
|
||||
case "_grainStrength": {
|
||||
return Config.raw.rp_grain;
|
||||
}
|
||||
case "_coneOffset": {
|
||||
return Context.raw.vxaoOffset;
|
||||
}
|
||||
|
||||
@@ -469,6 +469,10 @@ class BoxPreferences {
|
||||
Config.raw.rp_vignette = ui.slider(h, tr("Vignette"), 0.0, 1.0, true);
|
||||
if (h.changed) Context.raw.ddirty = 2;
|
||||
|
||||
var h = Id.handle({ value: Config.raw.rp_grain });
|
||||
Config.raw.rp_grain = ui.slider(h, tr("Noise Grain"), 0.0, 1.0, true);
|
||||
if (h.changed) Context.raw.ddirty = 2;
|
||||
|
||||
// var h = Id.handle({ value: Context.raw.autoExposureStrength });
|
||||
// Context.raw.autoExposureStrength = ui.slider(h, "Auto Exposure", 0.0, 2.0, true);
|
||||
// if (h.changed) Context.raw.ddirty = 2;
|
||||
|
||||
Reference in New Issue
Block a user