← Back to context

Comment by qsera

4 hours ago

One thing that was nice about the graphics programming those days was that when you drew something on the screen, it remained there until your program erased it.

This means that you could create cool looking graphics easily. For example, you can just compute the points of a circle and draw the points one by one, and in the screen it will show a full circle being drawn.

"Modern" graphics libs (even SDL I think), made this impossible by having redraw the whole screen every frame so that now my program has to remember all the points there the program drew before to get the same effect.

The former workflow made graphics programming so much fun for me and I find the modern "fast rendering pipeline" boring and not a lot of fun.

Things like that, one by one, have sucked the whole fun out of computing.

Both so-called "retained" and "immediate" mode graphics libraries continue to exist for most platforms, and you can choose to use whichever one you prefer.

Your post just clicked something from of a deep memory into place.

In the early 80s when the IBM PC hit the scene, Hercules had a graphics card that was amazing and offered better than CGA graphics. I was plinking on it at my dad’s friend’s house, drawing circles and stuff, and on HIS computer the graphics were retained. I had to figure out how to clear the screen, whereas on mine, not having the Hercules card, it wasn’t retained. Never understood what was happening until now.

It's been a while (over a decade now), but I think SDL allows you to leave the contents on the screen if you don't call the clear function before you render new content. I don't know how well that'd work with resizing a window though.

  • I think it works like that if acceleration is no enabled. But even then I think it does not work reliably..I might be missing something though.

SDL is a relatively high level API and framebuffer style graphics work fine on it. I think there are some edge cases for X11 with non-compositing window manager where you will get interesting glitches if the window moves.