|
@@ -0,0 +1,108 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="en">
|
|
|
+ <head>
|
|
|
+ <meta charset="utf-8" />
|
|
|
+ <base href="../../" />
|
|
|
+ <script src="list.js"></script>
|
|
|
+ <script src="page.js"></script>
|
|
|
+ <link type="text/css" rel="stylesheet" href="page.css" />
|
|
|
+ </head>
|
|
|
+ <body>
|
|
|
+
|
|
|
+ <h1>[name]</h1>
|
|
|
+
|
|
|
+ <div class="desc">A loader for loading a <em>.prwm</em> resource.<br />
|
|
|
+ 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 <a href="https://github.com/kchapelier/PRWM">here</a>.
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h2>Example</h2>
|
|
|
+
|
|
|
+ <code>
|
|
|
+ // instantiate a loader
|
|
|
+ var loader = new THREE.PRWMLoader();
|
|
|
+
|
|
|
+ // load a resource
|
|
|
+ loader.load(
|
|
|
+ // resource URL
|
|
|
+ 'models/nefertiti.le.prwm',
|
|
|
+ // called when resource is loaded
|
|
|
+ function ( bufferGeometry ) {
|
|
|
+
|
|
|
+ var object = new THREE.Mesh( bufferGeometry, new THREE.MeshNormalMaterial() );
|
|
|
+ scene.add( object );
|
|
|
+
|
|
|
+ },
|
|
|
+ // called when loading is in progresses
|
|
|
+ function ( xhr ) {
|
|
|
+
|
|
|
+ console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
|
|
|
+
|
|
|
+ },
|
|
|
+ // called when loading has errors
|
|
|
+ function ( error ) {
|
|
|
+
|
|
|
+ console.log( 'An error happened' );
|
|
|
+
|
|
|
+ }
|
|
|
+ );
|
|
|
+ </code>
|
|
|
+
|
|
|
+ [example:webgl_loader_prwm]
|
|
|
+
|
|
|
+
|
|
|
+ <h2>Constructor</h2>
|
|
|
+
|
|
|
+ <h3>[name]( [page:LoadingManager manager] )</h3>
|
|
|
+ <div>
|
|
|
+ [page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ Creates a new [name].
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h2>Properties</h2>
|
|
|
+
|
|
|
+
|
|
|
+ <h2>Methods</h2>
|
|
|
+
|
|
|
+ <h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
|
|
|
+ <div>
|
|
|
+ [page:String url] — A string containing the path/URL of the <em>.prwm</em> file. Any <em>*</em> character in the URL will be automatically replaced by <em>le</em> or <em>be</em> depending on the platform endianness.<br />
|
|
|
+ [page:Function onLoad] — (optional) A function to be called after the loading is successfully completed. The function receives the loaded [page:BufferGeometry] as an argument.<br />
|
|
|
+ [page:Function onProgress] — (optional) A function to be called while the loading is in progress. The function receives a XMLHttpRequest instance, which contains [page:Integer total] and [page:Integer loaded] bytes.<br />
|
|
|
+ [page:Function onError] — (optional) A function to be called if an error occurs during loading. The function receives error as an argument.<br />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ Begin loading from url and call onLoad with the parsed response content.
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h3>[method:BufferGeometry parse]( [page:ArrayBuffer arrayBuffer] )</h3>
|
|
|
+ <div>
|
|
|
+ [page:ArrayBuffer arrayBuffer] — ArrayBuffer containing the <em>prwm</em> data.
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ Parse a <em>prwm</em> file passed as an ArrayBuffer and directly return an instance of [page:BufferGeometry].
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h3>PRWMLoader.isBigEndianPlatform( )</h3>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ Return true if the endianness of the platform is Big Endian, false otherwise..
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h2>Source</h2>
|
|
|
+
|
|
|
+ [link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/PRWMLoader.js examples/js/loaders/PRWMLoader.js]
|
|
|
+
|
|
|
+ <h2>Additional notes</h2>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ This loader is additionally available on npm as <a href="https://www.npmjs.com/package/three-prwm-loader">three-prwm-loader</a>.
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </body>
|
|
|
+</html>
|