有没有办法,而不是使用 gl_FragColor 输出的预定坐标,而是通过其坐标设置特定像素的颜色?
我目前正在尝试通过着色器实现 Mean Shift 算法。我的输入是黑白纹理,其中白点代表要聚类的点,黑色代表无数据。
在计算邻域中所有点位置的加权平均值后,我必须将结果位置中的像素设置为代表集群的新颜色。
例如,如果我查看以与 fragcoord 相关的像素为中心的 18x18 邻域并找到 3 个白色像素: Fragcoord = 30,33 像素 1:坐标 (30,33) 像素 2:坐标 (27,33) 像素 3:坐标 (30,30)
在计算他们的位置的平均值后,我将得到 (29,32)。有没有办法在具有不同 fragcoord(例如 30,33)的着色器单元中将 29,32 的像素设置为不同的颜色?
像 gl_FragColor(vec2(29,32)) = vec4(1.0,1.0,1.0,1.0); ?