纹理映射 - 坐标

时间:2012-06-02 11:41:44

标签: c++ opengl coordinates

我正在通过纹理映射工作,我找到了这个我无法弄清楚的例子,我不确定我得到的答案是否正确。有人可以帮助我吗

问题:

stack

我认为答案是:bottom-right vertex (1,0), top-left:(0,1), top-right(1,1) 我的回答是否正确? 如果没有,你能解释纹理映射是如何工作的。 (解释中不需要C ++代码......我只想要与上面类似的例子。)

编辑: 我认为右上角是(2,1)

1 个答案:

答案 0 :(得分:2)

四边形由2个三角形组成。左边的三角形是原始纹理的左下半部分。右侧的三角形也是相同的图像,镜像除外。如果您查看四边形的角,您将很容易理解纹理坐标:

original texture:

mountain peak  sky
(0, 1)(0.5, 1) (1, 1)
+--------------+
|              |
|              |
|              |
|              |
|              |
|              |
|              |
+--------------+
(0, 0)         (1, 0)
grass          sheep

quadrilateral

   peak               grass
       +--------------+
      /              /
     /              /
    /              /
   /              /
  /              /
 /              /
+--------------+
grass         sheep

因此:

 (0.5, 1)             (0, 0)
       +--------------+
      /              /
     /              /
    /              /
   /              /
  /              /
 /              /
+--------------+
(0, 0)         (1, 0)