Files
Kepler/engine/renderPasses/shadow.js
2025-11-17 17:18:43 +01:00

31 lines
943 B
JavaScript
Executable File

import defaultRenderPass from '../defaultRenderPass.js';
import sampler2D from '../sampler2D.js';
import shader from '../shader.js';
class shadow extends defaultRenderPass {
prepare() {
var randomTexure = kepler.resources.getTexture("rotrandom.png");
var randomSampler = new sampler2D();
randomSampler.addTexture(randomTexure);
var depthPasses = this.viewport.system.depthPasses;
var depthpass = depthPasses[0];
this.shader = new shader();
this.shader.createFromFile("shaders/shadow.shader");
this.shader.setUniform("bias", 0.36 );
this.shader.setUniform("minVariance", 0.0001 );
this.shader.setUniform("shadowNoiseSampler", randomSampler );
this.shader.setUniform("lightPosition", depthpass.lightPosition );
this.shader.setUniform("shadowDepthSampler", depthpass.framebuffer.getSampler() );
this.shader.setUniform("lightViewProjection", depthpass.viewProjection );
}
}
export {shadow as default};