Skip to content
Paperback Michael Abrash's Graphics Programming Black Book, with CD: The Complete Works of Graphics Master, Michael Abrash Book

ISBN: 1576101746

ISBN13: 9781576101742

Michael Abrash's Graphics Programming Black Book, with CD: The Complete Works of Graphics Master, Michael Abrash

No one has done more to conquer the performance limitations of the PC than Michael Abrash, a software engineer for Microsoft. His complete works are contained in this massive volume, including... This description may be from another edition of this product.

Recommended

Format: Paperback

Temporarily Unavailable

29 people are interested in this title.

We receive 5 copies every 6 months.

Customer Reviews

5 ratings

Required Reading

I don't do any graphics programming and much of the advice in this book is obsolete. Still, writing high-performance assembler and C code is essential to my job, and I can't begin to imagine how to become an expert on performance programming without reading the first portion of this book. 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. The Pentium code in the book runs into a devastating partial register stall on the newer processors. Then compare your solution to Matheson's latest, which can be found on the internet).The bottom line is that if you are looking for a cookbook, stay away from this. The shelf-life of performance code samples is too short. On the other hand, if you are interested in really becoming a master of performance programming and are willing to work hard, this book will improve your skills more than you believed possible.

Hard-Core advice from the guy who optimized Quake!

A number of years ago, I was developing an object oriented Ray Tracer for my thesis. I read every book on the subject, but practically none gave any form of advice as to how to render the results of my tracings on an SVGA powered 386.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.<p>Combined with Michael's treatment of fast 3d scenery management, texture mapping and lighting models, this book really does become a bible.<p>But this is not all...<p>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!<p>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?<p>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.

Light on theory, but *heavy* on programming detail

This book is a great introduction to high-speed computer graphics, with a heavy emphasis on Intel PCs. The theoretical detail goes just deep enough to make the coding explanations comprehensible, but the brilliance of the way it teaches optimization makes it an essential part of your graphics programming library (along with Foley and van Dam's "Computer Graphics: Principles and Practice" and perhaps the Graphics Gems series, to cover the theory). 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!

Who said that real programmers don't exist anymore?

In a world filled with poorly written programs and inefficient coding as common practice, it is good to see that there still exist a few that really do know how to code. This is an excellent book and is, by far, the most complete book in my graphics programming collection.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

I personally learned a lot from Michael's early articles.

If you have any interest in programming, you should look at Michael Abrash's Graphics Programming Black Book Special Edition. It has just about everything he has written, from the ancient work on optimizing for the 8086 (still interesting to read) to the articles written during quake's development. I personally learned a lot from Michael's early articles, and I was proud to contribute to the later ones. John Carmack, id Software
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured