Remix.run Logo
kbolino a day ago

SDL_RenderGeometry(Raw) are only capable of 2D rendering and the vertexes do not even have a z-coordinate.

Genuine 3D support is available in SDL3 via the GPU types and functions: https://wiki.libsdl.org/SDL3/CategoryGPU

MindSpunk a day ago | parent | next [-]

If you want to get pedantic the hardware rasterizer in your GPU doesn't rasterize "3D triangles" either. Any notion of '3D' comes from how you project your vertices when transforming them through your coordinate spaces. Though the perspective divide needed to make perspective projection work is baked in, but otherwise NDC is a 2D space. Z only exists for the depth buffer/depth test and perspective correct interpolation. The "shape" of the triangle on screen isn't affected by it.

As long as you can draw 2D triangles there's nothing stopping you from drawing a "3D" scene with a software transform pipeline. Depth sorting gets fun without a z-buffer though.

9 hours ago | parent | next [-]
[deleted]
account42 15 hours ago | parent | prev [-]

Except perspective correct interpolation isn't something you get to disregard in a footnote.

mort96 a day ago | parent | prev [-]

Oh, I stand corrected. Thanks!