Remove colour attributes from body and strip most of the font tags out
This commit is contained in:
parent
7e957c0bb4
commit
c1f88ddb41
362 changed files with 1632 additions and 1706 deletions
150
index.html
150
index.html
|
|
@ -24,9 +24,9 @@
|
|||
<!--CHAPTER=0//-->
|
||||
<!--PAGES=0//-->
|
||||
<!--UNASSIGNED1//-->
|
||||
<!--UNASSIGNED2//--></HEAD><BODY LINK=#0000FF ALINK=#000099 VLINK=#0000FF BGCOLOR=#FFFFFF>
|
||||
<!--UNASSIGNED2//--></HEAD><body>
|
||||
|
||||
<CENTER><H2><FONT COLOR="#000077">Michael Abrash's Graphics Programming Black Book Special Edition</FONT></H2></CENTER>
|
||||
<CENTER><H2>Michael Abrash's Graphics Programming Black Book Special Edition</H2></CENTER>
|
||||
<HR>
|
||||
<DL>
|
||||
<FONT SIZE="4"><B>
|
||||
|
|
@ -35,9 +35,9 @@
|
|||
<DD><A HREF="about_author.html">About the Author</A>
|
||||
</B></FONT>
|
||||
<BR>
|
||||
<BR><DD><A HREF="01-01.html"><FONT SIZE="4"><B>Part I</B></FONT></A>
|
||||
<BR><DD><A HREF="01-01.html"><B>Part I</B></A>
|
||||
<DL>
|
||||
<DD><A HREF="01-01.html#Heading1"><FONT SIZE="4"><B>Chapter 1—The Best Optimizer Is between Your Ears</B></FONT></A>
|
||||
<DD><A HREF="01-01.html#Heading1"><B>Chapter 1—The Best Optimizer Is between Your Ears</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="01-01.html#Heading2">The Human Element of Code Optimization</A>
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="02-01.html#Heading1"><FONT SIZE="4"><B>Chapter 2—A World Apart</B></FONT></A>
|
||||
<DD><A HREF="02-01.html#Heading1"><B>Chapter 2—A World Apart</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="02-01.html#Heading2">The Unique Nature of Assembly Language Optimization</A>
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="03-01.html#Heading1"><FONT SIZE="4"><B>Chapter 3—Assume Nothing</B></FONT></A>
|
||||
<DD><A HREF="03-01.html#Heading1"><B>Chapter 3—Assume Nothing</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="03-01.html#Heading2">Understanding and Using the Zen Timer</A>
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="04-01.html#Heading1"><FONT SIZE="4"><B>Chapter 4—In the Lair of the Cycle-Eaters</B></FONT></A>
|
||||
<DD><A HREF="04-01.html#Heading1"><B>Chapter 4—In the Lair of the Cycle-Eaters</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="04-01.html#Heading2">How the PC Hardware Devours Code Performance</A>
|
||||
|
|
@ -144,7 +144,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="05-01.html#Heading1"><FONT SIZE="4"><B>Chapter 5—Crossing the Border</B></FONT></A>
|
||||
<DD><A HREF="05-01.html#Heading1"><B>Chapter 5—Crossing the Border</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="05-01.html#Heading2">Searching Files with Restartable Blocks</A>
|
||||
|
|
@ -164,7 +164,7 @@
|
|||
<DD><A HREF="05-05.html#Heading10">Always Look Where Execution Is Going</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="06-01.html#Heading1"><FONT SIZE="4"><B>Chapter 6—Looking Past Face Value</B></FONT></A>
|
||||
<DD><A HREF="06-01.html#Heading1"><B>Chapter 6—Looking Past Face Value</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="06-01.html#Heading2">How Machine Instructions May Do More Than You Think</A>
|
||||
|
|
@ -178,7 +178,7 @@
|
|||
<DD><A HREF="06-02.html#Heading6">Multiplication with LEA Using Non-Powers of Two</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="07-01.html#Heading1"><FONT SIZE="4"><B>Chapter 7—Local Optimization</B></FONT></A>
|
||||
<DD><A HREF="07-01.html#Heading1"><B>Chapter 7—Local Optimization</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="07-01.html#Heading2">Optimizing Halfway between Algorithms and Cycle Counting</A>
|
||||
|
|
@ -198,7 +198,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="08-01.html#Heading1"><FONT SIZE="4"><B>Chapter 8—Speeding Up C with Assembly Language</B></FONT></A>
|
||||
<DD><A HREF="08-01.html#Heading1"><B>Chapter 8—Speeding Up C with Assembly Language</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="08-01.html#Heading2">Jumping Languages When You Know It’ll Help</A>
|
||||
|
|
@ -217,7 +217,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="09-01.html#Heading1"><FONT SIZE="4"><B>Chapter 9—Hints My Readers Gave Me</B></FONT></A>
|
||||
<DD><A HREF="09-01.html#Heading1"><B>Chapter 9—Hints My Readers Gave Me</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="09-01.html#Heading2">Optimization Odds and Ends from the Field</A>
|
||||
|
|
@ -235,7 +235,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="10-01.html#Heading1"><FONT SIZE="4"><B>Chapter 10—Patient Coding, Faster Code</B></FONT></A>
|
||||
<DD><A HREF="10-01.html#Heading1"><B>Chapter 10—Patient Coding, Faster Code</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="10-01.html#Heading2">How Working Quickly Can Bring Execution to a Crawl</A>
|
||||
|
|
@ -252,7 +252,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="11-01.html#Heading1"><FONT SIZE="4"><B>Chapter 11—Pushing the 286 and 386</B></FONT></A>
|
||||
<DD><A HREF="11-01.html#Heading1"><B>Chapter 11—Pushing the 286 and 386</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="11-01.html#Heading2">New Registers, New Instructions, New Timings, New Complications</A>
|
||||
|
|
@ -281,7 +281,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="12-01.html#Heading1"><FONT SIZE="4"><B>Chapter 12—Pushing the 486</B></FONT></A>
|
||||
<DD><A HREF="12-01.html#Heading1"><B>Chapter 12—Pushing the 486</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="12-01.html#Heading2">It’s Not Just a Bigger 386</A>
|
||||
|
|
@ -303,7 +303,7 @@
|
|||
<DD><A HREF="12-04.html#Heading12">The Story Continues</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="13-01.html#Heading1"><FONT SIZE="4"><B>Chapter 13—Aiming the 486</B></FONT></A>
|
||||
<DD><A HREF="13-01.html#Heading1"><B>Chapter 13—Aiming the 486</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="13-01.html#Heading2">Pipelines and Other Hazards of the High End</A>
|
||||
|
|
@ -316,7 +316,7 @@
|
|||
<DD><A HREF="13-04.html#Heading7">32-Bit Addressing Modes</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="14-01.html#Heading1"><FONT SIZE="4"><B>Chapter 14—Boyer-Moore String Searching</B></FONT></A>
|
||||
<DD><A HREF="14-01.html#Heading1"><B>Chapter 14—Boyer-Moore String Searching</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="14-01.html#Heading2">Optimizing a Pretty Optimum Search Algorithm</A>
|
||||
|
|
@ -327,7 +327,7 @@
|
|||
<DD><A HREF="14-06.html#Heading7">Know What You Know</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="15-01.html#Heading1"><FONT SIZE="4"><B>Chapter 15—Linked Lists and plain Unintended Challenges</B></FONT></A>
|
||||
<DD><A HREF="15-01.html#Heading1"><B>Chapter 15—Linked Lists and plain Unintended Challenges</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="15-01.html#Heading2">Unfamiliar Problems with Familiar Data Structures</A>
|
||||
|
|
@ -337,7 +337,7 @@
|
|||
<DD><A HREF="15-04.html#Heading6">Hi/Lo in 24 Bytes</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="16-01.html#Heading1"><FONT SIZE="4"><B>Chapter 16—There Ain’t No Such Thing as the Fastest Code</B></FONT></A>
|
||||
<DD><A HREF="16-01.html#Heading1"><B>Chapter 16—There Ain’t No Such Thing as the Fastest Code</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="16-01.html#Heading2">Lessons Learned in the Pursuit of the Ultimate Word Counter</A>
|
||||
|
|
@ -362,7 +362,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="17-01.html#Heading1"><FONT SIZE="4"><B>Chapter 17—The Game of Life</B></FONT></A>
|
||||
<DD><A HREF="17-01.html#Heading1"><B>Chapter 17—The Game of Life</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="17-01.html#Heading2">The Triumph of Algorithmic Optimization in a Cellular Automata Game</A>
|
||||
|
|
@ -381,7 +381,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="18-01.html#Heading1"><FONT SIZE="4"><B>Chapter 18—It’s a plain Wonderful Life</B></FONT></A>
|
||||
<DD><A HREF="18-01.html#Heading1"><B>Chapter 18—It’s a plain Wonderful Life</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="18-01.html#Heading2">Optimization beyond the Pale</A>
|
||||
|
|
@ -393,7 +393,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="19-01.html#Heading1"><FONT SIZE="4"><B>Chapter 19—Pentium: Not the Same Old Song</B></FONT></A>
|
||||
<DD><A HREF="19-01.html#Heading1"><B>Chapter 19—Pentium: Not the Same Old Song</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="19-01.html#Heading2">Learning a Whole Different Set of Optimization Rules</A>
|
||||
|
|
@ -412,7 +412,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="20-01.html#Heading1"><FONT SIZE="4"><B>Chapter 20—Pentium Rules</B></FONT></A>
|
||||
<DD><A HREF="20-01.html#Heading1"><B>Chapter 20—Pentium Rules</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="20-01.html#Heading2">How Your Carbon-Based Optimizer Can Put the “Super” in Superscalar</A>
|
||||
|
|
@ -425,7 +425,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="21-01.html#Heading1"><FONT SIZE="4"><B>Chapter 21—Unleashing the Pentium’s V-Pipe</B></FONT></A>
|
||||
<DD><A HREF="21-01.html#Heading1"><B>Chapter 21—Unleashing the Pentium’s V-Pipe</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="21-01.html#Heading2">Focusing on Keeping Both Pentium Pipes Full</A>
|
||||
|
|
@ -441,7 +441,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="22-01.html#Heading1"><FONT SIZE="4"><B>Chapter 22—Zenning and the Flexible Mind</B></FONT></A>
|
||||
<DD><A HREF="22-01.html#Heading1"><B>Chapter 22—Zenning and the Flexible Mind</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="22-01.html#Heading2">Taking a Spin through What You’ve Learned</A>
|
||||
|
|
@ -450,9 +450,9 @@
|
|||
</DL>
|
||||
</B></FONT>
|
||||
<BR>
|
||||
<DD><A HREF="23-01.html"><FONT SIZE="4"><B>Part II</B></FONT></A>
|
||||
<DD><A HREF="23-01.html"><B>Part II</B></A>
|
||||
<DL>
|
||||
<DD><A HREF="23-01.html#Heading1"><FONT SIZE="4"><B>Chapter 23—Bones and Sinew</B></FONT></A>
|
||||
<DD><A HREF="23-01.html#Heading1"><B>Chapter 23—Bones and Sinew</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="23-01.html#Heading2">At the Very Heart of Standard PC Graphics</A>
|
||||
|
|
@ -470,7 +470,7 @@
|
|||
<DD><A HREF="23-06.html#Heading12">The Macro Assembler</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="24-01.html#Heading1"><FONT SIZE="4"><B>Chapter 24—Parallel Processing with the VGA</B></FONT></A>
|
||||
<DD><A HREF="24-01.html#Heading1"><B>Chapter 24—Parallel Processing with the VGA</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="24-01.html#Heading2">Taking on Graphics Memory Four Bytes at a Time</A>
|
||||
|
|
@ -478,7 +478,7 @@
|
|||
<DD><A HREF="24-03.html#Heading4">Notes on the ALU/Latch Demo Program</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="25-01.html#Heading1"><FONT SIZE="4"><B>Chapter 25—VGA Data Machinery</B></FONT></A>
|
||||
<DD><A HREF="25-01.html#Heading1"><B>Chapter 25—VGA Data Machinery</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="25-01.html#Heading2">The Barrel Shifter, Bit Mask, and Set/Reset Mechanisms</A>
|
||||
|
|
@ -493,7 +493,7 @@
|
|||
<DD><A HREF="25-06.html#Heading9">A Brief Note on Word OUTs</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="26-01.html#Heading1"><FONT SIZE="4"><B>Chapter 26—VGA Write Mode 3</B></FONT></A>
|
||||
<DD><A HREF="26-01.html#Heading1"><B>Chapter 26—VGA Write Mode 3</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="26-01.html#Heading2">The Write Mode That Grows on You</A>
|
||||
|
|
@ -501,7 +501,7 @@
|
|||
<DD><A HREF="26-03.html#Heading4">A Note on Preserving Register Bits</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="27-01.html#Heading1"><FONT SIZE="4"><B>Chapter 27—Yet Another VGA Write Mode</B></FONT></A>
|
||||
<DD><A HREF="27-01.html#Heading1"><B>Chapter 27—Yet Another VGA Write Mode</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="27-01.html#Heading2">Write Mode 2, Chunky Bitmaps,and Text-Graphics Coexistence</A>
|
||||
|
|
@ -516,7 +516,7 @@
|
|||
<DD><A HREF="27-04.html#Heading9">Flipping Pages from Text to Graphics and Back</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="28-01.html#Heading1"><FONT SIZE="4"><B>Chapter 28—Reading VGA Memory</B></FONT></A>
|
||||
<DD><A HREF="28-01.html#Heading1"><B>Chapter 28—Reading VGA Memory</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="28-01.html#Heading2">Read Modes 0 and 1, and the Color Don’t Care Register</A>
|
||||
|
|
@ -525,7 +525,7 @@
|
|||
<DD><A HREF="28-04.html#Heading5">When all Planes “Don’t Care”</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="29-01.html#Heading1"><FONT SIZE="4"><B>Chapter 29—Saving Screens and Other VGA Mysteries</B></FONT></A>
|
||||
<DD><A HREF="29-01.html#Heading1"><B>Chapter 29—Saving Screens and Other VGA Mysteries</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="29-01.html#Heading2">Useful Nuggets from the VGA Zen File</A>
|
||||
|
|
@ -536,7 +536,7 @@
|
|||
<DD><A HREF="29-06.html#Heading7">Modifying VGA Registers</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="30-01.html#Heading1"><FONT SIZE="4"><B>Chapter 30—Video Est Omnis Divisa</B></FONT></A>
|
||||
<DD><A HREF="30-01.html#Heading1"><B>Chapter 30—Video Est Omnis Divisa</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="30-01.html#Heading2">The Joys and Galling Problems of Using Split Screens on the EGA and VGA</A>
|
||||
|
|
@ -556,7 +556,7 @@
|
|||
<DD><A HREF="30-07.html#Heading12">How Safe?</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="31-01.html#Heading1"><FONT SIZE="4"><B>Chapter 31—Higher 256-Color Resolution on the VGA</B></FONT></A>
|
||||
<DD><A HREF="31-01.html#Heading1"><B>Chapter 31—Higher 256-Color Resolution on the VGA</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="31-01.html#Heading2">When Is 320x200 Really 320x400?</A>
|
||||
|
|
@ -570,7 +570,7 @@
|
|||
<DD><A HREF="31-05.html#Heading8">Something to Think About</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="32-01.html#Heading1"><FONT SIZE="4"><B>Chapter 32—Be It Resolved: 360x480</B></FONT></A>
|
||||
<DD><A HREF="32-01.html#Heading1"><B>Chapter 32—Be It Resolved: 360x480</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="32-01.html#Heading2">Taking 256-Color Modes About as Far as the Standard VGA Can Take Them</A>
|
||||
|
|
@ -584,7 +584,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="33-01.html#Heading1"><FONT SIZE="4"><B>Chapter 33—Yogi Bear and Eurythmics Confront VGA Colors</B></FONT></A>
|
||||
<DD><A HREF="33-01.html#Heading1"><B>Chapter 33—Yogi Bear and Eurythmics Confront VGA Colors</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="33-01.html#Heading2">The Basics of VGA Color Generation</A>
|
||||
|
|
@ -601,7 +601,7 @@
|
|||
<DD><A HREF="33-03.html#Heading11">An Example of Setting the DAC</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="34-01.html#Heading1"><FONT SIZE="4"><B>Chapter 34—Changing Colors without Writing Pixels</B></FONT></A>
|
||||
<DD><A HREF="34-01.html#Heading1"><B>Chapter 34—Changing Colors without Writing Pixels</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="34-01.html#Heading2">Special Effects through Realtime Manipulation of DAC Colors</A>
|
||||
|
|
@ -621,7 +621,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="35-01.html#Heading1"><FONT SIZE="4"><B>Chapter 35—Bresenham Is Fast, and Fast Is Good</B></FONT></A>
|
||||
<DD><A HREF="35-01.html#Heading1"><B>Chapter 35—Bresenham Is Fast, and Fast Is Good</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="35-01.html#Heading2">Implementing and Optimizing Bresenham’s Line-Drawing Algorithm</A>
|
||||
|
|
@ -640,7 +640,7 @@
|
|||
<DD><A HREF="35-06.html#Heading11">Bresenham’s Algorithm in Assembly</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="36-01.html#Heading1"><FONT SIZE="4"><B>Chapter 36—The Good, the Bad, and the Run-Sliced</B></FONT></A>
|
||||
<DD><A HREF="36-01.html#Heading1"><B>Chapter 36—The Good, the Bad, and the Run-Sliced</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="36-01.html#Heading2">Faster Bresenham Lines with Run-Length Slice Line Drawing</A>
|
||||
|
|
@ -649,7 +649,7 @@
|
|||
<DD><A HREF="36-03.html#Heading5">Run-Length Slice Details</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="37-01.html#Heading1"><FONT SIZE="4"><B>Chapter 37—Dead Cats and Lightning Lines</B></FONT></A>
|
||||
<DD><A HREF="37-01.html#Heading1"><B>Chapter 37—Dead Cats and Lightning Lines</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="37-01.html#Heading2">Optimizing Run-Length Slice Line Drawing in a Major Way</A>
|
||||
|
|
@ -660,7 +660,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="38-01.html#Heading1"><FONT SIZE="4"><B>Chapter 38—The Polygon Primeval</B></FONT></A>
|
||||
<DD><A HREF="38-01.html#Heading1"><B>Chapter 38—The Polygon Primeval</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="38-01.html#Heading2">Drawing Polygons Efficiently and Quickly</A>
|
||||
|
|
@ -673,7 +673,7 @@
|
|||
<DD><A HREF="38-04.html#Heading7">Oddball Cases</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="39-01.html#Heading1"><FONT SIZE="4"><B>Chapter 39—Fast Convex Polygons</B></FONT></A>
|
||||
<DD><A HREF="39-01.html#Heading1"><B>Chapter 39—Fast Convex Polygons</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="39-01.html#Heading2">Filling Polygons in a Hurry</A>
|
||||
|
|
@ -689,7 +689,7 @@
|
|||
<DD><A HREF="39-04.html#Heading8">Faster Edge Tracing</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="40-01.html#Heading1"><FONT SIZE="4"><B>Chapter 40—Of Songs, Taxes, and the Simplicity of Complex Polygons</B></FONT></A>
|
||||
<DD><A HREF="40-01.html#Heading1"><B>Chapter 40—Of Songs, Taxes, and the Simplicity of Complex Polygons</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="40-01.html#Heading2">Dealing with Irregular Polygonal Areas</A>
|
||||
|
|
@ -708,14 +708,14 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="41-01.html#Heading1"><FONT SIZE="4"><B>Chapter 41—Those Way-Down Polygon Nomenclature Blues</B></FONT></A>
|
||||
<DD><A HREF="41-01.html#Heading1"><B>Chapter 41—Those Way-Down Polygon Nomenclature Blues</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="41-01.html#Heading2">Names Do Matter when You Conceptualize a Data Structure</A>
|
||||
<DD><A HREF="41-01.html#Heading3">Nomenclature in Action</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="42-01.html#Heading1"><FONT SIZE="4"><B>Chapter 42—Wu’ed in Haste; Fried, Stewed at Leisure</B></FONT></A>
|
||||
<DD><A HREF="42-01.html#Heading1"><B>Chapter 42—Wu’ed in Haste; Fried, Stewed at Leisure</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="42-01.html#Heading2">Fast Antialiased Lines Using Wu’s Algorithm</A>
|
||||
|
|
@ -727,7 +727,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="43-01.html#Heading1"><FONT SIZE="4"><B>Chapter 43—Bit-Plane Animation</B></FONT></A>
|
||||
<DD><A HREF="43-01.html#Heading1"><B>Chapter 43—Bit-Plane Animation</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="43-01.html#Heading2">A Simple and Extremely Fast Animation Method for Limited Color</A>
|
||||
|
|
@ -741,7 +741,7 @@
|
|||
<DD><A HREF="43-06.html#Heading8">Beating the Odds in the Jaw-Dropping Contest</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="44-01.html#Heading1"><FONT SIZE="4"><B>Chapter 44—Split Screens Save the Page Flipped Day</B></FONT></A>
|
||||
<DD><A HREF="44-01.html#Heading1"><B>Chapter 44—Split Screens Save the Page Flipped Day</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="44-01.html#Heading2">640x480 Page Flipped Animation in 64K...Almost</A>
|
||||
|
|
@ -758,7 +758,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="45-01.html#Heading1"><FONT SIZE="4"><B>Chapter 45—Dog Hair and Dirty Rectangles</B></FONT></A>
|
||||
<DD><A HREF="45-01.html#Heading1"><B>Chapter 45—Dog Hair and Dirty Rectangles</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="45-01.html#Heading2">Different Angles on Animation</A>
|
||||
|
|
@ -773,7 +773,7 @@
|
|||
<DD><A HREF="45-06.html#Heading9">Another Interesting Twist on Page Flipping</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="46-01.html#Heading1"><FONT SIZE="4"><B>Chapter 46—Who Was that Masked Image?</B></FONT></A>
|
||||
<DD><A HREF="46-01.html#Heading1"><B>Chapter 46—Who Was that Masked Image?</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="46-01.html#Heading2">Optimizing Dirty-Rectangle Animation</A>
|
||||
|
|
@ -788,7 +788,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="47-01.html#Heading1"><FONT SIZE="4"><B>Chapter 47—Mode X: 256-Color VGA Magic</B></FONT></A>
|
||||
<DD><A HREF="47-01.html#Heading1"><B>Chapter 47—Mode X: 256-Color VGA Magic</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="47-01.html#Heading2">Introducing the VGA’s Undocumented “Animation-Optimal” Mode</A>
|
||||
|
|
@ -798,7 +798,7 @@
|
|||
<DD><A HREF="47-06.html#Heading6">Hardware Assist from an Unexpected Quarter</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="48-01.html#Heading1"><FONT SIZE="4"><B>Chapter 48—Mode X Marks the Latch</B></FONT></A>
|
||||
<DD><A HREF="48-01.html#Heading1"><B>Chapter 48—Mode X Marks the Latch</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="48-01.html#Heading2">The Internals of Animation’s Best Video Display Mode</A>
|
||||
|
|
@ -810,7 +810,7 @@
|
|||
<DD><A HREF="48-05.html#Heading6">Who Was that Masked Image Copier?</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="49-01.html#Heading1"><FONT SIZE="4"><B>Chapter 49—Mode X 256-Color Animation</B></FONT></A>
|
||||
<DD><A HREF="49-01.html#Heading1"><B>Chapter 49—Mode X 256-Color Animation</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="49-01.html#Heading2">How to Make the VGA Really Get up and Dance</A>
|
||||
|
|
@ -824,7 +824,7 @@
|
|||
<DD><A HREF="49-05.html#Heading8">Works Fast, Looks Great</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="50-01.html#Heading1"><FONT SIZE="4"><B>Chapter 50—Adding a Dimension</B></FONT></A>
|
||||
<DD><A HREF="50-01.html#Heading1"><B>Chapter 50—Adding a Dimension</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="50-01.html#Heading2">3-D Animation Using Mode X</A>
|
||||
|
|
@ -842,7 +842,7 @@
|
|||
<DD><A HREF="50-07.html#Heading10">An Ongoing Journey</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="51-01.html#Heading1"><FONT SIZE="4"><B>Chapter 51—Sneakers in Space</B></FONT></A>
|
||||
<DD><A HREF="51-01.html#Heading1"><B>Chapter 51—Sneakers in Space</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="51-01.html#Heading2">Using Backface Removal to Eliminate Hidden Surfaces</A>
|
||||
|
|
@ -855,7 +855,7 @@
|
|||
<DD><A HREF="51-06.html#Heading7">Object Representation</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="52-01.html#Heading1"><FONT SIZE="4"><B>Chapter 52—Fast 3-D Animation: Meet X-Sharp</B></FONT></A>
|
||||
<DD><A HREF="52-01.html#Heading1"><B>Chapter 52—Fast 3-D Animation: Meet X-Sharp</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="52-01.html#Heading2">The First Iteration of a Generalized 3-D Animation Package</A>
|
||||
|
|
@ -868,7 +868,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="53-01.html#Heading1"><FONT SIZE="4"><B>Chapter 53—Raw Speed and More</B></FONT></A>
|
||||
<DD><A HREF="53-01.html#Heading1"><B>Chapter 53—Raw Speed and More</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="53-01.html#Heading2">The Naked Truth About Speed in 3-D Animation</A>
|
||||
|
|
@ -880,7 +880,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="54-01.html#Heading1"><FONT SIZE="4"><B>Chapter 54—3-D Shading</B></FONT></A>
|
||||
<DD><A HREF="54-01.html#Heading1"><B>Chapter 54—3-D Shading</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="54-01.html#Heading2">Putting Realistic Surfaces on Animated 3-D Objects</A>
|
||||
|
|
@ -895,7 +895,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="55-01.html#Heading1"><FONT SIZE="4"><B>Chapter 55—Color Modeling in 256-Color Mode</B></FONT></A>
|
||||
<DD><A HREF="55-01.html#Heading1"><B>Chapter 55—Color Modeling in 256-Color Mode</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="55-01.html#Heading2">Pondering X-Sharp’s Color Model in an RGB State of Mind</A>
|
||||
|
|
@ -905,7 +905,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="56-01.html#Heading1"><FONT SIZE="4"><B>Chapter 56—Pooh and the Space Station</B></FONT></A>
|
||||
<DD><A HREF="56-01.html#Heading1"><B>Chapter 56—Pooh and the Space Station</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="56-01.html#Heading2">Using Fast Texture Mapping to Place Pooh on a Polygon</A>
|
||||
|
|
@ -916,7 +916,7 @@
|
|||
<DD><A HREF="56-03.html#Heading5">Fast Texture Mapping: An Implementation</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="57-01.html#Heading1"><FONT SIZE="4"><B>Chapter 57—10,000 Freshly Sheared Sheep on the Screen</B></FONT></A>
|
||||
<DD><A HREF="57-01.html#Heading1"><B>Chapter 57—10,000 Freshly Sheared Sheep on the Screen</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="57-01.html#Heading2">The Critical Role of Experience in Implementing Fast, Smooth Texture Mapping</A>
|
||||
|
|
@ -931,7 +931,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="58-01.html#Heading1"><FONT SIZE="4"><B>Chapter 58—Heinlein’s Crystal Ball, Spock’s Brain, and the 9-Cycle Dare</B></FONT></A>
|
||||
<DD><A HREF="58-01.html#Heading1"><B>Chapter 58—Heinlein’s Crystal Ball, Spock’s Brain, and the 9-Cycle Dare</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="58-01.html#Heading2">Using the Whole-Brain Approach to Accelerate Texture Mapping</A>
|
||||
|
|
@ -947,7 +947,7 @@
|
|||
<DD><A HREF="58-05.html#Heading8">Texture Mapping Notes</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="59-01.html#Heading1"><FONT SIZE="4"><B>Chapter 59—The Idea of BSP Trees</B></FONT></A>
|
||||
<DD><A HREF="59-01.html#Heading1"><B>Chapter 59—The Idea of BSP Trees</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="59-01.html#Heading2">What BSP Trees Are and How to Walk Them</A>
|
||||
|
|
@ -971,7 +971,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="60-01.html#Heading1"><FONT SIZE="4"><B>Chapter 60—Compiling BSP Trees</B></FONT></A>
|
||||
<DD><A HREF="60-01.html#Heading1"><B>Chapter 60—Compiling BSP Trees</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="60-01.html#Heading2">Taking BSP Trees from Concept to Reality</A>
|
||||
|
|
@ -985,7 +985,7 @@
|
|||
<DD><A HREF="60-04.html#Heading8">BSP Optimization: an Undiscovered Country</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="61-01.html#Heading1"><FONT SIZE="4"><B>Chapter 61—Frames of Reference</B></FONT></A>
|
||||
<DD><A HREF="61-01.html#Heading1"><B>Chapter 61—Frames of Reference</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="61-01.html#Heading2">The Fundamentals of the Math behind 3-D Graphics</A>
|
||||
|
|
@ -1003,7 +1003,7 @@
|
|||
<DD><A HREF="61-04.html#Heading10">Rotation by Projection</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="62-01.html#Heading1"><FONT SIZE="4"><B>Chapter 62—One Story, Two Rules, and a BSP Renderer</B></FONT></A>
|
||||
<DD><A HREF="62-01.html#Heading1"><B>Chapter 62—One Story, Two Rules, and a BSP Renderer</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="62-01.html#Heading2">Taking a Compiled BSP Tree from Logical to Visual Reality</A>
|
||||
|
|
@ -1021,7 +1021,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="63-01.html#Heading1"><FONT SIZE="4"><B>Chapter 63—Floating-Point for Real-Time 3-D</B></FONT></A>
|
||||
<DD><A HREF="63-01.html#Heading1"><B>Chapter 63—Floating-Point for Real-Time 3-D</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="63-01.html#Heading2">Knowing When to Hurl Conventional Math Wisdom Out the Window</A>
|
||||
|
|
@ -1039,7 +1039,7 @@
|
|||
<DD><A HREF="63-04.html#Heading12">A Farewell to 3-D Fixed-Point</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="64-01.html#Heading1"><FONT SIZE="4"><B>Chapter 64—Quake’s Visible-Surface Determination</B></FONT></A>
|
||||
<DD><A HREF="64-01.html#Heading1"><B>Chapter 64—Quake’s Visible-Surface Determination</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="64-01.html#Heading2">The Challenge of Separating All Things Seen from All Things Unseen</A>
|
||||
|
|
@ -1065,7 +1065,7 @@
|
|||
<DD><A HREF="64-04.html#Heading18">References</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="65-01.html#Heading1"><FONT SIZE="4"><B>Chapter 65—3-D Clipping and Other Thoughts</B></FONT></A>
|
||||
<DD><A HREF="65-01.html#Heading1"><B>Chapter 65—3-D Clipping and Other Thoughts</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="65-01.html#Heading2">Determining What’s Inside Your Field of View</A>
|
||||
|
|
@ -1082,7 +1082,7 @@
|
|||
<DD><A HREF="65-04.html#Heading9">Further Reading</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="66-01.html#Heading1"><FONT SIZE="4"><B>Chapter 66—Quake’s Hidden-Surface Removal</B></FONT></A>
|
||||
<DD><A HREF="66-01.html#Heading1"><B>Chapter 66—Quake’s Hidden-Surface Removal</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="66-01.html#Heading2">Struggling with Z-Order Solutions to the Hidden Surface Problem</A>
|
||||
|
|
@ -1102,7 +1102,7 @@
|
|||
<DD><A HREF="66-04.html#Heading12">Decisions Deferred</A>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="67-01.html#Heading1"><FONT SIZE="4"><B>Chapter 67—Sorted Spans in Action</B></FONT></A>
|
||||
<DD><A HREF="67-01.html#Heading1"><B>Chapter 67—Sorted Spans in Action</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="67-01.html#Heading2">Implementing Independent Span Sorting for Rendering without Overdraw</A>
|
||||
|
|
@ -1119,7 +1119,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="68-01.html#Heading1"><FONT SIZE="4"><B>Chapter 68—Quake’s Lighting Model</B></FONT></A>
|
||||
<DD><A HREF="68-01.html#Heading1"><B>Chapter 68—Quake’s Lighting Model</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="68-01.html#Heading2">A Radically Different Approach to Lighting Polygons</A>
|
||||
|
|
@ -1141,7 +1141,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="69-01.html#Heading1"><FONT SIZE="4"><B>Chapter 69—Surface Caching and Quake’s Triangle Models</B></FONT></A>
|
||||
<DD><A HREF="69-01.html#Heading1"><B>Chapter 69—Surface Caching and Quake’s Triangle Models</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="69-01.html#Heading2">Probing Hardware-Assisted Surfaces and Fast Model Animation Without Sprites</A>
|
||||
|
|
@ -1160,7 +1160,7 @@
|
|||
</DL>
|
||||
</DL>
|
||||
</B></FONT>
|
||||
<DD><A HREF="70-01.html#Heading1"><FONT SIZE="4"><B>Chapter 70—Quake: A Post-Mortem and a Glimpse into the Future</B></FONT></A>
|
||||
<DD><A HREF="70-01.html#Heading1"><B>Chapter 70—Quake: A Post-Mortem and a Glimpse into the Future</B></A>
|
||||
<FONT SIZE="3"><B>
|
||||
<DL>
|
||||
<DD><A HREF="70-01.html#Heading2">Preprocessing the World</A>
|
||||
|
|
@ -1201,7 +1201,7 @@
|
|||
|
||||
<hr width="90%" size="1" noshade>
|
||||
<div align="center">
|
||||
<font face="Verdana,sans-serif" size="1">Graphics Programming Black Book © 2001 Michael Abrash</font>
|
||||
Graphics Programming Black Book © 2001 Michael Abrash
|
||||
</div>
|
||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||
<!-- reference_subfoot = footer -->
|
||||
|
|
|
|||
Loading…
Reference in a new issue