render method
void
render(
- WebGLRenderer renderer,
- WebGLRenderTarget writeBuffer,
- WebGLRenderTarget readBuffer, {
- double? deltaTime,
- bool? maskActive,
override
Implementation
@override
void render(renderer, writeBuffer, readBuffer,{double? deltaTime, bool? maskActive}) {
uniforms['tDiffuse']["value"] = readBuffer.texture;
uniforms['seed']["value"] = math.Random().nextDouble(); //default seeding
uniforms['byp']["value"] = 0;
if (curF % randX == 0 || goWild == true) {
uniforms['amount']["value"] = math.Random().nextDouble() / 30;
uniforms['angle']["value"] = randFloat(-math.pi, math.pi);
uniforms['seed_x']["value"] = randFloat(-1, 1);
uniforms['seed_y']["value"] = randFloat(-1, 1);
uniforms['distortion_x']["value"] = randFloat(0, 1);
uniforms['distortion_y']["value"] = randFloat(0, 1);
curF = 0;
generateTrigger();
} else if (curF % randX < randX / 5) {
uniforms['amount']["value"] = math.Random().nextDouble() / 90;
uniforms['angle']["value"] = randFloat(-math.pi, math.pi);
uniforms['distortion_x']["value"] = randFloat(0, 1);
uniforms['distortion_y']["value"] = randFloat(0, 1);
uniforms['seed_x']["value"] = randFloat(-0.3, 0.3);
uniforms['seed_y']["value"] = randFloat(-0.3, 0.3);
}
else if (goWild == false) {
uniforms['byp']["value"] = 1;
}
curF++;
if (renderToScreen) {
renderer.setRenderTarget(null);
fsQuad.render(renderer);
} else {
renderer.setRenderTarget(writeBuffer);
if (clear) renderer.clear();
fsQuad.render(renderer);
}
}