12
3D and 2D for web Agus Susilo

Web GL by Agus S - Swevel

Embed Size (px)

Citation preview

Page 1: Web GL by Agus S - Swevel

3D and 2D for web

Agus Susilo

Page 2: Web GL by Agus S - Swevel

WebGL?

● Javascript API untuk merender grafis 3D dan 2D pada browser web yang kompatibel tanpa menggunakan plugin

● Integrasi penuh ke semua standar web browser● Penggunaan GPU fisik● Dapat di campur dengan elemen HTML

Page 3: Web GL by Agus S - Swevel

Design

● WebGL di bangun berdasarkan pada OpenGL ES 2.0 yang menyediakan API untuk grafis 3D

● Menggunakan elemen kanvas pada HTML5● Dapat di akses melalui DOM interface

Agus Susilo
asdasdasdsadasdasd
Page 4: Web GL by Agus S - Swevel

History

● WebGL tumbuh dari eksperimen Canvas 3D dimulai oleh Vladimir Vukicevic di Mozilla,

● Pertama kali di demokan pd tahun 2006● Tahun 2009 Consortium Khronos Group

memulai kelompok kerja WebGL● Yang di dukung oleh Apple, Google, Mozilla● Aplikasi pertama yaitu Google Maps dan

Zygote Body

Page 5: Web GL by Agus S - Swevel

Support

● Didukung luas pada web browser modern● Ketersediaan WebGL ini juga tergantung pada

faktor lain seperti dukungan dari GPU

Page 6: Web GL by Agus S - Swevel

Desktop Browsers

● Google Chrome, support sejak versi 9● Mozilla Firefoz, versi 4.0 ke atas● Safari, versi >= 6 pada Lion, Mountain Lion,

Safari 5.1 Snow Leopard,disabled by default

● Opera, versi 11 dan 12, disabled by default● Internet Explorer, partially supported in IE 11

Page 7: Web GL by Agus S - Swevel

Mobile Browsers

● Nokia N900, Web browser MicroB● Blackberry playbook, OS 2.0● Firefox mobile● Firefox OS● Google Chrome >= 25● Opera Mobile >= 12● Tizen 1.0● Ubuntu Touch

Page 8: Web GL by Agus S - Swevel

Library and Ecosystem

● Library:– three.js– O3D– OSG.JS– GLGE

● Game Engine:– Unreal Engine 4– Unity 5

● 3D object import

Page 9: Web GL by Agus S - Swevel

Examples, Simple rotating Cube

var camera, scene, renderer;

var geometry, material, mesh;

init();

animate();

function init() {

camera = new THREE.PerspectiveCamera(75,

window.innerWidth/window.innerHeight, 1, 10000);

camera.position.z = 1000;

scene = new THREE.Scene();

geometry = new THREE.CubeGeometry(200, 200, 200);

material = new THREE.MeshBasicMaterial({ color: 0xff0000,

wireframe: true});

Page 10: Web GL by Agus S - Swevel

Examples, Simple rotating Cube

mesh = new THREE.Mesh(geometry, material);

scene.add(mesh);

renderer = new THREE.CanvasRenderer();

renderer.setSize(window.innerWidth, window.innerHeight);

document.body.appendChild(renderer.domElement);

}

function animate() {

requestAnimationFrame(animate);

mesh.rotation.x += 0.01;

mesh.rotation.y += 0.02;

renderer.render(scene, camera);

}

Page 11: Web GL by Agus S - Swevel

Demos

● http://stemkoski.github.io/Three.js/● http://threejs.org/● http://www.glge.org/category/demos/● http://osgjs.org/#examples● http://www.chromeexperiments.com/webgl/

Page 12: Web GL by Agus S - Swevel

Terima kasih

?

Semoga bermanfaat ;)