Programming Books C Java PHP Python Learn more Browse Programming Books
Buy Used
$18.85
FREE Shipping on orders over $35.
Used: Good | Details
Sold by RebelBook
Condition: Used: Good
Comment: Front and back cover show moderate shelf wear. Clean and unmarked. Does not include CD.
Add to Cart
Trade in your item
Get a $4.42
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Michael Abrash's Graphics Programming Black Book (Special Edition) Paperback – July 1, 1997


Amazon Price New from Used from
Paperback
"Please retry"
$161.01 $14.82

NO_CONTENT_IN_FEATURE

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 1200 pages
  • Publisher: Coriolis Group Books (July 1997)
  • Language: English
  • ISBN-10: 1576101746
  • ISBN-13: 978-1576101742
  • Product Dimensions: 9.2 x 7.4 x 2.8 inches
  • Shipping Weight: 5 pounds
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (33 customer reviews)
  • Amazon Best Sellers Rank: #351,016 in Books (See Top 100 in Books)

Editorial Reviews

Amazon.com Review

Michael Abrash's Graphics Programming Black Book is a collection of the author's previous books on assembly language and graphics programming, as well as past columns for Dr. Dobb's magazine. Though much of the book (such as 8088/286/386 assembly language optimization and VGA graphics programming) is out-of-date by now, the reader can see some of the larger tendencies in the author's work over the years--a reliance on profiling in order to test code, and creative thinking to improve performance wherever possible. This text features assembler optimization for a variety of problems including searching algorithms, and records the author's approaches to optimizing code for the evolving line of Intel CPUs, from the 8088 on to the early Pentium lines. The last few chapters of this book are more relevant, and include a series of explorations of some of the technology behind the popular Doom and Quake 3-D games by id Corporation (where the author worked). Optimized solutions to 3-D graphics problems from texture mapping, hidden surface removal, and Binary Space Partitioning (BSP) trees are explained. Current gaming and 3-D technology, such as Direct3D and VRML is left out, but it's clear that game programmers like the author will continue to push the limits of current hardware technology in inventive ways. This book is clearly targeted at game developers and serious assembly language programmers, not for the general reader.

Important Information

Ingredients
Example Ingredients

Directions
Example Directions

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.6 out of 5 stars
5 star
28
4 star
1
3 star
2
2 star
0
1 star
2
See all 33 customer reviews
If only I had this book at hand back then!
richard.turner@paradigm.uk.com
Also, it's a shame one person gave this book such a crappy review and brought his score down a star, it's really an awesome reference.
zack@comm.net
If you have any interest in programming, you should look at Michael Abrash's Graphics Programming Black Book Special Edition.
John Carmack

Most Helpful Customer Reviews

104 of 105 people found the following review helpful By John Carmack on October 21, 1997
Format: Paperback Verified Purchase
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
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
30 of 30 people found the following review helpful By Michael Spertus on August 8, 2000
Format: Paperback
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.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
14 of 14 people found the following review helpful By richard.turner@paradigm.uk.com on April 9, 2000
Format: Paperback
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.
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.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
10 of 10 people found the following review helpful By A Customer on July 29, 1998
Format: Paperback
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
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 8 people found the following review helpful By A Customer on August 9, 1998
Format: Paperback
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!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Search

What Other Items Do Customers Buy After Viewing This Item?