Files
0ad/binaries/data/mods/mod/shaders/glsl/resolve_pbr.fs
T
Vladislav Belov 8c5416e2c5 Adds fragment shader PBR resolve
It allows to have PBR for devices without properly detected compute
shaders.
2026-06-20 13:29:01 +02:00

24 lines
507 B
GLSL

#version 120
#include "common/fragment.h"
#include "common/stage.h"
#include "common/tone_mapper.h"
BEGIN_DRAW_TEXTURES
TEXTURE_2D(0, inTex)
END_DRAW_TEXTURES
BEGIN_DRAW_UNIFORMS
// Premultiplied exposure, already contains 2^exposure.
UNIFORM(float, exposure)
END_DRAW_UNIFORMS
VERTEX_OUTPUT(0, vec2, v_tex);
void main()
{
vec3 hdrColor = SAMPLE_2D(GET_DRAW_TEXTURE_2D(inTex), v_tex).rgb;
vec3 sdrColor = applyTonemapper(hdrColor * exposure);
OUTPUT_FRAGMENT_SINGLE_COLOR(vec4(sdrColor, 1.0));
}