查看: 1228|回复: 0
打印 上一主题 下一主题

[WEBGL] 利用HTML5构筑物理模拟环境2.21

[复制链接]

1602

主题

1

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
24658
精华
6

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-8-17 15:03:51 |只看该作者 |倒序浏览
例1的解说
使用Three.js 绘制的步骤参照如下
0.画布的准备

1.Three.js 的初期化(initThree())

2.相机的准备(initCamera())

3.场景的准备(initScene())

4.光源的准备(initLight())

5.物体的装备(initObject())

6.执行绘制(threeStart())

0.画布(CANVAS)的准备

准备和画布框大小一致的领域用于WebGL绘制。 具体来说、

(1) body 标签中添加 id 为「canvas-frame」的 div 元素。

(2) style 标签中指定 「canvas-frame」的CSS样式。
BODY 元素中追加 DIV 标签

<div id="canvas-frame"></div>STYLE 元素中追加 CSS样式

通过【元素#ID名】的CSS选择器方式,为【canvas-frame】元素指定如下属性。

(1) 隐藏框线

(2) 鼠标光标设置为【pointer】

(3) 宽度设置为600px

(4) 高度设置为600px

(5) 背景设置为「#EEEEEE」
<style type="text/css">

div#canvas-frame{

  border: none;      //(1)

  cursor: pointer;   //(2)

  width: 600px;      //(3)

  height: 600px;     //(4)

  background-color: #EEEEEE; //(5)

}

</style>1.设置渲染器

三维空间里的物体映射到二维平面的过程被称为三维渲染。 一般来说我们都把进行渲染操作的软件叫做渲染器。 具体来说要进行下面这些处理。
(0) 声明全局变量(对象)

(1) 获取画布「canvas-frame」的高宽

(2) 生成渲染器对象(属性:抗锯齿效果为设置有效)

(3) 指定渲染器的高宽(和画布框大小一致)

(4) 追加 【canvas】 元素到 【canvas-frame】 元素中。

(5) 设置渲染器的清除色(clearColor)
var width, height;                                                           //(0)

var renderer;                                                                //(0)

function initThree() {

  width = document.getElementById('canvas-frame').clientWidth;               //(1)

  height = document.getElementById('canvas-frame').clientHeight;             //(1)

  renderer = new THREE.WebGLRenderer({antialias: ***e});                     //(2)

  renderer.setSize(width, height);                                           //(3)

  document.getElementById('canvas-frame').appendChild(renderer.domElement);  //(4)

  renderer.setClearColorHex(0xFFFFFF, 1.0);                                  //(5)

}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-22 18:43 , Processed in 0.184771 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部