C++ 使用OpenGL计算向量中值的重复次数

C++ 使用OpenGL计算向量中值的重复次数,c++,ios,opengl-es,C++,Ios,Opengl Es,我想使用OpenGL ES 2.0中的GPU(适用于iOS 7)并行化此C代码: 无符号字符颜色[3][N];//RGB 无符号整数计数[3][256]={0}; //填充颜色矩阵。。。 //计算R、G和B值的数量: 对于(int i=0;i

我想使用OpenGL ES 2.0中的GPU(适用于iOS 7)并行化此C代码:

无符号字符颜色[3][N];//RGB
无符号整数计数[3][256]={0};
//填充颜色矩阵。。。
//计算R、G和B值的数量:
对于(int i=0;i
我是OpenGL新手。我一直在想,我可以将RGB设置为顶点的xyz,将0x01的值设置为Alpha,将黑色设置为颜色(不确定是否需要)。然后将三维空间投影到3个平面:xy、xz和yz。最后将这3个平面投影成x、y和z线,在每个步骤中添加字母(我想这是可能的)。所以在x行中,我有向量颜色[0][256],y颜色[1][256]和z颜色[2][256]。结果alpha是我想要的值。在这种情况下,alpha可能远远大于256。所以我不确定会不会是这样。我不确定它能不能用


这看起来对吗?这在OpenGL中是可能的吗?如何进行这些预测(该预测有名称吗)?如何检索该信息(计数)以使用CPU进行处理?

如果同一RGB三元组的出现次数超过255次,该怎么办?然后alpha会在那个点上最大化。是的,这就是我想知道的,在这种情况下,alpha是否可以取更大的值。我想不是。
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]];
}