Hey! I’m one of the people working on isle-portable
, which utilises the new SDL_GPU feature introduced with SDL3. We have it set up as one of the possible 3D renderers to use, alongside OpenGL (and ES), and a software renderer. The OpenGL renderers currently have support for MSAA, however, the SDL_GPU renderer currently does not. I have been attempting to implement it, however I have largely been unsuccessful. There appears to be little documentation on the topic, unfortunately, and what I have found has not been successful.
As part of the render process, we create a SDL_GPUGraphicsPipelineCreateInfo
, which has multisample_state
. I created a SDL_GPUMultisampleState
and set the sample_count
there, and then set multisample_state
to this SDL_GPUMultisampleState
. While this “worked”, any sample_count
values other than SDL_GPU_SAMPLECOUNT_1
result in broken visuals.
I admit, I don’t completely understand the rendering code, however we do create several SDL_GPUTextureCreateInfo
objects, each of which contains a sample_count
. However, changing textureInfo.sample_count
in Direct3DRMSDL3GPURenderer::Resize
to a value other than SDL_GPU_SAMPLECOUNT_1
results in flickering visuals when the window is resized, and does not actually result in antialiasing.
Any help on this matter would be greatly appreciated!
Kind regards,
@VoxelTek