diff options
| author | hachem <im@hachem.wtf> | 2026-08-23 05:53:33 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-23 05:53:33 +0200 |
| commit | 380b4d5d5a3e66d89ca7b3b1601bb23e5a01bf7b (patch) | |
| tree | b4b0f3b43bedac1ef6ae16834ca03c1181964959 /assets/shaders | |
| parent | 2b0661b7d6edacbc4a4ad87cdb625d559e08a5f9 (diff) | |
feat: unified interface
Diffstat (limited to 'assets/shaders')
| -rw-r--r-- | assets/shaders/geodesic.slang | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/assets/shaders/geodesic.slang b/assets/shaders/geodesic.slang index a1b0f46..111c9b8 100644 --- a/assets/shaders/geodesic.slang +++ b/assets/shaders/geodesic.slang @@ -30,6 +30,7 @@ struct Disk float disk_num; float thickness; float disk_density; + float temperature; }; ConstantBuffer<Disk> disk; @@ -68,9 +69,6 @@ static const float DEFAULT_EARLY_EXIT_DISTANCE = 2e12; static const float MIN_STEP_SIZE = 1e6; static const float MAX_STEP_SIZE = 2e10; -static const float T_PEAK = 4800.0; -static const float DISK_EXPOSURE = 0.9; - struct Hit { float4 objectColor; @@ -147,7 +145,7 @@ float3 DiskEmission(float3 P, float3 rayDir) float xr = rc / rin; float flux = max((1.0 - sqrt(1.0 / xr)) / (xr * xr * xr), 0.0); float Tn = pow(flux / FLUX_PEAK, 0.25); - float Temit = T_PEAK * Tn; + float Temit = disk.temperature * Tn; float3 rhat = normalize(float3(P.x, 0.0, P.z)); float3 phiHat = normalize(cross(float3(0.0, 1.0, 0.0), rhat)); @@ -174,8 +172,7 @@ float3 DiskEmission(float3 P, float3 rayDir) bright *= max(turb, 0.0); } - float exposure = DISK_EXPOSURE * max(disk.disk_density, 0.0) * 10.0; - return colour * bright * exposure; + return colour * bright * max(disk.disk_density, 0.0); } struct Ray |
