You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.3 KiB
JavaScript

import { PointCloudShading } from "../../Source/Cesium.js";
import createScene from "../createScene.js";
describe("Scene/PointCloudShading", function () {
it("creates expected instance from raw assignment and construction", function () {
var pointCloudShading = new PointCloudShading();
expect(pointCloudShading.attenuation).toEqual(false);
expect(pointCloudShading.geometricErrorScale).toEqual(1.0);
expect(pointCloudShading.maximumAttenuation).not.toBeDefined();
expect(pointCloudShading.baseResolution).not.toBeDefined();
expect(pointCloudShading.eyeDomeLighting).toEqual(true);
expect(pointCloudShading.eyeDomeLightingStrength).toEqual(1.0);
expect(pointCloudShading.eyeDomeLightingRadius).toEqual(1.0);
expect(pointCloudShading.backFaceCulling).toEqual(false);
expect(pointCloudShading.normalShading).toEqual(true);
var options = {
geometricErrorScale: 2.0,
maximumAttenuation: 16,
baseResolution: 0.1,
eyeDomeLightingStrength: 0.1,
eyeDomeLightingRadius: 2.0,
backFaceCulling: true,
normalShading: false,
};
pointCloudShading = new PointCloudShading(options);
expect(pointCloudShading.attenuation).toEqual(false);
expect(pointCloudShading.geometricErrorScale).toEqual(
options.geometricErrorScale
);
expect(pointCloudShading.maximumAttenuation).toEqual(
options.maximumAttenuation
);
expect(pointCloudShading.baseResolution).toEqual(options.baseResolution);
expect(pointCloudShading.eyeDomeLighting).toEqual(true);
expect(pointCloudShading.eyeDomeLightingStrength).toEqual(
options.eyeDomeLightingStrength
);
expect(pointCloudShading.eyeDomeLightingRadius).toEqual(
options.eyeDomeLightingRadius
);
expect(pointCloudShading.backFaceCulling).toEqual(options.backFaceCulling);
expect(pointCloudShading.normalShading).toEqual(options.normalShading);
});
it("provides a method for checking if point cloud shading is supported", function () {
var scene = createScene();
var context = scene.context;
var expectedSupport =
context.floatingPointTexture &&
context.drawBuffers &&
context.fragmentDepth;
expect(PointCloudShading.isSupported(scene)).toEqual(expectedSupport);
scene.destroyForSpecs();
});
});