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.
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import { clone } from "../Source/Cesium.js";
|
|
import { defaultValue } from "../Source/Cesium.js";
|
|
import { Context } from "../Source/Cesium.js";
|
|
import createCanvas from "./createCanvas.js";
|
|
import createFrameState from "./createFrameState.js";
|
|
import getWebGLStub from "./getWebGLStub.js";
|
|
|
|
function createContext(options, canvasWidth, canvasHeight) {
|
|
// clone options so we can change properties
|
|
options = clone(defaultValue(options, {}));
|
|
options.webgl = clone(defaultValue(options.webgl, {}));
|
|
options.webgl.antialias = defaultValue(options.webgl.antialias, false);
|
|
if (!!window.webglStub) {
|
|
options.getWebGLStub = getWebGLStub;
|
|
}
|
|
|
|
var canvas = createCanvas(canvasWidth, canvasHeight);
|
|
var context = new Context(canvas, options);
|
|
|
|
if (!!window.webglValidation) {
|
|
context.validateShaderProgram = true;
|
|
context.validateFramebuffer = true;
|
|
context.logShaderCompilation = true;
|
|
context.throwOnWebGLError = true;
|
|
}
|
|
|
|
var us = context.uniformState;
|
|
us.update(createFrameState(context));
|
|
|
|
// Add function for test
|
|
context.destroyForSpecs = function () {
|
|
document.body.removeChild(context.canvas);
|
|
return context.destroy();
|
|
};
|
|
|
|
return context;
|
|
}
|
|
export default createContext;
|