【发布时间】:2016-01-28 09:29:29
【问题描述】:
我正在线框中创建一个球体对象,但是当我想定义顶点并为创建的线框球体对象应用 back-face culling 时,我被卡住了。
有人可以帮忙吗?以及如何定义线框球体对象的顶点?
我的 HTML 文件:这里我使用的是 three.js 库,因为我是 WebGL 的新手,我无法解决这个问题。
<html>
<head>
<title> Construct a sphere model in WebGL </title>
<script src ="./three.js-master/three.js-master/build/three.js"></script>
<script src ="./three.js-master/three.js-master/build/three.min.js"></script>
<script type="text/javascript" src="Three.js"></script>
</head>
<body onload="createsphere()">
<canvas id="glcanvas" width="840" height="620"></canvas>
</body>
</html>
Three.js 是我链接的 javascript 文件。
function createsphere() {
var pos = function(d) { return document.getElementById(d); };
//def scene, camera, renderer
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
//creating a sphere object
var spheregeometry = new THREE.SphereGeometry(1.0, 30, 30);
var texture = THREE.ImageUtils.loadTexture('earth.jpg', {}, function() { alert('texture loaded');}, function(){ alert('error loading texture');});
var spherematerial = new THREE.MeshBasicMaterial({wireframe: true, map: texture});
var sphere = new THREE.Mesh(spheregeometry, spherematerial);
scene.add(sphere);
camera.position.z = 5;
//renderer
var render = function(e) {
requestAnimationFrame(render);
renderer.render(scene, camera);
};
render();
}
【问题讨论】:
-
欢迎来到 Stack Overflow!你能提供更多细节吗?截图、错误堆栈跟踪等
-
我想,您正在使用three.js 库并询问MeshBasicMaterial。请也将其包含在您的问题中。有很多人可以帮助你,他们不应该把时间花在猜测重要细节上。
-
是的,我正在使用 three.js 库,在这里我也添加了我的 html 文件
-
我想我已经发布了我拥有的所有信息......
标签: javascript three.js