首页 > 解决方案 > 从顶点颜色创建图像纹理的算法

问题描述

  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/顶点坐标填充的区域上的颜色,我的意思是中间像素值?

标签: imagegraphics3dtextures

解决方案


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

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

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


推荐阅读