TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Graphics Programming Black Book (1997)

157 pointsby nucatusover 4 years ago

14 comments

dmethvinover 4 years ago
Okay, I&#x27;ll take a little time to brag. The word count challenge here got my interest at the time, so I whipped up an assembly language version of it and iterated several times, trying to figure out the value of switching different registers. In the end, I took second place:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;jagregory&#x2F;abrash-black-book&#x2F;blob&#x2F;4028269fe1f847f81dfae21bf01b185fecbb9075&#x2F;src&#x2F;chapter-16.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jagregory&#x2F;abrash-black-book&#x2F;blob&#x2F;4028269f...</a><p>However, there&#x27;s an interesting story behind this story. David Stafford, who came in first, posted that he thought he had the fastest solution and bet $100 that nobody could beat it. I posted my code which was significantly faster, and David tweaked it further to eventually win the challenge. Like a true person of honor, he did pay the $100 and I cashed his check.
评论 #25799610 未加载
评论 #25799462 未加载
评论 #25798174 未加载
EvanAndersonover 4 years ago
I knew from the title it was going to be Michael Abrash&#x27;s book. There is, indeed, a lot of wisdom there. I did most of my recreational x86 assembler coding in 1993-95. I got the book when it came out (an unwieldy tome in paper form) and poured over it but, sadly, I never really did much x86 assembler after that.<p>There&#x27;s a lot in the book that&#x27;s dated, being very VGA-specific, or specific to the x86 CPUs of that day. Even so, there are lots of ideas in the book that transcend that. His advice about optimization, and about how to approach problems, is timeless.
评论 #25796670 未加载
评论 #25798581 未加载
评论 #25797442 未加载
dangover 4 years ago
If curious see also<p>2019 <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20883860" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20883860</a><p>2017 <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14897512" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14897512</a><p>2014 (a bit) <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8803883" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8803883</a><p>2014 (a bit more) <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7149973" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7149973</a><p>2013 (with michael_abrash) <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=6659279" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=6659279</a><p>2010 <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1301086" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=1301086</a><p>2008 <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=119494" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=119494</a>
carapaceover 4 years ago
Ah, yeah, writing Wu antialias line drawing routines in assembly with DOS debug on my PC XT. Those were the days.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Xiaolin_Wu%27s_line_algorithm" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Xiaolin_Wu%27s_line_algorithm</a><p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Debug_(command)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Debug_(command)</a><p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;IBM_Personal_Computer_XT" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;IBM_Personal_Computer_XT</a>
markus_zhangover 4 years ago
Although I have heard a lot about the &quot;Don&#x27;t opimize if you don&#x27;t need it&quot; or many lines that are similar to this. I also heard from somewhere (maybe it was HN) that modern programmers do not spend enough time on optimization. Half because their education is more and more far away from low level and half because modern software is becoming too complex and they don&#x27;t have time to optimize much.<p>What&#x27;s your thought on this?
评论 #25799970 未加载
评论 #25801058 未加载
评论 #25800059 未加载
评论 #25801597 未加载
mmastracover 4 years ago
Michael Abrash is one of the most pragmatic and clear programmers I&#x27;ve ever seen in my lifetime. Not only is he incredibly smart, but he has a communication style that is by far one of the greatest in technical manuals.<p>I didn&#x27;t realize that the physical black book was so expensive these days. I sure hope I kept my copy.
fernlyover 4 years ago
FWIW I downloaded the .mobi and tried to open it with Kindle on MacOS, and Kindle crashed while &quot;Preparing your book&quot;, every time.
评论 #25800577 未加载
projectileboyover 4 years ago
This book gets posted at least once a year, and I don’t even mind. Such a gem. Besides the more general advice on programming and optimization that is still relevant, the stuff at the end on the development of Quake is a really fun read.
dragontamerover 4 years ago
The graphics community remains one of the most intense optimization-based programmers I&#x27;ve ever seen.<p>GPU Gems, ShaderX, GPU Pro, GPU Zen... there&#x27;s so much optimization to be learned from them.
Viper512over 4 years ago
I&#x27;m shocked that this book is so rare (and going for $200!).<p>I have it on my shelf (w&#x2F; cd!). I bought it out of a bargain book bin from a computer store I worked at.<p>It helped me write a 3d engine.
ameliusover 4 years ago
Is there a single-file pdf available?
adamnemecekover 4 years ago
I tried reading it on the past. Most of it seemed out of date. What are the good parts?
评论 #25796661 未加载
评论 #25796663 未加载
评论 #25799469 未加载
tantalorover 4 years ago
mods: Proper title is &quot;Michael Abrash&#x27;s Graphics Programming Black Book (1997)&quot;
评论 #25798415 未加载
permille42over 4 years ago
Nice. I own the actual book itself. It is seriously hardcore. It always weighs a ton. I had no idea it was rare and&#x2F;or worth anything. Also own the related Zen of Graphics Programming book by Abrash.