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.
33 lines
953 B
JavaScript
33 lines
953 B
JavaScript
import { defined } from "../Source/Cesium.js";
|
|
import { destroyObject } from "../Source/Cesium.js";
|
|
import { Pass } from "../Source/Cesium.js";
|
|
import { RenderState } from "../Source/Cesium.js";
|
|
|
|
var ViewportPrimitive = function (fragmentShader) {
|
|
this._fs = fragmentShader;
|
|
this._command = undefined;
|
|
};
|
|
|
|
ViewportPrimitive.prototype.update = function (frameState) {
|
|
if (!defined(this._command)) {
|
|
this._command = frameState.context.createViewportQuadCommand(this._fs, {
|
|
renderState: RenderState.fromCache(),
|
|
pass: Pass.OPAQUE,
|
|
});
|
|
}
|
|
frameState.commandList.push(this._command);
|
|
};
|
|
|
|
ViewportPrimitive.prototype.isDestroyed = function () {
|
|
return false;
|
|
};
|
|
|
|
ViewportPrimitive.prototype.destroy = function () {
|
|
if (defined(this._command)) {
|
|
this._command.shaderProgram =
|
|
this._command.shaderProgram && this._command.shaderProgram.destroy();
|
|
}
|
|
return destroyObject(this);
|
|
};
|
|
export default ViewportPrimitive;
|