DYT/Tool/TritonSDK/Resources/godrays-common.glsl
2024-12-25 22:48:51 +08:00

55 lines
1.2 KiB
GLSL

// godrays-common.glsl
#define GODRAYS_SHADER
#ifdef USE_UBO
#define UNIFORM_DECL_PREFIX
#else
#define UNIFORM_DECL_PREFIX uniform
#endif
#if defined(USE_UBO) && defined(BINDLESS_TEXTURES)
#define SAMPLER_DECL_PREFIX
#else
#define SAMPLER_DECL_PREFIX uniform
#endif
#if defined(USE_UBO)
layout(std140) uniform trit_ShaderParameters_UBO {
#endif
// These are used in the vertex shader
UNIFORM_DECL_PREFIX mat4 mvProj;
UNIFORM_DECL_PREFIX vec3 origin;
UNIFORM_DECL_PREFIX float spacing;
UNIFORM_DECL_PREFIX vec3 extinction;
UNIFORM_DECL_PREFIX vec3 viewer;
UNIFORM_DECL_PREFIX mat3 basis;
UNIFORM_DECL_PREFIX vec2 textureSize;
UNIFORM_DECL_PREFIX vec3 viewDir;
UNIFORM_DECL_PREFIX float fade;
// These are used in the pixel shader
UNIFORM_DECL_PREFIX vec3 sunColor;
UNIFORM_DECL_PREFIX float visibility;
// These are used in both
UNIFORM_DECL_PREFIX vec3 sunDir;
UNIFORM_DECL_PREFIX mat3 invBasis;
#if defined(USE_UBO)
};
#endif
#if defined(USE_UBO) && defined(BINDLESS_TEXTURES)
layout(std140) uniform trit_TextureHandles_UBO {
#endif
SAMPLER_DECL_PREFIX sampler2D displacementMap;
SAMPLER_DECL_PREFIX sampler2D slopeFoamMap;
#if defined(USE_UBO) && defined(BINDLESS_TEXTURES)
};
#endif