6 ms·
Show HN: Old School Graphics Algorithms
- ggambetta 7y agoLovely :) The examples remind me of the short programs for the ZX Spectrum published in magazines like Microhobby, which would create visually interesting images using PLOT, DRAW, and a couple of loops. Come to think about it, that might have been my first contact with Computer Graphics :)
- stevekemp 7y agoMy first introduction to graphics was definitely the type-in-program listed in the back of the (orange) manual I received with my 48k ZX Spectrum. It drew a UK-flag. Here's the source, which gives me a moment of nostalgia: http://boriel.com/wiki/en/index.php/ZX_BASIC:Flag.bas http://boriel.com/wiki/en/index.php/ZX_BASIC:Flag.bas I wrote a simple BASIC interpreter recently, in golang, and hacked in support for outputing PNG images of code. I should see if I can get that sample to run (mostly) unchanged!
- ggambetta 7y agoNice! Some time ago I worked on a ZX BASIC interpreter in Javascript, so it could run on browsers. My idea was that kids these days™ don't have an environment as easily available and immediately gratifying as we did back then, so I wanted to make one! Have you considered doing something similar with yours?
- stevekemp 7y agoI did embed it in a web-server, so that the user can enter BASIC into a <textarea> and have the output rendered by their browser as an image. I called it "visual basic" ;) https://github.com/skx/gobasic/#80-print-visual-basic https://github.com/skx/gobasic/#80-print-visual-basic Just a small example really of embedding, I suspect to make it really useful for new-programmers it'd need a lot of overhaul. When my child gets old enough I'll probably just give them a BBC-emulator, or similar to get started with.
- atum47 7y agoreally cool, I usually draw my stuff on a JavaScript canvas, but I'll try to port one of my codes to c++ using this. thanks for sharing
- dang 7y ago(This looks great but please don't put Show HN on reading material or tutorials. See https://news.ycombinator.com/showhn.html https://news.ycombinator.com/showhn.html for the rules.)
- klingonopera 7y ago...but it's his library? The tutorials on the page are just examples for the library, which is linked at the top of the page? Or rather: How would he present a "Show HN" topic about this specific library? This is the library's actual page, as I understand?
- dang 7y agoI missed that. Sorry! Title restored.
- craftinator 7y agoPlease don't be a rules monger. Thanks!
- dang 7y agoI'm a moderator here so it's my job. Yes, the moderation comments are off topic and tedious. Alas, the system can't autocorrect without them. If it helps at all, they're a thousand times more tedious to write than they are to read.
- craftinator 7y agoI don't think that you being a moderator changes my statement. And no, I don't find relief in the frustrations of others.
- jmt_ 7y agoGoing to have a good time implementing a few of these myself. Any other references/resources for neat graphics algorithms on the more compact side?
- salgernon 7y agoLook for the original Graphics Gems I and II books (circa 1991) https://www.glassner.com/portfolio/graphics-gems/ https://www.glassner.com/portfolio/graphics-gems/
- jmt_ 7y agoExactly what I was looking for you, thank you:)
- myth_drannon 7y agoLodev.org has some https://lodev.org/cgtutor/index.html https://lodev.org/cgtutor/index.html
- person_of_color 7y agoI did an OpenGL tutorial when it was basically a fancy state machine. Boy how things have changed. Never found a good resource for modern graphics.
- sliken 7y agoThe reminds me of the the days before affordable color bitmap displays. I wrote a unix program to render the mandlebrot set in greyscale. Then a VMS program to render the greyscale image into postscript. I was in a university lab with a 8 foot long laser printer that normally spit out 200 pages per minutes or so with the first page being a giant ascii rendering of your username. It made a cool frewp noise with each page shot out into a self collating set of shelves. The vast majority of the output was just ascii. My mandelbrot set kept the printer busy for a few minutes, the operator wanted to reboot. I pleaded with them to leave it run. It finally spit out a page at at least 300 dpi, everyone in the lab came to look and was amazed. Back in those days rending a 3150x2250 part of the mandelbrot set was a substantial amount of compute. These days something like that runs at 60 fps.
- quintonish 7y agoIt's fun to play around with the algorithms in JavaScript. https://codepen.io/collection/AkoojL https://codepen.io/collection/AkoojL