Forked from Julian Mazzitelli's Pen JS Cube.
A Pen by Bruno Vieira on CodePen.
Forked from Julian Mazzitelli's Pen JS Cube.
A Pen by Bruno Vieira on CodePen.
// Create scene, camera, and renderer | |
var scene = new THREE.Scene(); | |
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); | |
var renderer = new THREE.WebGLRenderer({antialias: true}); | |
renderer.setSize(window.innerWidth, window.innerHeight); | |
renderer.setClearColor(0x222222); | |
// Append <canvas> to <body> | |
document.body.appendChild(renderer.domElement); | |
// Create a texture loader and enable cross-origin resource loading | |
// CORS headers must still be present on resource! | |
var loader = new THREE.TextureLoader(); | |
loader.setCrossOrigin('anonymous'); | |
// Create box | |
var box = new THREE.Mesh(new THREE.BoxGeometry(10,10,10), new THREE.MeshFaceMaterial([ | |
new THREE.MeshPhongMaterial({map: loader.load('http://45.55.193.224:1234/JS.png')}), | |
new THREE.MeshPhongMaterial({map: loader.load('http://45.55.193.224:1234/ES6.png')}), | |
new THREE.MeshPhongMaterial({map: loader.load('http://45.55.193.224:1234/nodejs.png')}), | |
new THREE.MeshPhongMaterial({map: loader.load('http://45.55.193.224:1234/bionode.png')}), | |
new THREE.MeshPhongMaterial({map: loader.load('http://45.55.193.224:1234/biojs.png')}), | |
new THREE.MeshPhongMaterial({map: loader.load('http://45.55.193.224:1234/webgl.png')}) | |
])); | |
// Create lights | |
var aLight = new THREE.AmbientLight(0x404040); | |
var pLight = new THREE.PointLight(0xffffff, 1, 100); | |
// Position objects | |
camera.position.z = 15; | |
// Add objects | |
scene.add(box); | |
scene.add(aLight); | |
camera.add(pLight); | |
// Need to explicitly add camera since pLight is a child | |
scene.add(camera); | |
// Add Orbit controls | |
var controls = new THREE.OrbitControls(camera, renderer.domElement); | |
controls.enableZoom = false; | |
// Update object properties | |
function update() { | |
box.rotation.y += 0.01; | |
box.rotation.x += 0.005; | |
} | |
// Render and request next frame | |
function render() { | |
update(); | |
renderer.render(scene, camera); | |
requestAnimationFrame(render); | |
} | |
// Start the animation | |
render(); |
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r73/three.min.js"></script> | |
<script src="http://threejs.org/examples/js/controls/OrbitControls.js"></script> |
body { | |
margin: 0; | |
} | |
canvas { | |
display: block; | |
} |