r3-legacy/src/game-lib-d3-api-pass-ssao.js

73 lines
1.5 KiB
JavaScript

/**
* GameLib.D3.API.Pass.SSAO
* @param apiPass
* @param camera
* @param scene
* @param radius
* @param onlyAO
* @param aoClamp
* @param lumInfluence
* @constructor
*/
GameLib.D3.API.Pass.SSAO = function (
apiPass,
scene,
camera,
radius,
onlyAO,
aoClamp,
lumInfluence
) {
if (GameLib.Utils.UndefinedOrNull(apiPass)) {
apiPass = {
passType: GameLib.D3.API.Pass.PASS_TYPE_SSAO
};
}
if (GameLib.Utils.UndefinedOrNull(apiPass.passType)) {
apiPass.passType = GameLib.D3.API.Pass.PASS_TYPE_SSAO;
}
if (GameLib.Utils.UndefinedOrNull(scene)) {
scene = null;
}
this.scene = scene;
if (GameLib.Utils.UndefinedOrNull(camera)) {
camera = null;
}
this.camera = camera;
if (GameLib.Utils.UndefinedOrNull(radius)) {
radius = 4;
}
this.radius = radius;
if (GameLib.Utils.UndefinedOrNull(onlyAO)) {
onlyAO = false;
}
this.onlyAO = onlyAO;
if (GameLib.Utils.UndefinedOrNull(aoClamp)) {
aoClamp = 0.25;
}
this.aoClamp = aoClamp;
if (GameLib.Utils.UndefinedOrNull(lumInfluence)) {
lumInfluence = 0.7;
}
this.lumInfluence = lumInfluence;
GameLib.D3.API.Pass.call(
this,
apiPass.id,
apiPass.name,
apiPass.passType,
apiPass.parentEntity,
apiPass.renderToScreen
)
};
GameLib.D3.API.Pass.SSAO.prototype = Object.create(GameLib.D3.API.Pass.prototype);
GameLib.D3.API.Pass.SSAO.prototype.constructor = GameLib.D3.API.Pass.SSAO;