Hello, and welcome to DDJ.com
CMP Media Launches New Dr. Dobb's Journal

SD West 2006 announces this year's list of Jolt Product Excellence Award winners and Productivity Award winners.

LOG INRegisterForgot password?
What are the green links?
All Access members only
RSS Feed
DDJ > DDJ.com Downloads > DDJ.com Premium Services > Graphics Programming Black Book

Graphics Programming Black Book

by Michael Abrash

Michael Abrash's classic Graphics Programming Black Book is a compilation of Michael's writings on assembly language and graphics programming (including from his "Graphics Programming" column in Dr. Dobb's Journal). Much of the focus of this book is on profiling and code testing, as well as performance optimization. It also explores much of the technology behind the Doom and Quake 3-D games, and 3-D graphics problems such as texture mapping, hidden surface removal, and the like.

The full text of the book is available here in PDF format. Due to the book's length, we've made each chapter available separately. The files are large, so we don't recommend reading them online. We suggest downloading them first (right-click on the link). You may want to start by downloading the Cover, Table of Contents, Introduction, Part 1 Opening Page, and Part 2 Opening Page.. Then download any chapters you want.

If you keep all files in the same directory, the "Previous" and "Next" links at the beginning and end of each chapter will work (provided you have downloaded those chapters).

NOTE: Each chapter also has a "Home" link at its beginning and end. This link does not work: the PDF files were taken from a larger CD-ROM collection, and this link is now out of context. Due to the nature of these files, we were unable to remove the link. We apologize for the inconvenience.

The complete book is 153 MB in size.

Chapter 1: The Best Optimizer is between Your Ears (4.3 MB)
Chapter 2: A World Apart (2.7 MB)
Chapter 3: Assume Nothing (2.6 MB)
Chapter 4: In the Lair of the Cycle-Eaters (3 MB)
Chapter 5: Crossing the Border (1.5 MB)
Chapter 6: Looking Past Face Value (3.5 MB)
Chapter 7: Local Optimization (2.1 MB)
Chapter 8: Speeding Up C with Assembly Language (3.7 MB)
Chapter 9: Hints My Readers Gave Me (2.7 MB)
Chapter 10: Patient Coding, Faster Code (3.8 MB)
Chapter 11: Pushing the 286 and 386 (3.5 MB)
Chapter 12: Pushing the 486 (2.2 MB)
Chapter 13: Aiming the 486 (2.4 MB)
Chapter 14: Boyer-Moore String Searching (2.2 MB)
Chapter 15: Linked Lists and Unintended Challenges (2.1 MB)
Chapter 16: There Ain't No Such Thing as the Fastest Code (4.7 MB)
Chapter 17: The Game of Life (2.2 MB)
Chapter 18: It's a Wonderful Life (4.2 MB)
Chapter 19: Pentium: Not the Same Old Song (1.4 MB)
Chapter 20: Pentium Rules (5.8 MB)
Chapter 21: Unleashing the Pentium's V-pipe (0.8 MB)
Chapter 22: Zenning and the Flexible Mind (0.5 MB)
Chapter 23: Bones and Sinew (5.2 MB)
Chapter 24: Parallel Processing with the VGA (2.9 MB)
Chapter 25: VGA Data Machinery (2.7 MB)
Chapter 26: VGA Write Mode 3 (2.4 MB)
Chapter 27: Yet Another VGA Write Mode (3.5 MB)
Chapter 28: Reading VGA Memory (0.8 MB)
Chapter 29: Saving Screens and Other VGA Mysteries (1 MB)
Chapter 30: Video Est Omnis Divisa (1.1 MB)
Chapter 31: Higher 256-Color Resolution on the VGA (1.5 MB)
Chapter 32: Be It Resolved: 360x480 (0.8 MB)
Chapter 33: Yogi Bear and Eurythmics Confront VGA Colors (2.9 MB)
Chapter 34: Changing Colors without Writing Pixels (1 MB)
Chapter 35: Bresenham Is Fast, and Fast Is Good (1.2 MB)
Chapter 36: The Good, theBad, and the Run-Sliced (0.9 MB)
Chapter 37: Dead Cats and Lightning Lines (0.7 MB)
Chapter 38: The Polygon Primeval (3.9 MB)
Chapter 39: Fast Convex Polygons (4.2 MB)
Chapter 40: Of Songs, Taxes, and the Simplicity of Complex Polygons (1 MB)
Chapter 41: Those Way-Down Polygon Nomenclature Blues (0.8 MB)
Chapter 42: Wu'ed in Haste; Fried, Stewed at Leisure (1.5 MB)
Chapter 43: Bit-Plane Animation (5.6 MB)
Chapter 44: Split Screens Save the Page-Flipped Day (1.2 MB)
Chapter 45: Dog Hair and Dirty Rectangles (2.5 MB)
Chapter 46: Who Was that Masked Image? (0.9 MB)
Chapter 47: Mode X: 256-Color VGA Magic (1.5 MB)
Chapter 48: Mode X Marks the Latch (1.9 MB)
Chapter 49: Mode X 256-Color Animation (2.7 MB)
Chapter 50: Adding a Dimension (1.3 MB)
Chapter 51: Sneakers in Space (1.6 MB)
Chapter 52: Fast 3-D Animation: Meet X-Sharp (0.9 MB)
Chapter 53: Raw Speed and More (0.9 MB)
Chapter 54: 3-D Shading (1.1 MB)
Chapter 55: Color Modeling in 256-Color Mode (2.3 MB)
Chapter 56: Pooh and the Space Station (1.8 MB)
Chapter 57: 10,000 Freshly Sheared Sheep on the Screen (2.2 MB)
Chapter 58: Heinlein's Crystal Ball, Spock's Brain, and the 9-Cycle Dare (2.2 MB)
Chapter 59: The Idea of BSP Trees (1.6 MB)
Chapter 60: Compiling BSP Trees (0.8 MB)
Chapter 61: Frames of Reference (0.9 MB)
Chapter 62: One Story, Two Rules, and a BSP Renderer (0.8 MB)
Chapter 63: Floating-Point for Real-Time 3-D (0.6 MB)
Chapter 64: Quake's Visible-Surface Determination (2 MB)
Chapter 65: 3-D Clipping and Other Thoughts (1.6 MB)
Chapter 66: Quake's Hidden-Surface Removal (0.7 MB)
Chapter 67: Sorted Spans in Action (0.8 MB)
Chapter 68: Quake's Lighting Model (1.8 MB)
Chapter 69: Surface Caching and Quake's Triangle Models (0.9 MB)
Chapter 70: Quake: A Post-Mortem and a Glimpse into the Future (1.9 MB)
Afterword (0.1 MB)
Index (2.2 MB)

Graphics Programming Black Book ý 2001 Michael Abrash

On the Newsstand


Table of Contents
Order this issue now.
Subscribe to DDJ

Departments

64bit
AI
Architecture & Design
C++
Database
Eclipse & Open Source
Embedded Systems
Global Developer
Java
Lightweight Languages
Linux/UNIX
Mobility
Security
SOA, Web Services & XML
Testing & Debugging
Windows/.NET

CMP DevNet Spotlight

C++/CLI: Cloning
Making copies of heap-based objects

In the News

DDJ Newsletters

Dr. Dobb's Linux Digest Newsletter
edited by Steven Gibson
A monthly compendium that will highlight the most important Linux discussions happening in usenet groups as well as on the Web.
--more--

DDJ Resources

Mobilized Software
Developer Events

DevNet Podcasts

Antarctica: Eclipse Comes In From the Cold
Josh Reed discusses the Antarctic Geologic Drilling Program, and the important role that open source tools played.

Software Glitch Implicated in Mars Global Surveyor Failure
NASA Watch reports that NASA's Mars Global Surveyor stopped responding to commands a few months ago due to improperly coded software.

Info-Link

DDJ Store


Dr. Dobb's Developer Library DVD: Release 2
The Dr. Dobb's Developer Library DVD is a new fully searchable DVD that includes 17 years of Dr. Dobb's Journal, 14 full years of C/C++ Users Journal, 3 years of The Perl Journal, nearly 4 years of Dr. Dobb's Sourcebook, and thousands and thousands of lines of source code—all on one DVD!

Click here for more information.

 




MarketPlace

Get the ports you need for your VMs to succeed.
HP network adapters help get the most from your virtualized servers. Learn more at HP.IntelVT.com.

WinDev 11 - Powerful IDE
Develop 10 times faster ! ALM, IDE, .Net, RAD, 5GL, Database, 5GL, 64-bit, etc. Free Express version

Villanova University Six Sigma & IT Certificate Programs
100% Online programs in Six Sigma, IS Security, CISSP Prep, Business Analysis, Proj. Mgmt. and more!

Web based bug tracking - AdminiTrack.com
AdminiTrack offers an effective web-based bug tracking system designed for professional software development teams.

Wanna see your ad here?