我找到three.js的一個示例,我試圖在<canvas></canvas>
元素上實現它。 我得到一個元素的引用,但我沒有得到一個視覺效果。我有我的畫布元素與「mycanvas」的Id。Three.js示例不顯示在畫布上
<canvas id="mycanvas" style="border: 5px solid white" width="600" height="500"></canvas>
我在名爲WebGLStart()的主體中使用了一個onload函數,它調用了下面的腳本。
<script>
function WebGLStart()
{
//Get the canvas and the context
var canvas = document.getElementById('mycanvas');
var canvas_context = canvas.getContext("webgl");
console.log("Canvas: "+canvas.width);
console.log("Canvas: "+canvas.height);
var RENDER_DIST = 1000,
FOV = 75;
var WIDTH = canvas.width,
HEIGHT= canvas.height;
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(FOV, WIDTH/HEIGHT, 0.1, RENDER_DIST);
camera.position.z = 100;
scene.add(camera);
renderer = new THREE.WebGLRenderer();
renderer.setSize(WIDTH,HEIGHT);
console.log("R info: "+renderer.info);
canvas.appendChild(renderer.domElement);
init();
loopRun();
function init()
{
var geometry = new THREE.SphereGeometry(50);
var material = new THREE.MeshBasicMaterial({color: 0xff0000});
var sphere = new THREE.Mesh(geometry, material);
scene.add(sphere);
}
function loopRun()
{
requestAnimationFrame(loopRun);
renderer.render(scene, camera);
}
}
</script>
是否有任何理由不顯示? 我得到輸出上的色彩提示(畫布寬度和高度),但沒有顯示。任何想法將不勝感激
有沒有一種方法,我可以將這個然後坐在帆布頂我有?喜歡改變它相對於html頁面的位置? – 2014-11-24 21:40:29