首页 > 解决方案 > OpenGL如何将图像映射到四边形?

问题描述

图像文件是矩形的,但在 3D 环境中,矩形大部分时间会显示为不规则的四边形。考虑下图(归功于此博客):

在此处输入图像描述

鉴于:

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

标签: algorithmopenglmapping

解决方案


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

  1. 把四边形分成两个三角形
  2. 对于每个三角形,计算在图像平面上的投影
  3. 对于三角形投影所覆盖的每个屏幕像素:
    1. 通过从顶点进行插值计算纹理坐标,该顶点对应于三角形上的像素位置。
    2. 在纹理坐标对应的位置查找纹理图像。通常,此处应用某种形式的过滤
    3. 您已找到像素的颜色

推荐阅读