Как написать фрагментный шейдер в GLSL для сортировки массива из 9 чисел с плавающей запятой

Я пишу фрагментный шейдер, чтобы получить медиану 9 изображений вместе.

Я никогда раньше не работал с GLSL, но это казалось подходящим инструментом для работы, так как OpenCL неДоступно на iOS, а медиана на процессоре неэффективна. Вот'Что я имею до сих пор:

uniform sampler2D frames[9];
uniform vec2 wh;

void main(void)
{
    vec4 sortedFrameValues[9];
    float sortedGrayScaleValues[9];

    for (int i = 0; i < 9; i++)
    {
        sortedFrameValues[i] = texture2D(frames[i], -gl_FragCoord.xy / wh);
        sortedGrayScaleValues[i] = dot(sortedFrameValues[i].xyz, vec3(0.299, 0.587, 0.114));
    }

        // TODO: Sort sortedGrayScaleValues

    float gray = sortedGrayScaleValues[4];
    gl_FragColor = vec4(gray, gray, gray, 0);
}

Ответы на вопрос(4)

Ваш ответ на вопрос