Я использую SDL 2.0.5 и Windows 10 для создания окна и отображения текстуры.Невозможно создать текстуру SDL2 с использованием формата пикселя SDL_PIXELFORMAT_NV12
Все работает нормально, когда текстура была инициализирована с помощью формата SDL_PIXELFORMAT_YV12, но когда я устанавливаю формат SDL_PIXELFORMAT_NV12, функция SDL_CreateTexture возвращает значение null.
Вот код:
SDL_Window* window = SDL_CreateWindow(
"Test",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
width,
height,
SDL_WINDOW_FULLSCREEN_DESKTOP
);
SDL_Renderer* renderer = SDL_CreateRenderer(window , -1, SDL_RENDERER_SOFTWARE);
SDL_Texture* texture = SDL_CreateTexture(
renderer,
SDL_PIXELFORMAT_NV12,
SDL_TEXTUREACCESS_STREAMING,
width,
height
);
ли я что-то отсутствует?
Вы уверены, что ваше оборудование или драйвер поддерживает 'SDL_PIXELFORMAT_NV12'? – Dmitri
Я не знаю, но установка SDL_RENDERER_SOFTWARE вместо SDL_RENDERER_ACCELERATED дает мне тот же результат. – Ben
Программный рендерер [не поддерживает] (https://hg.libsdl.org/SDL/file/ba1da2658d76/src/render/software/SDL_render_sw.c#l84) этот формат. На самом деле это делают только визуализаторы GL и GLES2. – keltar