add game&rawdata

This commit is contained in:
Vasily Petrov 2026-06-17 23:06:51 +03:00
parent 0133cd976c
commit 49b34b5546
45731 changed files with 709831 additions and 0 deletions

View file

@ -0,0 +1,65 @@
#ifndef cgim_h_included
#define cgim_h_included
// creates more light by a vector from the sky
#define SMALLSKY_TOP_VECTOR_POWER 0.75f
// Break default bloom to soften the overall picture
#define BROKE_BLOOM_POWER 1.5f
#define CGIM_LUM float3(0.2126f, 0.7152f, 0.0722f)
float Luminance(float3 Color)
{
return dot(Color, CGIM_LUM);
}
float3 TonemapRobo(float3 c)
{
float l = Luminance(c);
return c / sqrt(1.0 + l * l);
}
float TonemapRobo(float c)
{
return c / sqrt(1.0 + c * c);
}
float4 BrokeBloom(float4 c)
{
c *= BROKE_BLOOM_POWER;
c = float4(TonemapRobo(c.rgb), TonemapRobo(c.a));
c /= BROKE_BLOOM_POWER;
return c;
}
float3 Uncharted2ACES(float3 x)
{
static const float A = 0.15f; // Shoulder strength
static const float B = 0.50f; // Linear strength
static const float C = 0.10f; // Linear angle
static const float D = 0.20f; // Toe strength
static const float E = 0.02f; // Toe numerator
static const float F = 0.30f; // Toe denominator
return ((x * (A * x + C * B) + D * E) / (x * (A * x + B) + D * F)) - E / F;
}
// Uncharted 2 tonemapping
#define UNCHARTED2TONEMAP_WHITEPT 1.35
#define UNCHARTED2TONEMAP_EXPOSURE 1.0
float3 Uncharted2Tonemap(float3 c)
{
c *= UNCHARTED2TONEMAP_EXPOSURE;
float3 tc = Uncharted2ACES(c);
float l = Luminance(c);
c = lerp(c * Uncharted2ACES(l) / l, tc, tc);
c /= Uncharted2ACES(UNCHARTED2TONEMAP_WHITEPT);
return c;
}
#endif