Slashdot Mirror


Quake On an Oscilloscope

An anonymous reader writes: Developer Pekka Väänänen has posted a fascinating report on how he got Quake running on an oscilloscope (video link). Obviously, the graphic details gets stripped down to basic lines, but even then, you need to cull any useless or unseen geometry to make things run smoothly. He says, "To cull the duplicates a std::unordered_set of the C++ standard library is used. The indices of the triangle edges are saved in pairs, packed in a single uint64_t, the lower index being first. The set is cleared between each object, so the same line could still be drawn twice or more if the same vertices are stored in different meshes. Before saving a line for end-of-the-frame-submit, its indices in the mesh are checked against the set, and discarded if already saved this frame. At the end of each frame all saved lines are checked against the depth buffer of the rendered scene. If a line lies completely behind the depth buffer, it can be safely discarded because it shouldn't be visible."

7 of 71 comments (clear)

  1. Looks a lot like... by fibonacci8 · · Score: 3, Insightful

    Any game at all on the Vectrex.

    --
    Inheritance is the sincerest form of nepotism.
  2. He didn't get it running on an oscilloscope... by Anonymous Coward · · Score: 5, Informative

    He's displaying it on an oscilloscope. Still cool, though.

  3. Vector Graphics by danomatika · · Score: 5, Insightful

    The irony is that it's only taken 40+ years to get to display resolutions for raster graphics to approximate vector graphics.

    Not to say this isn't cool. I like that the youtube video is basically the following chain: raster Quake -> custom vector renderer -> vector scope -> raster camera capture -> raster video upload -> raster youtube video stream -> you eyes

    In *no way* is the video as cool as that scope in real life!

    1. Re:Vector Graphics by dbIII · · Score: 4, Interesting

      The irony is that it's only taken 40+ years to get to display resolutions for raster graphics to approximate vector graphics.

      It's what we've been prepared to put up with. If more people had bought those monster resolution IBM LCDs in the 1990s then economies of scale would have resulted in 4k screens earlier. It wasn't a technological barrier, it was a progression driven by tooling for whatever would sell. That's why we had the step backwards in resolution for a decade+ and I only gave up on CRTs a couple of years ago when 1600x1200 LCD prices dropped from the stratosphere.
      Back to vectors - that old Star Wars video game still seems to impress kids despite their phone hardware outperforming it 100 to 1.

  4. Nice by Dan+East · · Score: 5, Informative

    That is by far the geekiest thing I've seen in a long time. As someone who has also ported Quake to run on hardware it wasn't designed for, my hat's off to you.

    --
    Better known as 318230.
    1. Re:Nice by 50000BTU_barbecue · · Score: 4, Interesting

      How about a song that makes pictures?

      https://www.youtube.com/watch?...

      --
      Mostly random stuff.
  5. Beautifully steam-punky by blind+biker · · Score: 4, Interesting

    In an alternative steampunk universe, this is how graphical displays MIGHT work.

    --
    "The agriculture ministry is not in charge of Gundam" - Japanese ministry official.