A loader for loading a .prwm resource.
Packed Raw WebGL Model is an open-source binary file format for nD geometries specifically designed for JavaScript and WebGL with a strong focus on fast parsing (from 1ms to 0.1ms in Chrome 59 on a MBP Late 2013). The parsing of PRWM file is especially fast when the endianness of the file is the same as the endianness of the client platform. More information on this here.


// instantiate a loader var loader = new v3d.PRWMLoader(); // load a resource loader.load( // resource URL 'models/nefertiti.le.prwm', // called when resource is loaded function(bufferGeometry) { var object = new v3d.Mesh(bufferGeometry, new v3d.MeshNormalMaterial()); scene.add(object); }, // called when loading is in progresses function(xhr) { console.log((xhr.loaded / * 100) + '% loaded'); }, // called when loading has errors function(error) { console.log('An error happened'); } ); webgl_loader_prwm


PRWMLoader(manager : LoadingManager)

manager — The loadingManager for the loader to use. Default is v3d.DefaultLoadingManager.

Creates a new PRWMLoader.



.load (url : String, onLoad : Function, onProgress : Function, onError : Function) : null

url — A string containing the path/URL of the .prwm file. Any * character in the URL will be automatically replaced by le or be depending on the platform endianness.
onLoad — (optional) A function to be called after the loading is successfully completed. The function receives the loaded BufferGeometry as an argument.
onProgress — (optional) A function to be called while the loading is in progress. The function receives a XMLHttpRequest instance, which contains total and loaded bytes.
onError — (optional) A function to be called if an error occurs during loading. The function receives error as an argument.

Begin loading from url and call onLoad with the parsed response content.

.parse (arrayBuffer : ArrayBuffer) : BufferGeometry

arrayBuffer — ArrayBuffer containing the prwm data.

Parse a prwm file passed as an ArrayBuffer and directly return an instance of BufferGeometry.


Return true if the endianness of the platform is Big Endian, false otherwise.

.setPath (path : String) : PRWMLoader

path — Base path.

Set the base path for the file.


For more info on how to obtain the source code of this module see this page.

Additional notes

This loader is additionally available on npm as three-prwm-loader.