Initial
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* Siren light animation coloration shader
|
||||
*/
|
||||
class SirenColorationShader extends AdaptiveColorationShader {
|
||||
static fragmentShader = `
|
||||
${this.SHADER_HEADER}
|
||||
uniform float gradientFade;
|
||||
uniform float beamLength;
|
||||
|
||||
${this.PERCEIVED_BRIGHTNESS}
|
||||
${this.PIE}
|
||||
${this.ROTATION}
|
||||
|
||||
void main() {
|
||||
${this.FRAGMENT_BEGIN}
|
||||
vec2 ncoord = vUvs * 2.0 - 1.0;
|
||||
float angularIntensity = mix(PI, 0.0, intensity * 0.1);
|
||||
ncoord *= rot(time * 50.0 + angle);
|
||||
float angularCorrection = pie(ncoord, angularIntensity, clamp(gradientFade * dist, 0.05, 1.0), beamLength);
|
||||
finalColor = color * brightnessPulse * colorationAlpha * angularCorrection;
|
||||
${this.COLORATION_TECHNIQUES}
|
||||
${this.ADJUSTMENTS}
|
||||
${this.FALLOFF}
|
||||
${this.FRAGMENT_END}
|
||||
}
|
||||
`;
|
||||
|
||||
/** @inheritdoc */
|
||||
static defaultUniforms = ({
|
||||
...super.defaultUniforms,
|
||||
ratio: 0,
|
||||
brightnessPulse: 1,
|
||||
angle: 0,
|
||||
gradientFade: 0.15,
|
||||
beamLength: 1
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Siren light animation illumination shader
|
||||
*/
|
||||
class SirenIlluminationShader extends AdaptiveIlluminationShader {
|
||||
static fragmentShader = `
|
||||
${this.SHADER_HEADER}
|
||||
uniform float gradientFade;
|
||||
uniform float beamLength;
|
||||
|
||||
${this.PERCEIVED_BRIGHTNESS}
|
||||
${this.PIE}
|
||||
${this.ROTATION}
|
||||
|
||||
void main() {
|
||||
${this.FRAGMENT_BEGIN}
|
||||
${this.TRANSITION}
|
||||
vec2 ncoord = vUvs * 2.0 - 1.0;
|
||||
float angularIntensity = mix(PI, 0.0, intensity * 0.1);
|
||||
ncoord *= rot(time * 50.0 + angle);
|
||||
float angularCorrection = mix(1.0, pie(ncoord, angularIntensity, clamp(gradientFade * dist, 0.05, 1.0), beamLength), 0.5);
|
||||
finalColor *= angularCorrection;
|
||||
${this.ADJUSTMENTS}
|
||||
${this.FALLOFF}
|
||||
${this.FRAGMENT_END}
|
||||
}`;
|
||||
|
||||
/** @inheritdoc */
|
||||
static defaultUniforms = ({
|
||||
...super.defaultUniforms,
|
||||
angle: 0,
|
||||
gradientFade: 0.45,
|
||||
beamLength: 1
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user