Does the game still use software rendering?

Hello there guys...

It has been so long since I last checked the game. I am wondering if the game still uses software rendering, or if it is using hardware rendering through OpenGL or DirectX.

Yours sincerely

mkaatr
Yes! And we will always support software rendering. Hardware rendering will just be something we do for speed improvements, but the software renderer will be able to run the whole game, just more slowly than if you run the hardware path.

- Casey
Thanks for the reply.

I guess I will start writing my game with software rendering and stop wasting time learning opengl for now. I tried working with OpenGL, but i am not familiar with Shaders, and I did not find clear resources explaining how to prepare opengl for projects in C++.

have a wonderful day.

yours sincerely

mkaatr
Hi Casey,

I was just curious to know how would you have approached rendering in the early phases of the game if you were using OpenGL from the start.

In the early stages when you were still experimenting with generating some rooms and getting the camera to move between rooms, etc. When you were just calling DrawRectangle to write directly to the buffer.

Would you have used/called OpenGL code where needed at this early stage?

Sorry if it sounds a bit confusing :pinch:

Thanks for your time!
Yeah, I would just call OpenGL instead of the software renderer. In some ways it's easier, because it has a bunch of advanced rendering stuff already there, but in some ways it's much harder, because you cannot just draw directly into your own memory or anything like that.

So, it's six of one, half dozen of the other. In general I suspect I would much rather have software rendering always, but unfortunately that's not really possible these days, due to how specialized the hardware is. Maybe someday it'll converge again :P

- Casey
If you want to use OpenGL, you can also draw directly into a texture (similar to a buffer as in software rendering).
Sure, but that is not at all like being able to do stuff directly in your own memory. It is much harder to debug render-to-texture than memory you can just look at directly, especially because there are many framebuffer state things and drawing modes and other nonsense that makes it very hard for you to ensure that you are testing exactly what you want to test.

- Casey
But that won't be using OpenGL to do rendering. That will still be software rendering.
Yeah while I don't have a lot of experience with graphics it seems a bit weird to me how we can't just directly look at the memory we are drawing too.

So setting up a quick OpenGL context with whatever state we need and using that to draw in an earlier exploration phase seems the way to go. And then later we can start pulling those out to a more formalized renderer (or something of the sort).
Seems like the way to go.

Thank you for your time Casey!