49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
|
#ifndef SLB_ALIASES_H
|
||
|
#define SLB_ALIASES_H
|
||
|
|
||
|
#ifdef SLB_GLSL /// We are in glslViewer
|
||
|
|
||
|
#define SLB_SAMPLER_LOAD(sampler_name, texture_coord) texelFetch(sampler_name, texture_coord.xy, texture_coord.z)
|
||
|
|
||
|
#define SLB_BRANCH
|
||
|
#define SLB_UNROLL(x)
|
||
|
#define SLB_STATIC_CONST const
|
||
|
|
||
|
/// HLSL shit
|
||
|
#define frac(x) fract(x)
|
||
|
#define saturate(x) clamp(x, 0.0, 1.0)
|
||
|
#define mul(a, b) (a * b)
|
||
|
#define reversebits(x) bitfieldReverse(x)
|
||
|
#define asuint(x) floatBitsToUint(x)
|
||
|
#define lerp(a, b, x) mix(a, b, x)
|
||
|
#define ddx(x) dFdx(x)
|
||
|
#define ddy(x) dFdy(x)
|
||
|
|
||
|
#define float2 vec2
|
||
|
#define float3 vec3
|
||
|
#define float4 vec4
|
||
|
|
||
|
#define float2x2 mat2
|
||
|
#define float3x3 mat3
|
||
|
#define float4x4 mat4
|
||
|
|
||
|
#define int2 ivec2
|
||
|
#define int3 ivec3
|
||
|
#define int4 ivec4
|
||
|
|
||
|
#define uint2 uvec2
|
||
|
#define uint3 uvec3
|
||
|
#define uint4 uvec4
|
||
|
|
||
|
#else /// We are in stalker
|
||
|
|
||
|
#define SLB_SAMPLER_LOAD(sampler_name, texture_coord) sampler_name.Load(texture_coord)
|
||
|
#define SLB_SAMPLER_LOAD_MSAA(sampler_name, texture_coord, iSample) sampler_name.Load(texture_coord, iSample)
|
||
|
|
||
|
#define SLB_BRANCH [branch]
|
||
|
#define SLB_UNROLL(x) [unroll(x)]
|
||
|
#define SLB_STATIC_CONST static const
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#endif /// SLB_ALIASES_H
|