Is it possible to play doom on an oscilloscope using only lissajous figures?

4 hours ago 2

There are two different processes: the Darkplaces Quake game and the audio synthesizer. Interprocess communication is done via a WinAPI named pipe.

My favourite Quake source port, Darkplaces has an excellent software renderer I abused to get access to projected scene geometry. The engine was patched to save all the clip-space triangle edges sent for drawing, and then transfer these to a synthesizer process via a named pipe.

This geometry extraction phase doesn't affect normal rendering, and a proper depth buffer is actually required for the last culling stage to function.

The pipeline on the Quake side is basically this:

  • for each object being drawn
    • for each triangle
      • clip the edges to screen borders
      • if edge is visible
        • and not already saved this frame
        • save it to a list
      • render the triangle normally, even though color isn't used
  • if the synth process has requested more geometry, then:
    • check if lines are in front of geometry via z-buffer sampling
    • submit all visible lines of this frame to the synth via pipe
Read Entire Article