将点映射到2D纹理

时间:2010-09-28 22:43:13

标签: c# opengl 3d projection

嘿,这可能听起来很简单,但它逃脱了我,

我有一个3D点(包括负位置)列表,我想将其映射到2D纹理。

我正在试图找出如何将点适当地映射到纹理以及如果它具有特定的宽度/高度,它们之间的区别。

由于

2 个答案:

答案 0 :(得分:1)

简单的方法:使用ortographic投影。

x_2d = x_3d + z_3d * scale_x

y_2d = y_3d + z_3d * scale_y

其中(scale_x,scale_y)是描述投影“方向”的向量。

如果位置较高的对象(“远处”)应该较小,则应搜索透视投影(例如在Wikipedia: 3D Projection上)

答案 1 :(得分:0)

根据我的经验,通常使用glTexCoord2f(每个3D点一个)指定模型中的2D纹理坐标,让OpenGL处理​​其余部分。

也许我误解了你在这里要做的事情。