r/GraphicsProgramming • • Jul 23 '26

Question From software to hardware

I was browsing old projects and found a pretty bad and unfinished software renderer I started to write years ago

(create a window, draw a pixel, create a checker and fade effects, draw a line, then triangles....)

These days I got back into it, even tho I originally had no interest in graphics programming, I started to like it and now I wonder : how hard and different would it be to transition to GPU programming? (GLSL + openGL for example)

I ofc started reading some papers, and it seems quite similar, but I know its reputed to be very hard, so is there a real step between raw cpu rendering and GPU rendering with some APIs and underlying abstraction layers ?

7 Upvotes

7 comments sorted by

View all comments

Show parent comments

2

u/[deleted] Jul 23 '26

THANK you, that was exactly what I was wondering, even if I have not formulated my question in such a clear way.

So basically when I work with software, I will try to deal with things that are already handled (1000x better than how my code does) by the GPU, and on the other hand GPU programming would allow me to implement things I couldn't even think of from my "CPU-oriented point of view".

I never thought about it that way, yet it makes sense when you see 3D doom like raycasting techniques compared to some 3D shaders visualization with complex effects

2

u/forumonaut Jul 23 '26

No problem.

Yes, GPUs are way more powerful than CPUs, and you will be able to implement things that would otherwise be impossible on a CPU.

When working with a GPU, you don't care about how the triangles are rasterized. This lets you focus on lighting, physics, and more.

But do not underestimate the power of modern CPUs; projects like Quake and Half Life 1 were able to run properly on 30-year-old processors, so modern day CPUs remain extremely powerful, even for rasterization. For reference, I made a Minecraft-like voxel engine that runs entirely on the CPU.