Henrik Rydgård and Claude Opus 5.5
d7a96875fb
Lighting: Use the GE's approximate pow for specular, diffuse and spot
...
The GE computes these powers as exp2(e * log2(x)), with log2 and exp2
each a straight line between powers of two (Mitchell's approximation),
and only uses the top 4 bits of the specular coefficient's mantissa.
Through a highlight's falloff a true pow is 10-30 steps of 255 brighter
at the exponents games use. Measured in gpu/lighting/specular.
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected] >
2026-09-30 15:47:16 -06:00
Henrik Rydgård
df6ed8cfc9
Do some cleanup of #includes in GPU
2024-12-18 13:57:26 +01:00
Herman Semenov
ca94de8d4b
[GPU/Common/DX9/GLES/Software] Object out of scope optimization for better codegeneration (lower level scope)
2023-12-20 12:34:34 +03:00
Unknown W. Brackets
a23c9e6a41
GPU: Preconvert light vecs to Vec3f.
...
This might align better for simd anyway, but should also prevent any
memory over-reads. See #14353 .
2021-04-05 20:55:52 -07:00
Unknown W. Brackets
2f63f9999d
GPU: Normalize 0 to 1 always in software lighting.
...
See #14167 . This seems to be consistent.
2021-02-27 23:51:45 -08:00
Unknown W. Brackets
6600896312
GPU: Fix shade mapping in soft transform.
...
Was using invalid values when lighting was off.
2018-11-17 18:05:32 -08:00
Unknown W. Brackets
eee3ac79f4
Always clamp in ToRGB[A]?().
...
Before we only clamped with SSE, better to be consistent. This may also
be slightly faster.
2014-10-31 09:07:54 -07:00
Henrik Rydgard
a4ae0f951a
Move spline generation to SplineCommon, make SplineDX9.cpp identical to Spline.cpp (merge later somehow)
2014-09-13 15:13:34 +02:00
raven02
9db47b9908
Add missing lcutoff and lconv
2014-05-14 23:00:28 +08:00
Henrik Rydgard
9b1302cf77
Don't initialize lighting and lights unless they are enabled
2014-04-21 12:51:20 +02:00
Henrik Rydgard
16f4622ac7
Remove cached light variables to reduce work when parsing DLs.
...
Also removes some duplication between GL and the inactive D3D code.
2014-04-21 12:51:19 +02:00