이제 THREE.js로 실험하기 시작했습니다. 나는 렌더러와 카메라의 다른 조합을 시도하고있다.THREE.js CanvasRenderer with OrthographicCamera
WebGLRenderer와 OrthographicCamera 또는 CanvasRenderer와 PerspectiveCamera를 사용하여 간단한 애니메이션을 렌더링 할 수 있습니다. 그러나 CanvasRenderer를 OrthographicCamera와 함께 사용하면 렌더링 된 이미지가 보이지 않습니다.
CanvasRenderer가 OrthographicCamera와 작동해야합니까? 일이 여기에 있다는 바이올린 : - WebGL을/직교 - 캔버스/전망 - -
OK이 실패 코드입니다 : CanvasRenderer
를 들어
<html>
<head>
<script src="https://raw.github.com/mrdoob/three.js/master/build/three.js"></script>
</head>
<body>
<script>
SCREEN_WIDTH = 200;
SCREEN_HEIGHT = 200;
var ASPECT = SCREEN_WIDTH/SCREEN_HEIGHT, NEAR = 1, FAR = 1000;
var scene = new THREE.Scene();
// PerspectiveCamera good with CanvasRenderer
//var camera = new THREE.PerspectiveCamera(75, ASPECT, NEAR, FAR);
var camera = new THREE.OrthographicCamera(-SCREEN_WIDTH/2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, -SCREEN_HEIGHT/2, NEAR, FAR);
var renderer = new THREE.CanvasRenderer();
// WebGLRenderer good with OrthographicCamera
//var renderer = new THREE.WebGLRenderer();
renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.CubeGeometry(50,50,50);
var material = new THREE.MeshBasicMaterial({color: 0x000000, wireframe: true });
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 100;
function render() {
requestAnimationFrame(render);
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
render();
</script>
</body>
</html>
와우! 근처에 부정적인 문제가 해결되었습니다! 나는 그 행동을 버그라고 부른다. THREE.js 개발자에게 귀하의 발견을보고하셨습니까? –
버그로 신고 됨 - 문제 # 2890 –
WestLangley가 수정 함. 고맙습니다! –