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

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

[复制链接]

1602

主题

1

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
24658
精华
6

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

跳转到指定楼层
楼主
发表于 2012-8-17 15:01:44 |只看该作者 |倒序浏览
THREE.JS的动作确认
绘制一个长方体,顺便确认下 Three.js 的运行。 启动文本编辑器、把下面的源代码拷贝&粘贴、并保存到工作目录下。
例1:TUTORIAL1.HTML(设置视点和光源、绘制立方体)

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Three.js チュートリアル1</title>

<script src="Three.js"></script>

<style type="text/css">

div#canvas-frame{

  border: none;

  cursor: pointer;

  width: 600px;

  height: 600px;

  background-color: #EEEEEE;

}

</style>

<script>

  var renderer;

  function initThree() {

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

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

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

    renderer.setSize(width, height );

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

    renderer.setClearColorHex(0xFFFFFF, 1.0);

  }
  var camera;

  function initCamera() {

    camera = new THREE.PerspectiveCamera( 45 , width / height , 1 , 10000 );

    camera.position.x = 100;

    camera.position.y = 20;

    camera.position.z = 50;

    camera.up.x = 0;

    camera.up.y = 0;

    camera.up.z = 1;

    camera.lookAt( {x:0, y:0, z:0 } );

  }

  var scene;

  function initScene() {

    scene = new THREE.Scene();

  }

  var light;

  function initLight() {

    light = new THREE.DirectionalLight(0xFF0000, 1.0, 0);

    light.position.set( 100, 100, 200 );

    scene.add(light);

  }

  var cube;

  function initObject(){

    cube = new THREE.Mesh(

         new THREE.CubeGeometry(50,50,50),                //形状の設定

         new THREE.MeshLambertMaterial({color: 0xff0000}) //材質の設定

    );

    scene.add(cube);

    cube.position.set(0,0,0);

  }

  function threeStart() {

    initThree();

    initCamera();

    initScene();

    initLight();

    initObject();

    renderer.clear();

    renderer.render(scene, camera);

  }

</script>

</head>
<body onload="threeStart();">

<div id="canvas-frame"></div>

</body>

</html>执行的结果就象下面这样。 使用支持WebGL的浏览器就可以看到一个红色的长方体被绘制出来了。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

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

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

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

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

© 2008-2019 Narkii Inc.

回顶部