enter image description here

The windows 95 is known for introducing a couple of classic screensavers including: Maze, Pipes and starfield among others. It looks like DirectX is a collection of multimedia APIs but for this question is really only Direct3D sublibrary.

It looks like most Windows 95 shipped with DirectX 2 but I could foresee the developers using their own libraries or procedure calls.

  • 23
    The Pipes screensaver (and probably the others) shipped with Windows NT, which predated both Windows 95 and DirectX anything. I believe Pipes used OpenGL. – Greg Hewgill Dec 4 '19 at 20:16
  • 8
    I’m pretty sure starfield was in at least Windows 3.1. Most likely doesn’t use a 3D API. EDIT: confirmed; youtu.be/9ps3wngQspE youtu.be/KheYW_G0goY – Tommy Dec 4 '19 at 20:47
  • 2
    Random side info: I remember learning from a magazine that the "flying windows" screen saver used the windows logo from the Windings font. If you changed the right byte you could change glyph it'd render. I used to have flying skull and crossbones because I thought I was a badass hacker :) – Matt Lacey Dec 6 '19 at 1:54
  • Don't forget direct x 7, was not compatible with 5 and lower anything running 5 and lower stopped working if you installed 7. Screen saves kept working. – D s Dec 6 '19 at 16:58

All of the classic 3D screensavers (3D Maze, 3D Pipes, 3D Flying Objects, 3D Text, and 3D Flower Box) used OpenGL instead of DirectX. This was a virtual necessity for two reasons: (1) the original version of Windows 95 didn't ship with any version of DirectX, and (2) the Direct3D API required hardware acceleration that most PCs of the time wouldn't have had. On the other hand, OpenGL could fall back to software rending if hardware acceleration wasn't available. (In fact, I'm not sure there was any hardware support for OpenGL on Windows 95 when it first came out.)

At least some of these 3D screensavers—in particular, 3D Pipes—were actually introduced in Windows NT 3.5, a year before Windows 95 came out. In theory, these screensavers could have been rewritten to use Direct3D in later releases of Windows, but that never happened. While DirectX became a standard part of Windows with Windows 95 OSR2, by the time you could pretty much always depend on 3D hardware support (some time during the Windows XP era), these screensavers were no longer being included with Windows. Direct3D never got a practical software renderer that you could use in production applications until Windows 7. There was a painfully slow reference rasterizer before that, but it has never been part of Windows or the DirectX end-user installs. You can only use it if you have the DirectX SDK installed.

There were at least some third-party screensavers that used Direct3D, but they were very uncommon. It didn't help that the official Windows screensaver API made it difficult to write a screen saver using Direct3D.

  • 2
    Direct3D did have software rendering too, at least on some of the very early versions (maybe v3 or v5) – tuomas Dec 4 '19 at 21:09
  • 3
    @tuomas No, not really. There was the reference rasterizer, but it was too slow for real-time 3D and was only available as part of the Direct3D SDK and couldn't be redistributed to users. You might also being thinking of retained mode, but this was just a higher level layer over the lower level immediate mode. No one used retained mode, so Microsoft eventually removed it. – Ross Ridge Dec 4 '19 at 21:33
  • 17
    I seem to recall it being "hilarious" when someone enabled the open gl screensavers on an NT 4.0 IIS server that definitely fell back to software rendering which ate a non-trivial chunk of CPU time that was supposed to go to the web server... – Foon Dec 4 '19 at 22:12
  • 10
    @Foon That was a Daily WTF article. – Cody Gray Dec 5 '19 at 6:39
  • 3
    As far as I remember (at least in some later Windows versions - 98/Millennium), the default text for the 3D Text screensaver was indeed OpenGL. – trolley813 Dec 5 '19 at 10:05

Your Answer

