【发布时间】:2015-02-12 04:02:37
【问题描述】:
我不确定为什么这个 html 中有以下 css:
<!DOCTYPE html>
<html>
<head>
<title>Three.js</title>
<style>
body {
margin: 0;
}
canvas {
display: block;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<script src = "three.js"></script>
<script src = "script.js"></script>
</body>
</html>
似乎不影响 script.js:
var resolutionDivisor = 2;
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 / resolutionDivisor, window.innerHeight / resolutionDivisor);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
camera.position.z = 5;
var render = function () {
requestAnimationFrame( render );
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
};
render();
我正在尝试让three.js以一半的屏幕分辨率渲染,以提高渲染速度,并使用CSS将画布拉伸到屏幕大小,但是CSS似乎对画布没有影响,所以画布不占用全屏。
我正在使用谷歌浏览器。
可以在here找到下载。
【问题讨论】:
-
您必须添加信息。你的 HTML 和 CSS 的其余部分在哪里?
-
您必须使用 javascript 设置画布大小。 CSS 不会产生正确的效果。
-
@Daniel 我需要使用 CSS,因为我需要“拉伸”效果,这样我可以获得更快的渲染。
-
你能添加一个jsfiddle吗?画布不占满屏吗?
标签: javascript html css three.js