three.js PRWMLoader

2023-02-16 17:50 更新

用于加載 .prwm 資源的加載器。

Packed Raw WebGL Model 是一種開源二進(jìn)制文件格式,用于 nD 幾何圖形,專為 JavaScript 和 WebGL 設(shè)計(jì),著重于快速解析(在 2013 年末 MBP 上的 Chrome 59 中從 1ms 到 0.1ms)。當(dāng)文件的字節(jié)序與客戶端平臺的字節(jié)序相同時,PRWM 文件的解析速度特別快。更多信息請點(diǎn)擊此處。

代碼示例

// instantiate a loader
const loader = new PRWMLoader();

// load a resource
loader.load(
	// resource URL
	'models/nefertiti.le.prwm',
	// called when resource is loaded
	function ( bufferGeometry ) {

		const 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' );

	}
);

例子

webgl_loader_prwm

構(gòu)造函數(shù)

PRWMLoader( manager : LoadingManager )

manager — 供加載器使用的 loadingManager。默認(rèn)值為 THREE.DefaultLoadingManager。

創(chuàng)建一個新的 PRWMLoader。

屬性

請參閱基本 Loader 類以了解公共屬性。

方法

常用方法見 Loader 基類。

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

url — 包含 .prwm 文件的路徑/URL 的字符串。 URL 中的任何 * 字符將自動替換為 le 或取決于平臺字節(jié)序。

onLoad — (可選)加載成功完成后要調(diào)用的函數(shù)。該函數(shù)接收加載的 BufferGeometry 作為參數(shù)。

onProgress — (可選)在加載過程中調(diào)用的函數(shù)。該函數(shù)接收一個 XMLHttpRequest 實(shí)例,其中包含總字節(jié)數(shù)和加載字節(jié)數(shù)。

onError — (可選)加載期間發(fā)生錯誤時調(diào)用的函數(shù)。該函數(shù)接收錯誤作為參數(shù)。

從 url 開始加載并使用解析的響應(yīng)內(nèi)容調(diào)用 onLoad。

.parse ( arrayBuffer : ArrayBuffer ) : BufferGeometry

arrayBuffer — 包含 prwm 數(shù)據(jù)的 ArrayBuffer。

解析作為 ArrayBuffer 傳遞的 prwm 文件并直接返回 BufferGeometry 的實(shí)例。

PRWMLoader.isBigEndianPlatform( )

如果平臺的字節(jié)順序是 Big Endian,則返回 true,否則返回 false。

源碼

examples/jsm/loaders/PRWMLoader.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號