我在增强现实方面非常新,并且在OpenGL方面有一些经验。我想用OpenGL ES(Android或iOS,对平台无关紧要)绘制三角形等东西。需要通过移动相机捕捉背景。基本上结果就像Pokemon Go,通过相机,你将现实世界作为背景,口袋妖怪插入现实世界。
那么,我应该从哪里开始?
答案 0 :(得分:0)
一种方法。
下图显示了在视图坐标中有东西后xz平面中的视锥体。 N和F是到近和远剪裁平面的距离,θ是垂直视野 - 让a =宽高比=你的图像的w / h(应该与你的视口的宽高比相匹配)。 H是您想要渲染的四边形的高度,Q是从相机到四边形的距离。然后四边形的高度应为H = 2 * Q tan(θ/ 2)。四边形的宽度为W = a H.
您希望在前景中的物体与相机之间的距离应介于N和Q之间。
我假设你知道如何将视图矩阵(通过“观察变换”)设置到相机的位置,并设置投影矩阵以指定透视投影。还假设许多其他的东西(比如如何加载纹理贴图,绘制带有纹理坐标的填充四边形,启用深度测试等等)。如果您需要更多详细信息,请与我们联系。
如果您希望将对象嵌入场景中,需要一些计算机视觉技术(通过立体图像对确定深度)。这是一个非常重要的问题。