DX11渲染引擎进展(二)

 关于增强现实(Augmented Reality)

ARToolKit使用的是OpenGL环境,要移植进DX11里,只需要使用它的图像捕捉和标记识别相关的库就可以了。

直接使用的链接库为DVSL.dll,在这期间出现以下问题:

1.视频成功捕捉到并显示在窗口中,但是标记无论如何也无法探测到,看看调用的静态库的函数,都完全一样。最后发现的问题原因是:

原来只以为arLoadPatt()载入标识,然后用arDetectMarker()检测就可以了。但实际上静态库里初始化了一些参数,还需要调用库本身的

arParamLoad()、arParamChangeSize()和arInitCparam()函数初始化一些变量如arImXsize,arImYsize。而不能使用自己的定义的函数。

看来这里是自作聪明了。

2.捕捉到标记时,物体无论如何也不出现在正确的位置上,开始以为是左右手坐标系的关系,最后才发现是一个低级错误,在切换相机时,shader中忘记了更新project 矩阵。

3标识的坐标系是右手系,XY在标识平面内,Z轴垂直标识平面,这样转到DX的左手系中非常简单,只要交换Y 和Z的数据即可。因为出现了很多意想不到的错误,到最后才确定这样是没问题的。

关于fbx导入

1重置三维模型的以便与3dsmax对应,因为曲折较多,所以感觉很难。注意fbx导出时选择Z轴向上,比较好转化。

需要的结果是DX11中,Y轴对应max的Z轴,Z轴对应Y轴

2.还有一个问题是渲染效果会出现法线反转的现象。这是因为顶点索引顺序引起的。.法线反转的现象和法线方向错了, 实在没一毛钱关系

猜你喜欢

转载自blog.csdn.net/udumbara007/article/details/8027998
今日推荐