16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 19:19:19 +02:00
Files
maszyna/betterRenderer/shaders/manul/math.hlsli
2025-04-15 01:32:56 +02:00

29 lines
803 B
HLSL

#ifndef MATH_HLSLI
#define MATH_HLSLI
#define PI 3.1415926535897932384626433832795
#define TWO_PI 6.283185307179586476925286766559
#define PI_OVER_TWO 1.5707963267948966192313216916398
#define PI_OVER_THREE 1.0471975511965977461542144610932
#define PI_OVER_SIX 0.52359877559829887307710723054658
#define ONE_OVER_PI 0.31830988618379067153776752674503
#define TWO_OVER_PI 0.63661977236758134307553505349006
#define ONE_OVER_TWO_PI 0.15915494309189533576888376337251
float3 UnpackNormalXY(in float2 normal) {
float3 result;
result.xy = 2. * (normal - .5);
result.z = sqrt(saturate(1. - dot(result.xy, result.xy)));
return result;
}
float3 UnpackNormalXYZ(in float3 normal) {
return normalize(normal - .5);
}
float InvLerp(float a, float b, float v) {
return (v - a) / (b - a);
}
#endif