我有一个折线点(x,y)的数组。每次我处理3个邻居点并生成2个输出点。
例如,像这样:
void someFunc(float x0, float y0, float x1, float y1, float x2, float y2, float *pXout1, float *pYout1, float *pXout2, float *pYout2)
{
*xout1 = x1 - 1;
*xout2 = x1 + 1;
*yout1 = MIN(y0, y2);
*yout2 = MAX(y0, y2);
}
所以我有两个问题需要在我的顶点着色器中实现:
1)如何一次输入几个邻居点? 2)如何一次输出几个点?
答案 0 :(得分:1)
1)如何一次输入几个邻居点?
顶点着色器无法输入相邻的顶点数据。如果你真的需要这个,那么你可以通过提供相邻的顶点数据(通过提供颜色,法线等)来实现冗余顶点属性。
2)如何一次输出几个点?
您的意思是将多个顶点数据传递给片段着色器吗?如果是这样,那么同样的规则适用于问题#1,只有你应该使用冗余变化。