OpenGL如何将图像映射到四边形?

时间:2018-09-24 03:38:49

标签: algorithm opengl mapping

图像文件是矩形的,但是在3D环境中,矩形通常会显示为不规则的四边形。考虑以下图片(贷记为this blog):

enter image description here

鉴于:

  • 您已经知道绿色面的四个顶点
  • 您可以使用2D颜色值数组访问图像文件
  • 您正在绘制的屏幕是2D像素阵列

OpenGL用于将图像绘制到绿色面上的算法是什么?

1 个答案:

答案 0 :(得分:1)

该算法基本上是(如果我们暂时忽略诸如着色器之类的东西):

  1. 将四边形分成两个三角形
  2. 对于每个三角形,计算在图像平面上的投影
  3. 对于三角形投影所覆盖的每个屏幕像素:
    1. 根据三角形上像素位置所对应的位置,从顶点计算texture coordinatesinterpolation
    2. 在与纹理坐标对应的位置查找纹理图像。通常,此处使用某种形式的filtering
    3. 您已经找到像素的颜色