UNPKG

@animech-public/playcanvas

Version:
34 lines (32 loc) 967 B
var particlePS = ` varying vec4 texCoordsAlphaLife; uniform sampler2D colorMap; uniform sampler2D colorParam; uniform float graphSampleSize; uniform float graphNumSamples; #ifndef CAMERAPLANES #define CAMERAPLANES uniform vec4 camera_params; #endif uniform float softening; uniform float colorMult; float saturate(float x) { return clamp(x, 0.0, 1.0); } #ifndef UNPACKFLOAT #define UNPACKFLOAT float unpackFloat(vec4 rgbaDepth) { const vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0); float depth = dot(rgbaDepth, bitShift); return depth; } #endif void main(void) { vec4 tex = gammaCorrectInput(texture2D(colorMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y))); vec4 ramp = gammaCorrectInput(texture2D(colorParam, vec2(texCoordsAlphaLife.w, 0.0))); ramp.rgb *= colorMult; ramp.a += texCoordsAlphaLife.z; vec3 rgb = tex.rgb * ramp.rgb; float a = tex.a * ramp.a; `; export { particlePS as default };