我想在OpenGL ES 2.0中使用GPU并行化这个C代码(适用于iOS 7):
unsigned char color[3][N]; // RGB
unsigned int count[3][256] = {0};
// fill color matrix...
// Count how many R, G and B values:
for (int i = 0; i < N; ++i) {
++count[0][color[0][i]];
++count[1][color[1][i]];
++count[2][color[2][i]];
}
我是一名OpenGL新手。我一直在想我可以将RGB设置为顶点的xyz,将值设置为0x01作为Alpha,将黑色设置为颜色(如果需要,则不确定)。然后将3D空间投影到3个平面:xy,xz和yz。最后将这3个平面投影到x,y和z行,在每个步骤中添加alphas(我猜这是可能的)。因此,在行x中,我有矢量颜色[0] [256],y颜色[1] [256]和z颜色[2] [256]。作为结果alpha我想要的价值。在这种情况下,alpha可能比256大得多。所以我不确定它是否会如此。不确定它是否有效。
这看起来是否正确?这可能在OpenGL中吗?如何进行这些预测(该预测是否有名称)?如何检索该信息(计数)回到CPU处理?