Overview and aims

Microsoft’s Windows 95 operating system introduced the ‘3D Pipes’ screensaver as one of a small suite of OpenGL-based 3D screensavers. Whilst the graphics look simplistic by today’s standards they were much more impressive when released 12 years ago!

The basic idea of this project is to re-write this screensaver using Microsoft’s Direct3D 10 API in Windows Vista. This latest OS comes with several new graphically-intensive screensavers, but the ‘3D Pipes’ is still my personal favourite despite it having been dropped as a standard screensaver under Windows Vista.

By its very nature the ‘3D Pipes’ screensaver has some interesting graphical characteristics:
  • Geometric Complexity: Various texture-space tricks can be employed to fake smoother surfaces, but the simplest and highest quality method for generating cylindrical sections is to use lots and lots of triangles.
  • Overdraw Potential: As the pipe simulation progresses a lot of pipes start to be occluded which makes for lots of additional and redundant computation and frame-buffer bandwidth.
  • Procedural Geometry: Individual pipe segments can be pre-created geometry, but the dynamic pipe simulation requires that these individual segments are correctly constructed to give the impression of a pipe as a whole. Procedural geometry is set to be a big part of future real-time graphics and this characteristic allows for some simple exploration into this area.
As will be explained in the following sections the 3D Pipes screensaver offers many ways to leverage the advanced hardware and software features available via Direct3D 10.

Additional project information:

Progress will also be tracked via my GameDev.Net developer journal - On the path with a ramblin' man (entries).

Last edited Aug 14, 2007 at 6:33 PM by JHoxley, version 7