我将Three.js与Nvidia的3D Vision快门技术结合使用。我进行渲染的方式如下:
// Init 3D Vision Camera (Shutter Glasses)
var eye_separation = 0.03; // adjust to the distance of your eyes
var cam_toggle = true;
function animate() {
// Enable 3D Vision
if (cam_toggle) {
camera.position.x += eye_separation;
cam_toggle ^= 1;
} else {
camera.position.x -= eye_separation;
cam_toggle ^= 1;
}
renderer.render(scene, camera);
requestAnimationFrame(animate);
}
基本上我发现的是GPU的帧刷新率是相同的,并且像快门眼镜一样同步。为了产生立体效果,我只是在这个例子中在x轴上改变的某个视图之间切换相机。这非常有效! Nvidia在其文档中描述了使用帧缓冲区切换两个不同的视图我不做的事情。问题是,我最多只能获得60 fps。但我正在使用120赫兹投影机。那么如何加速每个视图的渲染速度高达60 fps,这样我就能得到120个组合?