60 lines
1.3 KiB
JavaScript
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;
|