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.
95 lines
2.2 KiB
JavaScript
95 lines
2.2 KiB
JavaScript
import defined from "./defined.js";
|
|
|
|
/**
|
|
* Describes a compressed texture and contains a compressed texture buffer.
|
|
* @alias CompressedTextureBuffer
|
|
* @constructor
|
|
*
|
|
* @param {PixelFormat} internalFormat The pixel format of the compressed texture.
|
|
* @param {Number} width The width of the texture.
|
|
* @param {Number} height The height of the texture.
|
|
* @param {Uint8Array} buffer The compressed texture buffer.
|
|
*/
|
|
function CompressedTextureBuffer(internalFormat, width, height, buffer) {
|
|
this._format = internalFormat;
|
|
this._width = width;
|
|
this._height = height;
|
|
this._buffer = buffer;
|
|
}
|
|
|
|
Object.defineProperties(CompressedTextureBuffer.prototype, {
|
|
/**
|
|
* The format of the compressed texture.
|
|
* @type PixelFormat
|
|
* @readonly
|
|
* @memberof CompressedTextureBuffer.prototype
|
|
*/
|
|
internalFormat: {
|
|
get: function () {
|
|
return this._format;
|
|
},
|
|
},
|
|
/**
|
|
* The width of the texture.
|
|
* @type Number
|
|
* @readonly
|
|
* @memberof CompressedTextureBuffer.prototype
|
|
*/
|
|
width: {
|
|
get: function () {
|
|
return this._width;
|
|
},
|
|
},
|
|
/**
|
|
* The height of the texture.
|
|
* @type Number
|
|
* @readonly
|
|
* @memberof CompressedTextureBuffer.prototype
|
|
*/
|
|
height: {
|
|
get: function () {
|
|
return this._height;
|
|
},
|
|
},
|
|
/**
|
|
* The compressed texture buffer.
|
|
* @type Uint8Array
|
|
* @readonly
|
|
* @memberof CompressedTextureBuffer.prototype
|
|
*/
|
|
bufferView: {
|
|
get: function () {
|
|
return this._buffer;
|
|
},
|
|
},
|
|
});
|
|
|
|
/**
|
|
* Creates a shallow clone of a compressed texture buffer.
|
|
*
|
|
* @param {CompressedTextureBuffer} object The compressed texture buffer to be cloned.
|
|
* @return {CompressedTextureBuffer} A shallow clone of the compressed texture buffer.
|
|
*/
|
|
CompressedTextureBuffer.clone = function (object) {
|
|
if (!defined(object)) {
|
|
return undefined;
|
|
}
|
|
|
|
return new CompressedTextureBuffer(
|
|
object._format,
|
|
object._width,
|
|
object._height,
|
|
object._buffer
|
|
);
|
|
};
|
|
|
|
/**
|
|
* Creates a shallow clone of this compressed texture buffer.
|
|
*
|
|
* @return {CompressedTextureBuffer} A shallow clone of the compressed texture buffer.
|
|
*/
|
|
CompressedTextureBuffer.prototype.clone = function () {
|
|
return CompressedTextureBuffer.clone(this);
|
|
};
|
|
export default CompressedTextureBuffer;
|