Hacker News new | past | comments | ask | show | jobs | submit login
Illumination for Computer Generated Pictures (1975) [pdf] (northwestern.edu)
50 points by pera 43 days ago | hide | past | web | favorite | 7 comments

I was 21 or so when I discovered this paper and re-implemented Phong shading for a combination of a an early i386 (1986 iirc), combined with a co-processor board that had a DSP32 on it, which - amazingly - would do some pretty impressive float calculations. It was a tricky combo to program for, the bus was a limiting factor but when it worked it was quite fast. I later also ported the vector math section of a small ray tracer to that DSP32. The main application the designers of the board had in mind was real time filtering of telephone voice data streams (the board had two RJ11 jacks) so it wasn't an ideal match for graphics work but it worked quite well in spite of that.

Given the resolution limitations of the display hardware I had access to at the time computing the images was actually easier than displaying them, in the end I resorted to all kinds of very fancy dithering schemes and palette hacks to output the images, some so faint that you had to view them in a darkened room (but they looked pretty good, they were faint because I used interlocking RGR/BGB groups of pixels (6 pixels to display two true color pixels) so you'd lose a lot of light output. Fun times!

I’m always amazed to see work like this from the ’70s. (I know I shouldn’t be, but some blind spots die hard…) My father was taking undergraduate computer science classes at that time, and his stories, many of them involving punch-card mishaps, left me with a different idea of what was possible before my generation. In one of his courses—it may even have been in the same year that this paper was published—his final project was to design a program to apply right-hand justification to text. It was a real challenge for him and the other students in his group. My understanding is that they were able to get as far as calculating how many words could fit in a given line, and how many extra spaces should be added to bring it flush with the right margin. But all of those spaces would be dumped after the first word in the line, not distributed evenly. They still got a passing grade.

Anyway, sorry to ramble. It’s cool to look at actual work from that period.

Ah the original shading paper from B. Phong. It really was remarkable the difference it achieved with similar computation to Gourard shading. I implemented a Phong shader for Amiga "HAM" mode and was quite pleased with the results.

Very sad. He passed away the same year this article was published. https://en.m.wikipedia.org/wiki/Bui_Tuong_Phong

This paper also cites MAGI[0] who would go on to bring us light cycles and recognizers[1][2][3].

[0] https://en.m.wikipedia.org/wiki/Mathematical_Applications_Gr...

[1] https://en.m.wikipedia.org/wiki/Tron

[2] https://youtu.be/7qtNAArfCfQ

[3] https://youtu.be/-BZxGhNdz1k

Phong shaders were the 'cool kids' thing in the 90s when I had my first Amiga A1000. My how far we have come!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact