Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your email address or mobile phone number.
Michael Abrash's Graphics Programming Black Book (Special Edition) Paperback – July, 1997
Featured Open Source Titles
Check out these featured titles from O'Reilly Media and Distributed Publishers.
Customers Who Bought This Item Also Bought
If you’re the author, publisher, or rights holder of this book, let ACX help you produce the audiobook.Learn more.
Top Customer Reviews
I personally learned a lot from Michael's early articles, and I was proud to contribute to the later ones.
John Carmack, id Software
Abrash teaches you how to think like a performance programmer in a way that no one else does. Even the best (and much more current) books on performance programming like Rick Booth's excellent "Inner Loops" can't approach Abrash' skill at imparting the mindset of how one approaches code optimization. No wonder Abrash' earlier books (which are bundled into this one) have names beginning "The Zen of..." Michael Abrash preaches a discipline of constant awareness of the bus, the cache, and the pipeline in a clear and useful fashion. And of course, Test, test, test! Even if you are not a graphics programmer, you will have much to learn about writing tight code and good algorithms from the graphics examples.
Even though the book contains over 1000 pages, the real jewel may be the CD-ROM, which contains the complete text of the long out-of-print classic "Zen of Assembler". It is hard to express how influential a book on 8088(!) programming can be. That book begins by deconstructing a published article on speeding up a program by repeatedly applying optimizations that reduce the cycle count, eventually the cycle count was halved. Despite this, the "optimized" program ran slower than the original, and Abrash clearly explains why.
The chapter on Terje Matheson's wc program tought me more about assembler than any program I have ever looked at. (You can test your skill by rewriting wc to run well on the Pentium II and above.Read more ›
If only I had this book at hand back then! While today's PCs have grown well beyond VGA, and are largely well catered for via the likes of DirectX etc., this book still presents the base set of knowledge (from 8086 -> Pentium, from VGA -> Acellerated cards) that any programmer involved in the development of graphics oriented software should have.
Combined with Michael's treatment of fast 3d scenery management, texture mapping and lighting models, this book really does become a bible.
But this is not all...
It's not been all that many years since every time Borland released a new compiler that MS would follow (or vice-versa). Dr. Dobbs would then review the two packages and present accurate results as to which compiler generated the fastest or smallest code. How times change!
The relevance to this book is that the first 20 chapters should be read by EVERY hard-core developer: Why are compilers never going to generate code as optimally as a good developer can write assembler? Want to know why your code is not executing at least one instruction every clock cycle? Ever wondered how to time your code effectively? So just how would you optimize a particularly efficient string searching algorithm into a neat 7 instruction operation?
It's all here - one of the most readable exposes onto the nasty features of the 80x8x processor families (why oh why didn't IBM wait for the 680x0?) and how to overcome these problems.
It's not only a very informative book in terms of content provided, but it is also a bit humorous and fun to read. Abrash has a great skill for writing technical material in an easy to understand, yet as "technical as you can take it", manner.
This book gives an excellent guide to 2D/3D graphics programming as well as insight into good programming procedures and practices in general. These insights are essential to anyone who strives to be a better programmer.
This book is by far an excellent book to have for the advanced programmer that desires to write good, clean, and fast code. The book is also sufficiently written "from the ground up" that the beginner programmer cou! ld understand it with care.
I highly recommend it.
Christopher Sean Morrison, dotProducts
The first half is full of obsolete stuff like how to use VGA registers. There is also a lot of stuff that's obsolete in the sense that you won't use it (like software texture mapping), but still important in the sense that if you understand it you'll know how hard 3D accellerator cards (and OpenGL or DirectX) have to work to do various kinds of work. In other words, if you know how to do it in software, you'll know how hard it is to do in hardware.
The writing style is amusing, and anyone who spends too much t! ime at their computer can get a workout by carrying the book to and from their bookshelf.
The book certainly isn't all you need to know about graphics programming. But it is a good introduction to the theory, and a great way to learn how to turn the weird theory stuff in Foley and van Dam into fast code, and the writing on optimization is as good as it gets. Finally, it's a lot more fun to read than Foley and van Dam!
Most Recent Customer Reviews
This book is gold... it also happens to be old. This does not however change the value of the book, the author was addressing the needs of the computer industry for high... Read morePublished on February 20, 2009 by P. Wilson
This book is a monster brick of over 1300 pages with 70 chapters! Do not be misled by the book title because the 22 first chapters, which represents about the third of the 1300... Read morePublished on June 9, 2007 by Olivier Langlois
I really want to find that book, I am only wondering how much will it cost. It is a precious bible for me. Read morePublished on April 6, 2004 by Michael Kargas
I was a little worried I would need to be a guru to make any sense of this book. Not true. It's pretty accessible and has engaged me right from the beginning. Read morePublished on December 13, 2003 by nerdyguy1618
This book is an exellent reference and good info book. it has tons of info about MODE X (somewhat outdated) 3d stuff and optimizing. Read morePublished on November 24, 1999 by BoomBoX
This book rocks! It is filled with info on high performance 3D programming. This is for experts only though, and unless you are a die hard graphics programmer, I would not... Read morePublished on October 21, 1999 by Joel Morey
I learned a lot from Michaels Articles, but this book is just a recycled version of thos articles.
ModeX is outdated for a long time. Read more
a) This book is NOT out of date! Computers will be never fast enough; it means low-level programming can't be out of date (we dont have that luxury of wasting cycles and to reach... Read morePublished on October 4, 1999
Though a lot of the book is old asm material, the rest of the book is filled with excellent information on 3d graphics including some pretty advanced concepts. Read morePublished on September 16, 1999