投影机拼接融合技术--介绍

一、准备知识和技术

----使用语言:C++

----使用框架:DXUT(D3D)

----涉及知识:C++基础编程,OpenGL,音视频播放等

---------------------------------------------------------------------------------------------------------------------------------

二、开发流程

-----这部分后面会单独列出来详细说明 ,现在只是简单说一下开发流程

1.点、面、物体之间的关系

            在D3D的世界里,一个物体(在这里我称号它为“面片”)是由很多三角面构成 ,每个三角面又是由三个顶点组成,因此改变了顶点的参数,会影响整个面片的效果,比如把面片“捏”成不规则多边形,点的位置计算、点数量的增加减少是整个拼接系统的核心内容。

2.投影机对齐

            目前很多拼接技术使用的都是网格对齐,通过在面片上渲染网格图片来,调整两台投影机的面片的位置和缩放,使它们能够看起来像一个整体。在渲染背景方面,常常使用绿色和红色,一方面它们的颜色清晰,另一方面两台投影相交的地方(简称为“融合带”)是黄色的(红+绿)

​​​​​​​

3.UV分割

            在D3D中物体的UV(有其他文章介绍UV的概念)范围是0.0-1.0,当我们有两台投影机时候(假设是水平的,水平排列),在不考虑融合带的情况下两台投影的UV应该是0.0-0.5和0.5-1.0(播放的是同一张图像),但实际上融合带还是影响很大的,因此我们在计算的时候必须考虑融合带的大小。

4.视频播放技术

           这部分是基于DShow的,在DShow的SDK里有个Texture3D9的例子,我使用的就是这个例子中的视频播放技术

猜你喜欢

转载自blog.csdn.net/qq_36251561/article/details/121103726