Handmade Hero»Forums»Code
Mustafa Al-Attar
19 posts
Working in a software company since 2008 and still. Has been working on an rpg in C++ with OpenGL since 2015 and still.
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
Casey Muratori
801 posts / 1 project
Casey Muratori is a programmer at Molly Rocket on the game 1935 and is the host of the educational programming series Handmade Hero.
Does the game still use software rendering?
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
Mustafa Al-Attar
19 posts
Working in a software company since 2008 and still. Has been working on an rpg in C++ with OpenGL since 2015 and still.
Does the game still use software rendering?
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
Filipe Rasoilo
7 posts
Does the game still use software rendering?
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!
Casey Muratori
801 posts / 1 project
Casey Muratori is a programmer at Molly Rocket on the game 1935 and is the host of the educational programming series Handmade Hero.
Does the game still use software rendering?
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
55 posts
Does the game still use software rendering?
If you want to use OpenGL, you can also draw directly into a texture (similar to a buffer as in software rendering).
Casey Muratori
801 posts / 1 project
Casey Muratori is a programmer at Molly Rocket on the game 1935 and is the host of the educational programming series Handmade Hero.
Does the game still use 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
Mārtiņš Možeiko
2559 posts / 2 projects
Does the game still use software rendering?
But that won't be using OpenGL to do rendering. That will still be software rendering.
Filipe Rasoilo
7 posts
Does the game still use 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!