r3-legacy/src/r3-d3-api-camera-cube.js

60 lines
1.3 KiB
JavaScript

/**
* R3.D3.API.Camera.Cube
* @constructor
* @param apiD3ObjectCamera
* @param near
* @param far
* @param cubeResolution
* @param renderTarget
*/
R3.D3.API.Camera.Cube = function(
apiD3ObjectCamera,
near,
far,
cubeResolution,
renderTarget
) {
if (R3.Utils.UndefinedOrNull(apiD3ObjectCamera)) {
apiD3ObjectCamera = {
objectType : R3.D3.API.Object.OBJECT_TYPE_CAMERA_CUBE
};
}
if (R3.Utils.UndefinedOrNull(apiD3ObjectCamera.objectType)) {
apiD3ObjectCamera.objectType = R3.D3.API.Object.OBJECT_TYPE_CAMERA_CUBE;
}
if (R3.Utils.UndefinedOrNull(near)) {
near = 0.1;
}
this.near = near;
if (R3.Utils.UndefinedOrNull(far)) {
far = 2000;
}
this.far = far;
if (R3.Utils.UndefinedOrNull(cubeResolution)) {
cubeResolution = 128;
}
this.cubeResolution = cubeResolution;
if (R3.Utils.UndefinedOrNull(renderTarget)) {
renderTarget = null;
}
this.renderTarget = renderTarget;
/**
* CubeCamera's have hardcoded fov=90 and aspect=1
*/
R3.D3.API.Camera.call(
this,
apiD3ObjectCamera,
apiD3ObjectCamera.aspect
);
};
R3.D3.API.Camera.Cube.prototype = Object.create(R3.D3.API.Camera.prototype);
R3.D3.API.Camera.Cube.prototype.constructor = R3.D3.API.Camera.Cube;