render method
dynamic
render(
- dynamic deltaTime
Implementation
render(deltaTime) {
// deltaTime value is in seconds
deltaTime ??= clock.getDelta();
var currentRenderTarget = renderer.getRenderTarget();
var maskActive = false;
var pass, i, il = passes.length;
for (i = 0; i < il; i++) {
pass = passes[i];
if (pass.enabled == false) continue;
pass.renderToScreen = (renderToScreen && isLastEnabledPass(i));
pass.render(renderer, writeBuffer, readBuffer, deltaTime: deltaTime, maskActive: maskActive);
if (pass.needsSwap) {
if (maskActive) {
var context = renderer.getContext();
var stencil = renderer.state.buffers["stencil"];
//context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff );
stencil.setFunc(context.NOTEQUAL, 1, 0xffffffff);
copyPass.render(renderer, writeBuffer, readBuffer, deltaTime: deltaTime);
//context.stencilFunc( context.EQUAL, 1, 0xffffffff );
stencil.setFunc(context.EQUAL, 1, 0xffffffff);
}
swapBuffers();
}
if (pass.runtimeType.toString() == "MaskPass") {
maskActive = true;
} else if (pass.runtimeType.toString() == "ClearMaskPass") {
maskActive = false;
}
}
renderer.setRenderTarget(currentRenderTarget);
}