Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
Get HideMyAss! VPN, PC Mag's Top 10 VPNs of 2016 for 55% off for a Limited Time ×
Graphics Hardware Hacking Open Source Quake Build

Quake On an Oscilloscope 71

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."
This discussion has been archived. No new comments can be posted.

Quake On an Oscilloscope

Comments Filter:
  • by fibonacci8 ( 260615 ) on Monday December 29, 2014 @08:22PM (#48693113)
    Any game at all on the Vectrex.
    • by gl4ss ( 559668 )

      well no surprise.

      however, I was thinking, can this be ported over to use vectrex as the display? maybe less flicker with it's screen?

  • by Anonymous Coward on Monday December 29, 2014 @08:25PM (#48693131)

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

    • As an undergrad, we had to do Breakout in assembly, but displayed on an analog oscilloscope. Kind of fun. Simple, but the point was to learn about interfacing to devices not the assembler or programming style.

  • Vector Graphics (Score:5, Insightful)

    by danomatika ( 1977210 ) on Monday December 29, 2014 @08:28PM (#48693153)

    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!

    • Re:Vector Graphics (Score:5, Interesting)

      by dbIII ( 701233 ) on Monday December 29, 2014 @08:53PM (#48693239)

      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.

      • The IBM T221 cost $17,999 when it was released. I can't imagine anyone outside a research lab or government agency buying one back then.

        • by dbIII ( 701233 )
          Try buying a PPC system from IBM and you'll see how they can be experts at pricing themselves out of markets they can afford to sell to. Wikipedia mentions a price drop from $17,999 to $8,399 without it being a fire sale.
          Middle ground at less cost was available but didn't happen. It was made out of 2400x900 panels which would have been pretty decent alone.
        • by Theovon ( 109752 )

          I got to play with the IBM T221 back when I worked at Tech Source. One dual-link DVI didn't have enough bandwidth for a decent framerate, so I helped adapt one of our dual-head air traffic control video cards to drive the display. That monitor was awesome. Retina display before its time!

    • by Dadoo ( 899435 )

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

      I'm not sure why that's ironic. When you're only displaying the outlines of objects, you don't need nearly as much memory (or memory bandwidth) as you do with a raster display. On top of that, vector displays only get that resolution in monochrome; you lose it when you try to do color. (A color display can't exceed the resolution of its shadow mask.) I can tell you from experience: Qu

    • by itzly ( 3699663 )

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

      Assuming you only look at images optimized for vector graphics display, and you don't actually accurately measure the position of the lines.

    • by Agripa ( 139780 )

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

      That is about right given that my oldest digital storage oscilloscope was first produced in 1981 and has a 10 bit display for 1024x1024 in a 5:4 format of 10 cm x 8cm which yields 260x325 DPI. Oscilloscope CRTs however are a little unusual in that they use very high acceleration voltages to produce bright traces and this has a side effect of giving them a smaller spot size although i

  • Nice work (Score:2, Insightful)

    by gatkinso ( 15975 )

    No snarky commentary to offer like the above posters.

  • by freelunch ( 258011 ) on Monday December 29, 2014 @08:41PM (#48693197)

    Please vectorize my dog. Thx.

  • Nice (Score:5, Informative)

    by Dan East ( 318230 ) on Monday December 29, 2014 @08:43PM (#48693205) Homepage Journal

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

  • by blind biker ( 1066130 ) on Monday December 29, 2014 @08:53PM (#48693237) Journal

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

  • He didn't find all the secrets...

  • Flat out, one of the coolest hacks in history.

    Well Done!

  • Does it run crysis?

    I bet the water would have great waves.... :ducks:
  • now run duke3d on it.

  • That is some seriously cool stuff. My hat is off to you, sir.
  • First off, In the late 90's Tektronix made a series of digital oscilloscopes that ran an embedded version of Windows 98.

    But really, the easiest way to get Quake running on an oscilloscope is to take the raster signals from an analog CRT controller (like, for instance, a VGA card) and use the vertical and horizontal signals to properly drive the X and Y axis, and feed the video into the Z axis. Like, duh. Why would you vectorize it?

    • by Barny ( 103770 )

      Pretty sure those old scopes ran winNT, not 98 (for obvious reasons)

      If I remember rightly you could use a mouse/keyboard with them, so controls would be simple.

      As for why vectorise it? Why not!

      • Nope. The scopes that I remember specifically had a Windows 98 bootup screen. There's no reason at all that a completely stable 'Oscilloscope' app can't be run on Windows 98, particularly if they make it fairly difficult to install a lot of the croft and crap that the typical 'desktop/home' user put on a Windows 98 machine back in the day. I suspect at that time, doing anything in snappy 'real time' on NT was much more difficult. Win 98 itself wasn't very good, but it gets the hell out of the way of wha

        • Those windows teks made the previous generation of tek scopes instantly more desirable. Office space used a red stapler, but in the real world, in real labs, people fight over the most recent tek scope that still has a useable interface.

        • by rjforster ( 2130 )

          Yep. Win98 for the Agilent ones too.

          I remember, around 2001, buying a vibration motor for an old Nokia 3210 mobile phone that wasn't originally supplied with one, though the space inside was there. Fitting the motor was easy but I needed to flash the firmware to drive it. For this I needed DOS on a PC with a serial port. My home PC ran linux (obviously), my desktop at work was NT4 but the 'scope in the lab ran Win98 and had the serial port and floppy drive. 2 minutes later I had a vibrating phone.

          Someone el

    • First off, In the late 90's Tektronix made a series of digital oscilloscopes that ran an embedded version of Windows 98.

      As far as I know, every current Tek scope has either Windows (higher-end) or embedded Linux running it. All our 4000-series and up scopes have a mix of Win2K and XP, which is for us a disaster since we're not allowed to use them on the corporate network now that there's no longer any OS support for them. Weirdly, the Linux-based systems, which appear to have 2.2-era kernels, are freely allowed on the network and feature integral webservers so you can control them remotely without needing any fancy softwar

    • First off, In the late 90's Tektronix made a series of digital oscilloscopes that ran an embedded version of Windows 98.

      And nowadays all the major high end scope vendors make scopes running an embedded version of windows 7.

    • by tlhIngan ( 30335 )

      First off, In the late 90's Tektronix made a series of digital oscilloscopes that ran an embedded version of Windows 98.

      Not unusual - a large amount of test equipment, especially higher end gear, run Windows today. Basically because the equipment is expensive enough they don't have to save cost by using low-powered SoCs and can just dump a full PC on it, getting you the speed and flexibility.

      I have used a logic analyzer that used Windows 2000 embedded, and seen ones based on XP embedded and Windows 7 embedd

  • by Intrepid imaginaut ( 1970940 ) on Monday December 29, 2014 @09:34PM (#48693417)

    More of this!

  • This one is classic:

    "Please don't support this abuse of technology, Reddit. Oscilloscopes were invented to benefit mankind and save lives by being used for purposes such as monitoring heart rates. It's disgusting seeing a male program it to run a violent video game. This is exactly the same as going to a school for a shootout rather than for education. I hope this travesty is destroyed before a doctor mistakes it as a heart rate monitor and ends up shooting a female patient.

    Berta Lovejoy, Feminist, Promoter

  • by NixieBunny ( 859050 ) on Monday December 29, 2014 @10:51PM (#48693679) Homepage
    A decent vector oscilloscope display uses the Z blanking input to turn off the beam when not drawing a line. I see no mention of this in the writeup, and consequently there are ghost lines all over the screen. It would look a whole lot nicer if the Z input were put to use.
    • by Mr.CRC ( 2330444 )

      Because it's just using a crummy sound card, initially AC coupled, then some hacked DC coupled one.

      This would be much more interesting with 20-50x the bandwidth, which a scope like this could deal with easily. That would require a good data acquisition (DAQ) card with high sampling rate D/A converters.

      Some low-end analog CRT scopes (like my 20MHz B&K) don't include Z axis inputs. I'm contemplating hacking one on to mine, and also building a generic set of deflection amplifiers to use old electrostat

      • by itzly ( 3699663 )

        That would require a good data acquisition (DAQ) card with high sampling rate D/A converters.

        Or a cheap VGA output. Connect the RGB outputs to X, Y and Z and load the frame buffer with a suitable picture.

    • by tlhIngan ( 30335 )

      A decent vector oscilloscope display uses the Z blanking input to turn off the beam when not drawing a line. I see no mention of this in the writeup, and consequently there are ghost lines all over the screen. It would look a whole lot nicer if the Z input were put to use.

      Yes but that requires a 3rd output. Instead, he uses the fact that vector display brightness is dependent on how fast you sweep the beam, so "off" lines are simply swept fast while lines meant to be shown are swept far slower.

      Incidentally,

  • by caffiend666 ( 598633 ) on Monday December 29, 2014 @11:21PM (#48693761) Homepage
    Where is my upvote button? Why can't I fucking upvote this?
  • Oscilloscope master race!
  • To really make the circle complete he needs to pipe it to a digital phosphor oscilliscope. The would be the height of irony.

    Another thought would have been to output the X and Y scans on red and blue of a video card to have much higher bandwidth than the audio channels provided.

    In short, where the hell is my Geekport?!

  • almost as bad as watching it on a WinCE device (yeah, tried playing Quake on a Dell Axim X5, wasn't happening).

  • Very cool hack! Back in my younger days, I met a lab technician who would impress the much younger engineers by displaying broadcast TV on an oscilloscope.

  • Mainly juiced up oscilloscopes like Tektronix or pen-plotters. And the early computer graphics languages like GKS were all stroke-based. Raster was a late add-on.

    Our first image raster graphics terminal in 1980(AED) had 512x512 8bit-indexed-color resolution and cost $30K ($120K 2014 $$). Most of that was for screen buffer memory which was still several thousand dollars a megabyte then. PC memories were still counted in tens of killobytes (1984 Mac 128KB). I believe you can get this kind of display

Coding is easy; All you do is sit staring at a terminal until the drops of blood form on your forehead.

Working...