Skip to content

Instantly share code, notes, and snippets.

@Zardoz89
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zardoz89/9246987 to your computer and use it in GitHub Desktop.
Save Zardoz89/9246987 to your computer and use it in GitHub Desktop.
PDS-5 Vector monitor

PDS-5 2D Vector monitor

Concept of a Vector graphics only monitor. http://en.wikipedia.org/wiki/Vector_monitor

Should accept basic commands to draw :

  • points by absolute coords
  • lines from point A to point B in absolute coords
  • polyline commands that are :
    • begin polyline with start point
    • add next point
    • end polyline
  • swap command X with Y in the list
  • remove commad X from the list
  • clear all screen

This could be done in the client side, using OpenGL GL_LINES and GL_POINTS primitive types in conjunction with a shader that gives a look&feel of a old vector graphics monitor. Also, each primitive must not have full opacity, so each time that primitive is draw over other primitive, the overlapping points are draw with more intensity (see this image http://en.wikipedia.org/wiki/File:Space_Rocks_%28game%29.jpg) Coords are signed 16 bit integers, so X = 32768 is the most right coord and -32768 is the most left coord.

The idea is that the device stores a list of primitives to draw (points, lines and polylines), so the user code not need to resend all the commands every refresh. The user code can remove a command, swap command or clear the whole list. Polylines commands are grouped so swap/remove command treat each group as a single command.

The display will be monochromatic in phosphor green color.

TODO : Think a way to allow to write text with fixed font and size. A command to draw a character in a coord and a shader that generates it ?

NOTE : A more useful holographic projector that SPED-3, could use a command system like this, but with 3d coords and dropping "line" command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment