170. Media Capture and Streams
(getUserMesia)
ブラウザからマイクやカメラにアクセス
利用範囲はWebRTC以外とも
音声処理(with Web Audio API)
ボイスチェンジャー etc.
画像処理(with Canvas)
顔検出 etc.
顔認識ができるようになるのも時間の問題か?
222. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
223. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
レンダラーを作成し、サイズと色を指定
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
224. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
描画領域をDOMに追加
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
225. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
カメラを作成
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
カメラの位置と方向を指定
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
226. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
色を指定し、ライトを作成
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
ライトの位置を指定
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
227. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
大きさと目の細かさを指定し、
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
形状(球)を作成
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
228. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
var disp = document.getElementById('disp');
色を指定し、マテリアルを作成
disp.appendChild(renderer.domElement);
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
229. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
形状とマテリアルから
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
メッシュを作成
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
230. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
シーンを作成し、
var disp = document.getElementById('disp');
ライト・メッシュを
disp.appendChild(renderer.domElement);
var camera = new THREE.PerspectiveCamera();
シーンに追加= new THREE.Vector3(0, 0, 8);
camera.position
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
231. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
シーンとカメラと指定し
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
レンダリング(描画)
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
232. var renderer =
new THREE.WebGLRenderer({antialias: true});
renderer.setSize(500, 500);
renderer.setClearColorHex(0xcccccc, 1);
var disp = document.getElementById('disp');
disp.appendChild(renderer.domElement);
var camera = new THREE.PerspectiveCamera();
camera.position = new THREE.Vector3(0, 0, 8);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var light = new THREE.DirectionalLight(0xcccccc);
light.position = new THREE.Vector3(1, 1, 1);
var geometry = new THREE.SphereGeometry(3, 32, 16);
var material =
new THREE.MeshPhongMaterial({color: 0xff0000});
var mesh = new THREE.Mesh(geometry, material);
var scene = new THREE.Scene();
scene.add(light);
scene.add(mesh);
renderer.render(scene, camera);
241. WebSocket
WebRTC
getUserMedia
An AR Game
https://developer.mozilla.org/ja/demos/detail/an-ar-game/launch
Real-time Communication Between Browsers
Video Chat with getUserMedia
https://apprtc.appspot.com/
Web Audio API
Pitch Detector with getUserMedia
http://webaudiodemos.appspot.com/pitchdetect/index.html
WebGL
3D Interactive Asteroid Space Visualization - Asterank
http://www.asterank.com/3d/
+360º - Car Visualizer - Three.js
http://carvisualizer.plus360degrees.com/threejs/
Aquarium
http://webglsamples.googlecode.com/hg/aquarium/aquarium.html
Water/Ocean
http://oos.moxiecode.com/js_webgl/water_noise/
Epic Citadel
http://www.unrealengine.com/html5/
Combination
Chrome World Wide Maze
for Machine
http://chrome.com/maze/
for Android
http://g.co/maze
Cube Slam
https://www.cubeslam.com/