自由立体显示器作为三维显示器中的一种,能够产生具有空间感的三维映像,但在显示虚拟的三维场景时,需要对场景进行多视角渲染,渲染和数据传输次数都数倍增加,因而实时渲染成为难题。与传统的多视角渲染方法不同,提出的加速算法改变了渲染流程,把每个视角渲染后用于合成的子图像不再存回系统主存中,而是将这些子图像传入纹理内存。同时程序中采用了多处最新的OpenGL扩展功能,通过FBO将场景直接渲染到三维纹理,极大提高了纹理传输和多层纹理混合的效率,从而加速了整个渲染过程。另外,由于本方法保留了对各视角图像的独立渲染运算,对渲染场景具有很强的通用性。通过与其他算法的实验比较,证明了提出方法的通用性和稳定性,达到了实时显示的要求。
As a kind of 3D displayers, autostereoscopic displays can create 3D images in the space. Since autostereoscopic displays need to render multi-view images, and thus naive rendering approaches would slow down the rendering process by rendering and transporting much more data. A method was proposed that significantly speeded up the rendering process by transporting data into texture memory instead of system memory. Using new OpenGL Extension, scene data was rendered into 3D texture directly. These measures help us to improve the efficiency of texture transporting and multi-texture blending. In addition, the algorithm maintains rendering every view independently, so it possesses favorable commonality. Finally, it is demonstrated that the proposed method can achieve real-time frame rates.