[js]three.js 자바스크립트로 3D 표현을
웹이 바뀌고 있습니다. 심하게!!!
아래 글자를 드래그해보세요.
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js">
<script type="text/javascript" src="/upload/1328470135943">
<script type="text/javascript">
// set the scene size
var WIDTH = 400,
HEIGHT = 300;
// set some camera attributes
var VIEW_ANGLE = 45,
ASPECT = WIDTH / HEIGHT,
NEAR = 0.1,
FAR = 10000;
// get the DOM element to attach to
// - assume we've got jQuery to hand
var $container = $('#container');
// create a WebGL renderer, camera
// and a scene
var renderer = new THREE.WebGLRenderer();
var camera = new THREE.PerspectiveCamera(
VIEW_ANGLE,
ASPECT,
NEAR,
FAR );
var scene = new THREE.Scene();
// the camera starts at 0,0,0 so pull it back
camera.position.z = 300;
// start the renderer
renderer.setSize(WIDTH, HEIGHT);
// attach the render-supplied DOM element
$container.append(renderer.domElement);
// create the sphere's material
var sphereMaterial = new THREE.MeshLambertMaterial(
{
color: 0xCC0000
});
// set up the sphere vars
var radius = 50, segments = 16, rings = 16;
// create a new mesh with sphere geometry -
// we will cover the sphereMaterial next!
var sphere = new THREE.Mesh(
new THREE.SphereGeometry(radius,
segments,
rings),
sphereMaterial);
// set the geometry to dynamic to allow updates
sphere.geometry.dynamic = true;
// changes to the vertices
sphere.geometry.__dirtyVertices = true;
// changes to the normals
sphere.geometry.__dirtyNormals = true;
// add the sphere to the scene
scene.add(sphere);
// create a point light
var pointLight = new THREE.PointLight( 0xFFFFFF );
// set its position
pointLight.position.x = 10;
pointLight.position.y = 50;
pointLight.position.z = 130;
// add to the scene
scene.add(pointLight);
// draw!
renderer.render(scene, camera);
3D를 표현하는 Web Graphic Library(WebGL) 기술도 점점 발전하고 있습니다.
https://github.com/mrdoob/three.js/ 를 기점으로 성장하고 있는 three.js를 주목할 필요가 있습니다.
관련된 예제들도 어마어마 합니다.
ie에서는 잘 안 보일 수 있습니다.
그래서 당분간 웹은 크롬 브라우저를 추천합니다.
아래 글자를 드래그해보세요.
