TextureCache

Description

The TextureCache API manages texture cache resources.

Supported Script Types: Interface Scripts • Client Entity Scripts • Avatar Scripts

Properties

Name Type Summary
numTotal number Total number of total resources. Read-only.
numCached number Total number of cached resource. Read-only.
sizeTotal number Size in bytes of all resources. Read-only.
sizeCached number Size in bytes of all cached resources. Read-only.

Methods

Name Return Value Summary
getResourceList Array.<string> Gets the URLs of all resources in the cache.
prefetch ResourceObject Prefetches a resource.
prefetch ResourceObject Prefetches a texture resource of specific type.
updateTotalSize None

Deprecated: This function is deprecated and will be removed.

Signals

Name Summary
dirty Triggered when the cache content has changed.
spectatorCameraFramebufferReset

Deprecated: This signal is deprecated and will be removed.

Type Definitions

TextureType
Type: number

Describes the type of texture.

See also: Material and PBR Materials Guide.

ValueNameDescription
0DefaultBasic color.
1StrictBasic color. Quality never downgraded.
2AlbedoColor for PBR.
3NormalNormal map.
4BumpBump map.
5Specular or metallicMetallic or not.
6RoughnessRough or matte.
7GlossGloss or shine.
8EmissiveThe amount of light reflected.
9CubeCubic image for sky boxes.
10Occlusion or scatteringHow objects or human skin interact with light.
11LightmapLight map.
12UnusedTexture is not currently used.

Method Details

(static) getResourceList( ) → {Array.<string>}
Returns: The URLs of all resources in the cache.

Gets the URLs of all resources in the cache.

Example

Report cached resources.

// Replace AnimationCache with ModelCache, SoundCache, or TextureCache as appropriate.

var cachedResources = AnimationCache.getResourceList();
print("Cached resources: " + JSON.stringify(cachedResources));
(static) prefetch( url ) → {ResourceObject}
Returns: A resource object.

Prefetches a resource.

Parameters

Name Type Description
url string The URL of the resource to prefetch.
Example

Prefetch a resource and wait until it has loaded.

// Replace AnimationCache with ModelCache, SoundCache, or TextureCache as appropriate.
// TextureCache has its own version of this function.

var resourceURL = "https://s3-us-west-1.amazonaws.com/hifi-content/clement/production/animations/sitting_idle.fbx";
var resourceObject = AnimationCache.prefetch(resourceURL);

function checkIfResourceLoaded(state) {
    if (state === Resource.State.FINISHED) {
        print("Resource loaded and ready.");
    } else if (state === Resource.State.FAILED) {
        print("Resource not loaded.");
    }
}

// Resource may have already been loaded.
print("Resource state: " + resourceObject.state);
checkIfResourceLoaded(resourceObject.state);

// Resource may still be loading.
resourceObject.stateChanged.connect(function (state) {
    print("Resource state changed to: " + state);
    checkIfResourceLoaded(state);
});
(static) prefetch( url, type, maxNumPixelsopt ) → {ResourceObject}
Returns: A resource object.

Prefetches a texture resource of specific type.

Parameters

Name Type Attributes Default Value Description
url string The URL of the texture to prefetch.
type TextureCache.TextureType The type of the texture.
maxNumPixels number <optional>
67108864 The maximum number of pixels to use for the image. If the texture has more than this number it is downscaled.
(static) updateTotalSize( deltaSize )

Deprecated: This function is deprecated and will be removed.

Parameters

Name Type Description
deltaSize number Delta size.

Signal Details

dirty( )
Returns: Signal

Triggered when the cache content has changed.

spectatorCameraFramebufferReset( )
Returns: Signal

Deprecated: This signal is deprecated and will be removed.