Вычислительные шейдера на android

Шейдеры и все-все-все.

Вычислительные шейдера на android

Сообщение Cybernoise 07 июл 2017, 21:43

Привет всем щейдерным гуру. Бьюсь несколько дней над одной задачей - есть 2 текстуры, берем 1, колдуем с ней в шейдере и засовываем во 2.
В редакторе все хорошо , в билде на пк тоже, а вот на андроиде через-раз. Иногда видно нужный результат , иногда психоделические глюки, иногда нужный результат в перемешку с глюками...

с SystemInfo.supportsComputeShaders все хорошо, enableRandomWrite включен, в скрипте все норм :
Синтаксис:
Используется csharp
                        _kernelID = computeShader.FindKernel(_name);
                        computeShader.GetKernelThreadGroupSizes(_kernelID, out _kernelX, out _kernelY, out _kernelZ);
                        computeShader.SetTexture(_kernelID, "result", outputTexture);
                        computeShader.SetTexture(_kernelID, "inputTex", inputWebCamTexture);
                        ...
                        computeShader.Dispatch(_kernelID, width / (int)_kernelX, height / (int)_kernelY, (int)_kernelZ);



в шейдере все просто, здесь приведу для примера 2 примитивных :


Синтаксис:
Используется glsl
Texture2D<float4> inputTex;
SamplerState samplerinputTex;
RWTexture2D<float4> result;

#pragma kernel Red
[numthreads(8,8,1)]     void Red (uint3 id : SV_DispatchThreadID){
        result[id.xy] = float4(1.0, 0.0, 0.0, 1.0);
}
 
#pragma kernel Normal
[numthreads(8,8,1)]     void Normal (uint3 id : SV_DispatchThreadID){
        result[id.xy] = inputTex[id.xy];
}
 


есть догадки но не могу найти нормальной документации, возможно не подходит кол-во потоков?.. возможно нужен особый RenderTextureFormat ?.. может проблема в том что текстура для считывания это WebCamTexture?
Буду благодарен за помощь и верное копательное направление
Аватара пользователя
Cybernoise
UNITрон
 
Сообщения: 262
Зарегистрирован: 12 июн 2013, 13:43
Откуда: Одесса
Skype: Mister4ui

Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2