DSDSServer2024/build/build.20240805/static/js/Cesium-1.53/Specs/Scene/PointCloudEyeDomeLightingSp...

95 lines
2.9 KiB
JavaScript

defineSuite([
'Core/Cartesian3',
'Core/Color',
'Core/defined',
'Core/HeadingPitchRange',
'Core/HeadingPitchRoll',
'Core/Math',
'Core/PerspectiveFrustum',
'Core/Transforms',
'Scene/PointCloud3DTileContent',
'Scene/PointCloudEyeDomeLighting',
'Specs/Cesium3DTilesTester',
'Specs/createScene'
], 'Scene/PointCloudEyeDomeLighting', function(
Cartesian3,
Color,
defined,
HeadingPitchRange,
HeadingPitchRoll,
CesiumMath,
PerspectiveFrustum,
Transforms,
PointCloud3DTileContent,
PointCloudEyeDomeLighting,
Cesium3DTilesTester,
createScene) {
'use strict';
var scene;
var centerLongitude = -1.31968;
var centerLatitude = 0.698874;
var pointCloudNoColorUrl = './Data/Cesium3DTiles/PointCloud/PointCloudNoColor/tileset.json';
function setCamera(longitude, latitude) {
// Point the camera to the center of the tile
var center = Cartesian3.fromRadians(longitude, latitude, 5.0);
scene.camera.lookAt(center, new HeadingPitchRange(0.0, -1.57, 5.0));
}
beforeAll(function() {
scene = createScene();
});
afterAll(function() {
scene.destroyForSpecs();
});
beforeEach(function() {
var camera = scene.camera;
camera.frustum = new PerspectiveFrustum();
camera.frustum.aspectRatio = scene.drawingBufferWidth / scene.drawingBufferHeight;
camera.frustum.fov = CesiumMath.toRadians(60.0);
setCamera(centerLongitude, centerLatitude);
});
afterEach(function() {
scene.primitives.removeAll();
});
it('adds a clear command and a post-processing draw call', function() {
return Cesium3DTilesTester.loadTileset(scene, pointCloudNoColorUrl).then(function(tileset) {
if (!PointCloudEyeDomeLighting.isSupported(scene.frameState.context)) {
return;
}
tileset.pointCloudShading.eyeDomeLighting = true;
scene.renderForSpecs();
var originalLength = scene.frameState.commandList.length;
tileset.pointCloudShading.attenuation = true;
scene.renderForSpecs();
var newLength = scene.frameState.commandList.length;
expect(newLength).toEqual(originalLength + 2);
});
});
it('does not change commands for pick calls', function() {
return Cesium3DTilesTester.loadTileset(scene, pointCloudNoColorUrl).then(function(tileset) {
tileset.pointCloudShading.eyeDomeLighting = true;
scene.pickForSpecs();
var originalLength = scene.frameState.commandList.length;
tileset.pointCloudShading.attenuation = true;
scene.pickForSpecs();
var newLength = scene.frameState.commandList.length;
expect(newLength).toEqual(originalLength);
});
});
}, 'WebGL');