我找到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