从顶点颜色创建图像纹理的算法

时间:2018-08-09 23:14:21

标签: image graphics 3d textures

  1. 我知道我可以通过获取顶点的相应uv坐标从网格的3d空间转到2d空间。
  2. 当我转换到uv空间时,每个顶点都会有其颜色,并且我可以将颜色放置在uv坐标针对特定顶点返回的像素位置,但是问题是我如何得出位于其上的像素在它们之间,我想要一个平滑的渐变。
  3. 例如,在uv坐标(0.5,0.5)->(u,v)处的颜色值为[30,40,50]->(RGB),在[0.75,0.75]处的颜色值为[70, 80,90]并说有三个顶点,在[0.25.0.6]处还有一个顶点为[10,20,30],我如何得出这三个uv / vertex坐标填充的区域上的颜色,我是指像素的中间值?

1 个答案:

答案 0 :(得分:0)

只需在GPU上绘制此网格即可。您已经知道可以用positions替换顶点UVs,以便在纹理空间上表示它。

保持顶点颜色不变,并在目标纹理上绘制此网格,GPU将为您绘制的每个三角形进行颜色插值。

请记住,如果两个或多个三角形共享相同的纹理空间,则结果将取决于三角形的顺序。