J'utilise SDL 2.0.5 et Windows 10 pour créer une fenêtre et afficher une texture.Impossible de créer une texture SDL2 en utilisant le format de pixel SDL_PIXELFORMAT_NV12
Tout fonctionne correctement lorsque la texture a été initialisée avec le format de pixel SDL_PIXELFORMAT_YV12, mais lorsque je mets le format à SDL_PIXELFORMAT_NV12, la fonction SDL_CreateTexture renvoie null.
Voici le code:
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
);
Suis-je manque quelque chose?
Etes-vous sûr que votre matériel/pilote prend en charge 'SDL_PIXELFORMAT_NV12'? – Dmitri
Je ne sais pas, mais la définition de SDL_RENDERER_SOFTWARE à la place de SDL_RENDERER_ACCELERATED me donne le même résultat. – Ben
Le rendu de logiciel [ne supporte pas] (https://hg.libsdl.org/SDL/file/ba1da2658d76/src/render/software/SDL_render_sw.c#l84) ce format. En fait, seuls les moteurs de rendu GL et GLES2 le font. – keltar