Sedikit peringatan, apakah itu WebGL?
WebGL ialah API grafik HTML5 yang membenarkan untuk memaparkan 3D terus dalam penyemak imbas melalui tag kanvas. Ia datang dari OpenGL ES 2.0, ia adalah sDisokong oleh semua pelayar moden.

Bagaimana untuk melakukan WebGL? Atau bagaimana untuk bermula dengan baik
Tiga.js, "Perpustakaan 3D JavaScript yang menjadikan WebGL lebih mudah"
- Pustaka Sumber Terbuka yang paling banyak digunakan dan didokumenkan untuk melakukan WebGL
- Dicipta oleh Ricardo Cabello aka mrDoob
- github: v74 (v1 > 2010); tonton 1 / bintang 572 / garpu 23
- Diberikan dalam WebGL… + CSS3D & SVG untuk penyemak imbas/mudah alih "lama".
- Ciri: Pemandangan, Kamera, Geometri, Pemuat Model 3D, Lampu, Bahan, Zarah, Animasi, Shader…
Shaders ? Kesako?
Shaders adalah seperti "kesan khas" yang mencipta atau mengubah suai bahan dan warna (sangat hebat). Ia ditulis dalam glsl (OpenGL Shading Language, kelihatan seperti C).
Three.js dalam pengeluaran
Kita dapat melihat bahawa three.js digunakan terutamanya dalam pengeluaran untuk laman web acara, tapak eksperimen, tapak pameran dengan produk dan permainan 360°:
[youtube https://www.youtube.com/watch?v=toHboGrzjO4&w=560&h=315]
[youtube https://www.youtube.com/watch?v=DgPv6IIVDFQ&w=560&h=315]
Three.js dalam amalan

Ambil perhatian bahawa cahaya serta jerat (objek) dan kamera akan disertakan dalam pemandangan dan yang kedua akan dimasukkan ke dalam "enjin rendering" dengan kamera. Dalam kod, ini akan memberikan contohnya untuk kiub mudah yang menghidupkan dirinya sendiri:
//using jade ;)
doctype html // html5 doctype
html
head
title Basic Three.js App
style
html, body { margin: 0; padding: 0; overflow: hidden; }
body
script(src="js/three.min.js")
script
// Init scene & camera
var scene = new THREE.Scene();
var aspect = window.innerWidth / window.innerHeight;
var camera = new THREE.PerspectiveCamera( 75, aspect, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
// Add cube
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshNormalMaterial();
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
camera.position.z = 5;
// Add animation
var render = function () {
requestAnimationFrame( render );
cube.rotation.x += 0.1;
cube.rotation.y += 0.1;
renderer.render( scene, camera );
};
render();
Beberapa pautan untuk three.js
- learningthreejs.com, oleh Jerome Etienne
- Tutorial
- Pemalam: TIGAEx
- IRC: freenode > three.js
PS: Tahukah anda bahawa kami menggunakan three.js untuk kalendar di hadapan (I.e.
Hervé Chaissac, UX-Scientist @UXRepublic
(gambar daripada David Scottlyons)
