Как мне нарисовать упакованную 16-битную текстуру в формате пикселя с металлом? - PullRequest
0 голосов
/ 20 марта 2019

Я новичок в металле, и мне удалось нарисовать простые 32-битные текстуры RGBA, но я не могу найти пример того, как рисовать 16-битные (5_5_5_1 bgra, 5_6_5 bgr или 4_4_4_4 bgra).

Я думаю, что создание текстуры в порядке:

textureDescriptor.pixelFormat = MTLPixelFormatB5G6R5Unorm;
bytesPerRow = 2*textureDescriptor.width;

Я думаю, проблема в функции фрагмента:

fragment float4 fragmentShaderTexture(VertexTexTriangleOut in [[stage_in]],
                                 texture2d<ushort> colorTexture [[ texture(0) ]])
{



constexpr sampler textureSampler;

const ushort4 colorSample = colorTexture.sample(textureSampler, in.texCoords);

float4 colors = float4(colorSample);

return  colors;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...