things that almost everyone needs
-
SDL_SetTextureWarp SDL_SetRendererTextureWarp
-
posibility of using z-buffer like opengl(SDL_RenderGeometry for this adition SDL_Vertex would need to have x,y,z instead of x,y
-
surface draw access
-
shader support (maybe)
There's a 3D api coming that will offer these things (texture wrapping, depth buffers and z coordinates, and shaders). I don't know what "surface draw access" means in this context, though.
There's a 3D api coming that will offer these things (texture wrapping, depth buffers and z coordinates, and shaders). I don't know what "surface draw access" means in this context, though.
something like SDL_SetRenderTarget but for surfaces
Isn't that what SDL_CreateSoftwareRenderer is for?
You can create a (software) renderer on a surface, or you can render to a normal render target using the GPU with the existing 2D API, and use SDL_RenderReadPixels to get an SDL_Surface of the rendered data.
(That's in SDL3. SDL2 also has an SDL_RenderReadPixels, but it copies to a memory buffer instead of creating a surface.)
We're looking into texture wrap/repeat/mirror over in #9238. Shader support will be in the upcoming GPU API, and we won't be adding a z coordinate to the 2D renderer (but it will interoperate with the GPU API, for those that want to get hardcore about it.)