WebGL学习笔记3

 《WebGL Lesson 10 – loading a world, and the most basic kind of camera》:这个demo载入了一个场景,并且能处理键盘事件。 

  1. 载入场景:XMLHttpRequest->HTTP GET request->a callback function当加载场景数据完成时调用并加载场景数据。场景数据默认用的格式很简单,只能反映点坐标和对应面的贴图信息,其他光源等都不能反映,所以这个格式不好。一组数据包括XYZST五个值,前三个是点坐标,后两个是贴图纹理。纹理值一般在0-1之间,表示缩放比例,但是这里出现6.5等,表示同时贴6张图,每张图比例是0.5,这适用于墙面纹理。
  2. 摄像头移动:绕Y轴左右看称为yaw,绕X轴上下看成为pitch。webgl本身没提供摄像头,需要自己实现,我们实现时是默认将摄像头置于原点并看向X轴。摄像头移动,其实是场景移动。在复杂处理中,可以维护一个“camera matrix”来维护场景坐标的移动旋转量值。
  3. 键盘输入处理:jog(漫步)。原则:配置更好的机器,按键盘,获得的只能是更高的帧数,而不是更快的移动速度。这里通过设定固定的移动速率,并在drawscene中绘制实现。因为drawscene本身只于用户帧数相关,所以可以实现上述功能。文中代码是在drawscene中,先根据各种偏转参数使用drawarrays绘制图像后,再处理当前的键盘操作,更新偏转参数,即本次处理的键盘输入只能在下次drawscene执行时得以显示结果。
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值