65 lines
1.6 KiB
GLSL
65 lines
1.6 KiB
GLSL
//particle-common.glsl
|
|
#define PARTICLE_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 vertex shader
|
|
UNIFORM_DECL_PREFIX mat4 trit_mvProj;
|
|
UNIFORM_DECL_PREFIX mat4 trit_modelview;
|
|
UNIFORM_DECL_PREFIX vec3 trit_cameraPos;
|
|
UNIFORM_DECL_PREFIX vec3 trit_refOffset;
|
|
UNIFORM_DECL_PREFIX bool trit_hasHeightMap;
|
|
UNIFORM_DECL_PREFIX bool trit_hasUserHeightMap;
|
|
UNIFORM_DECL_PREFIX vec2 trit_heightMapRangeOffset;
|
|
UNIFORM_DECL_PREFIX mat4 trit_heightMapMatrix;
|
|
UNIFORM_DECL_PREFIX float trit_invSizeFactor;
|
|
UNIFORM_DECL_PREFIX float trit_seaLevel;
|
|
UNIFORM_DECL_PREFIX float trit_fogDensity;
|
|
#ifdef BINDLESS_TEXTURES
|
|
SAMPLER_DECL_PREFIX sampler2D trit_heightMap;
|
|
#endif
|
|
|
|
// These are used in pixel shader
|
|
UNIFORM_DECL_PREFIX vec4 trit_lightColor;
|
|
#ifndef USE_INSTANCING_FOR_TRANSPARENCY
|
|
UNIFORM_DECL_PREFIX float trit_transparency;
|
|
#endif
|
|
UNIFORM_DECL_PREFIX vec3 trit_fogColor;
|
|
|
|
// These are used in both
|
|
UNIFORM_DECL_PREFIX float trit_time;
|
|
UNIFORM_DECL_PREFIX vec3 trit_g;
|
|
|
|
#if defined(USE_UBO)
|
|
};
|
|
#endif
|
|
|
|
#ifndef BINDLESS_TEXTURES
|
|
SAMPLER_DECL_PREFIX sampler2D trit_heightMap;
|
|
#endif
|
|
|
|
#if defined(USE_UBO) && defined(BINDLESS_TEXTURES)
|
|
layout(std140) uniform trit_TextureHandles_UBO {
|
|
#endif
|
|
|
|
SAMPLER_DECL_PREFIX sampler2D trit_particleTexture;
|
|
|
|
#if defined(USE_UBO) && defined(BINDLESS_TEXTURES)
|
|
};
|
|
#endif
|
|
|