# loadCRN

#### loadCRN(resourceOrUrlOrBuffer) → Promise.<CompressedTextureBuffer>|undefined
Core/loadCRN.js 49

Asynchronously loads and parses the given URL to a CRN file or parses the raw binary data of a CRN file. Returns a promise that will resolve to an object containing the image buffer, width, height and format once loaded, or reject if the URL failed to load or failed to parse the data. The data is loaded using XMLHttpRequest, which means that in order to make requests to another origin, the server must have Cross-Origin Resource Sharing (CORS) headers enabled.

Name | Type | Description
--- | --- | ---
`resourceOrUrlOrBuffer` | Resource | String | ArrayBuffer | The URL of the binary data or an ArrayBuffer.

##### Returns:

A promise that will resolve to the requested data when loaded. Returns undefined if `request.throttle` is true and the request does not have high enough priority.

##### Throws:

- RuntimeError : Unsupported compressed format.

##### Example:

    // load a single URL asynchronously
    Cesium.loadCRN('some/url').then(function(textureData) {
        var width = textureData.width;
        var height = textureData.height;
        var format = textureData.internalFormat;
        var arrayBufferView = textureData.bufferView;
        // use the data to create a texture
    }).otherwise(function(error) {
        // an error occurred
    });

##### See:

- crunch DXTc texture compression and transcoding library
- Cross-Origin Resource Sharing
- CommonJS Promises/A