Three.js 学习记录 之 纹理加载

本文介绍如何使用Three.js的THREE.ImageLoader方法加载纹理资源。详细解释了ImageLoader的使用方式,包括生成loader、加载资源的过程及如何处理加载完成、进度和错误等回调。

最近开始学习OpenGL,不免用到了Three.js,之前学习过程中没有做记录,俗话说:好脑袋不如一个烂笔头,有时遇到一个点,记得以前弄过,可又记得不太清,不得不重新整理学习,这时往往会后悔之前怎么没做个记录,现在开始,做个记录,为以后备用!


这次学习的是如何加载纹理,目前我用的是r81版本,之前的 THREE.ImageUtils.loadTexture 方法现在已经不推荐使用了,现在使用的是THREE.ImageLoader方法,具体使用方法如下:


1、生成一个loader 

var loader = new THREE.ImageLoader();


这里ImageLoader函数其实是带参数的,参数是loadingManager,这个manager可以管理加载的进度,出现的错误等一些回调函数,不带参数的话。默认使用的是THREE.DefaultLoadingManager,其实加载完成、加载进度、错误等一些回调函数,也可以在ImageLoader的load函数里面管理。

2、加载资源

使用load函数来加载资源,可以把一些状态回调函数函数写在这个函数里面,如下所示:

loader.load(
	// 纹理路径
	"a image",

	// 纹理加载成功后
	function ( image ) {
		// 可以把加载好的纹理赋给你定义好的texture对象

	},

	// 加载进度
	function ( xhr ) {
		console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
	},

	// 错误处理
	function ( xhr ) {
		console.log( 'An error happened' );
	}


这样的话,纹理加载就算处理完了。

注意,纹理加载是异步的,可以把render渲染放到纹理加载完毕后。


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值