OpenGL纹理映射到已投影的形状?

时间:2011-01-02 21:32:58

标签: opengl

新手到OpenGL ...

我有一些非常简单的代码(非OpenGL),用于围绕单个轴旋转矩形,并将结果投影到屏幕坐标。我现在正尝试使用OpenGL将位图映射到生成的形状。在设置旋转动画时,位图的透视图会严重失真。这是预期的吗?我有什么可以做的吗?

我知道我可以使用OpenGL来完成整个事情(并且工作正常),但对于我当前的项目,上面的方法会更适合我,如果我可以绕过这个透视问题...我是在我将旋转的矩形投影到2D空间以便OpenGL正确地用正确的透视图映射位图之后,可能没有足够的信息。?

非常感谢任何意见。

谢谢, 丹尼尔

澄清: 我正在使用正交投影,并自己进行3D计算和投影到2D。然后我只使用OpenGL渲染带有纹理的结果形状。

2 个答案:

答案 0 :(得分:0)

如果您自己投射坐标并在2D屏幕坐标中进行纹理映射,则会丢失所有投影信息,并且纹理会严重扭曲。

您可以使用透视纹理贴图来解决这个问题。存在许多不同的方法。通过编写真实的透视纹理贴图或通过伪造和使用普通纹理贴图来实现。

解释这是如何工作的有点超出了单个问题的范围。我假设您首先阅读有关透视纹理映射的wiki页面并尝试细分方法:

http://en.wikipedia.org/wiki/Texture_mapping

然后回来询问详细问题..

答案 1 :(得分:0)

我发现以下页面详细解释了细分方法: http://freespace.virgin.net/hugo.elias/graphics/x_persp.htm

完美无缺!感谢Nils指出我正确的方向。