73 lines
1.5 KiB
JavaScript
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;
|