mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-23 05:57:19 +00:00
543c97987b
We simply use precision mediump float; for everything. We don't actually need highp anyways, and we don't use it for stuff like CAS or FSR.
47 lines
811 B
GLSL
47 lines
811 B
GLSL
#version 300 es
|
|
precision mediump float;
|
|
|
|
#define EGL_SCALE_AUTO 0
|
|
#define EGL_SCALE_NEAREST 1
|
|
#define EGL_SCALE_LINEAR 2
|
|
#define EGL_SCALE_MAX 3
|
|
|
|
#include "color_blind.h"
|
|
|
|
in vec2 uv;
|
|
out vec4 color;
|
|
|
|
uniform sampler2D sampler1;
|
|
|
|
uniform int scaleAlgo;
|
|
uniform ivec2 textureSize;
|
|
|
|
uniform float nvGain;
|
|
uniform int cbMode;
|
|
|
|
void main()
|
|
{
|
|
switch (scaleAlgo)
|
|
{
|
|
case EGL_SCALE_NEAREST:
|
|
color = texelFetch(sampler1, ivec2(uv * vec2(textureSize)), 0);
|
|
break;
|
|
|
|
case EGL_SCALE_LINEAR:
|
|
color = texture(sampler1, uv);
|
|
break;
|
|
}
|
|
|
|
if (cbMode > 0)
|
|
color = cbTransform(color, cbMode);
|
|
|
|
if (nvGain > 0.0)
|
|
{
|
|
highp float lumi = 1.0 - (0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b);
|
|
color *= 1.0 + lumi;
|
|
color *= nvGain;
|
|
}
|
|
|
|
color.a = 1.0;
|
|
}
|