Threes.js入門篇之2 - Hello World
與OpenGL一樣,Three.js 符合右手座標系,X軸向右,Y軸向上,Z軸朝外:
Three.js 的繪製流程可以描述為:
1. 生成 渲染器 - THREE.WebGLRenderer,並繫結Canvas繪圖畫布
2. 建立 場景管理器 - THREE.Scene,管理場景物件(場景樹)
生成場景物件THREE.mesh,新增到場景管理器
3. 建立 相機 - THREE.PerspectiveCamera,該相機支援透視投影
將相機新增到場景管理器
4. 渲染器 呼叫 場景器管理器 和 相機,執行渲染操作
參考程式碼如下(run 一下看看效果吧,可以調整下相機位置 - 比如z值,看看目標大小如何變化 ):
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <title>Hello World! - linol</title>
- <script type="text/javascript" src="three.js"></script>
- </head>
- <body onload="init()">
- <canvas id="Canvas3D" width="352" height="288"/>
- <script type="text/javascript">
- function init(){
- // render - attach canvas
- var renderer = new THREE.WebGLRenderer({canvas: document.getElementById('Canvas3D')});
- // scene
- var scene = new THREE.Scene();
- var sphere = new THREE.Mesh( new THREE.SphereGeometry(3,4), new THREE.MeshBasicMaterial({color: 0x00FF00}) );
- scene.add(sphere);
- // camera
- var camera = new THREE.PerspectiveCamera(45, 4/3, 1, 1000); // 1.33 Fov
- camera.position.set(0, 0, 10);
- scene.add(camera);
- renderer.render(scene, camera);
- }
- </script>
- </body>
- </html>
相關文章
- Threes.js入門篇之4 - World View ProjectionJSViewProject
- rust入門篇-hello worldRust
- [WebAssembly 入門] Hello, world!Web
- RabbitMQ 入門 - Hello WorldMQ
- Threes.js入門篇之9 - 全景圖JS
- Next.js入門:Hello WorldJS
- Threes.js入門篇之7 - 場景光照JS
- Threes.js入門篇之6 - 場景漫遊JS
- gRPC-go 入門(1):Hello WorldRPCGo
- Threes.js入門篇之8 - 材質與紋理JS
- Threes.js入門篇之3 - 場景與相機JS
- 零基礎入門Serverless:Hello WorldServer
- 入門輸出Hello World!——C語言C語言
- Threes.js入門篇之5 - 場景操縱器TrackballJS
- React入門系列 - 2 編寫第一個Hello world的React程式React
- React入門系列 – 2 編寫第一個Hello world的React程式React
- Flutter Web 之 Hello WorldFlutterWeb
- [WebAssembly 入門] 第二次的 Hello, world!Web
- React 學習之 Hello WorldReact
- Spring-Cloud之hello worldSpringCloud
- 5、Python入門____第一個Python專案:Hello WorldPython
- Laravel5.8 入門系列一 搭建環境,Hello World!Laravel
- [第七篇]——Docker Hello WorldDocker
- Hello, World
- Hello,World
- Hello World
- Hello World!
- Hello World !
- 【Learning eBPF-2】eBPF 的“Hello world”eBPF
- elsa-core—2.Hello World: HTTPHTTP
- Go - Hello WorldGo
- Deep "Hello world!"
- Hello Python worldPython
- Hello World探究
- Docker Hello WorldDocker
- dotnet hello world
- Go:Hello WorldGo
- ant Hello World