3 ms·
I was studying computer graphics at the time. The book we used was "Computer Graphics Principles and Practice" I don't recall which edition. BSP trees are cover
by phkahler 4y ago
I was studying computer graphics at the time. The book we used was "Computer Graphics Principles and Practice" I don't recall which edition. BSP trees are covered in the book, and like the article says, had been written about more than a decade prior.
What Carmack had was the ability to read research papers and translate them into working code. I can do that too, but it does seem to be a less common skill in the software world.
- bluedino 4y ago> What Carmack had was the ability to read research papers And he had to read actual papers, too. I could see him making copies at the library. No Google or StackOverflow back then.
- jasonwatkinspdx 4y agoNot quite when Doom came out, but within a few years you could find a surprising amount about graphics on grad students' homepages. I remember learning about PVS, Portal based rendering, and a number of similar things from the original paper author's homepage.
- bitwize 4y agoNot just working code -- code that worked well in a real-time video game on 386/486 class hardware. That's the genius bit as far as Doom's code is concerned. Edit: clarify
- coliveira 4y agoWhen Carmack did his work, the computers he had were 386/486 class. So the distinction you're making doesn't make sense. Working code is code that works in the computer you have at the time you're writing the software.
- royjacobs 4y agoThere is a distinction between 'working code' and 'working code that runs at interactive frame rates in a severely memory-constrained environment'.
- bombcar 4y agoDoom was technically developed on NeXT workstations, but it had to perform well enough on a 386 (even if in a reduced window).
- johnvanommen 4y agoThat was the thing that was so revolutionary about Abrash: he figured out how to create graphics that rivaled arcade hardware on the IBM PC. Most importantly: without a GPU. At the time, all of the really "flashy" arcade games used GPUs that cost around $1500 in today's dollars. Abrash pulled off this stunt with no GPU. I'd argue that the entire reason the Xbox is called "Xbox" is because of "Mode X", invented by Abrash.
- bitwize 4y agoThe Xbox is called Xbox because Microsoft wanted to build a console around Windows APIs, internally calling it a "DirectX box". And DirectX has nothing to do with ModeX; it's a family of APIs: DirectDraw, Direct3D, DirectSound, etc.
- JohnBooty 4y agoWhat Carmack had was the ability to read research papers and translate them into working code. I can do that too, but it does seem to be a less common skill in the software world. Well, that's the argument for Carmack being merely very very very good and not a "genius." Here's the argument for him: There were a lot of exceptionally talented people working in the games industry, and for four+ generations of PC hardware (the Keen, Wolf3D, Doom, and Quake eras) Carmack's engines were years ahead of everybody else's and had an absolutely massive impact on the industry. Of course, the term "genius" is nebulous and it can mean whatever we want it to mean. However, describing him as merely a guy who implemented other peoples' algorithms may be true in a literal sense but really misses the big picture IMO.