C ++ / OpenGL - 3D对象前面的2D纹理

时间:2016-01-22 10:39:04

标签: c++ opengl

我对OpenGL很新。我有3D对象和2D图像绘制为HUD。此时,它看起来像this。我现在要做的是将HUD的2D纹理放在3D对象的可见部分(在这种情况下 - 头骨的前面)。据我所知,我需要做的是:

  1. 检查哪些顶点是可见的(同样,据我所知,在StackOverflow搜索之后我认为这个question可以回答我关于如何检查顶点是否可见的问题)
  2. 如果顶点可见,则将此3D点转换为2D点(只需使用gluProject获取2D坐标)
  3. 我知道顶点的2D坐标,所以我可以将它与纹理上的像素进行比较,这使我直接进行纹理化。
  4. 这就是问题所在 - 我不知道如何在第3点采取行动。我在2D中有可见的3D顶点,我有2D纹理,不知道如何使用它。我想以与2D绘图类似的方式使用它,但是我有比2D四边形纹理更多的限制点。

0 个答案:

没有答案