Foster icon indicating copy to clipboard operation
Foster copied to clipboard

Started multisampling implementation

Open akaadream opened this issue 11 months ago • 0 comments

NOT INTENDED TO BE PULLED FOR NOW

I'm publishing this pull request as a purpose. As I mentionned in the discord server, I'm giving few tries on this topic and I'm trying to implement kind of a multisampling feature inside Foster. So we can discuss here about the code I wrote and improve everything.

I added a SampleCount on the GraphicsDevice as an int and converted on the right enum value inside the GraphicsDeviceSDL. Then I remplaced current usage of the SDL_GPUSampleCount with that new property.

It should then be possible to use the multisampling inside any app by doing:

// possible values: 0, 2, 4, 8
GraphicsDevice.SampleCount = 2

By running the app using this value of sample count, the app start with a black screen and the following console log warning from the line: https://github.com/akaadream/Foster/blob/33a8e712c0fa90e8bdac01acaf3c95d35a241917/Framework/Internal/GraphicsDeviceSDL.cs#L371 This means there is something wrong with this implementation and my knowledges are not good enough to understand what is wrong.

I put here the documentation I used when I tried to implement it:

  • https://wiki.libsdl.org/SDL3/SDL_GPUSampleCount
  • https://wiki.libsdl.org/SDL3/SDL_GPUTextureCreateInfo
  • https://wiki.libsdl.org/SDL3/SDL_GPUMultisampleState
  • https://vulkan-tutorial.com/Multisampling

If you have ideas or knowledges to share, I take them with pleasure.

akaadream avatar Feb 12 '25 21:02 akaadream