Unify headings
This commit is contained in:
parent
a9626d4001
commit
18f5ace919
76 changed files with 78 additions and 156 deletions
6
01-01.md
6
01-01.md
|
|
@ -10,12 +10,10 @@ chapter: '01'
|
|||
pages: 004-007
|
||||
---
|
||||
|
||||
*Part I* {align="center"}
|
||||
--------
|
||||
# *Part I* {align="center"}
|
||||
|
||||
Chapter 1\
|
||||
## Chapter 1\
|
||||
The Best Optimizer Is between Your Ears {#Heading1}
|
||||
----------------------------------------
|
||||
|
||||
### The Human Element of Code Optimization {#Heading2}
|
||||
|
||||
|
|
|
|||
3
02-01.md
3
02-01.md
|
|
@ -10,9 +10,8 @@ chapter: '02'
|
|||
pages: 021-025
|
||||
---
|
||||
|
||||
Chapter 2\
|
||||
## Chapter 2\
|
||||
A World Apart {#Heading1}
|
||||
--------------
|
||||
|
||||
### The Unique Nature of Assembly Language Optimization {#Heading2}
|
||||
|
||||
|
|
|
|||
3
03-01.md
3
03-01.md
|
|
@ -10,9 +10,8 @@ chapter: '03'
|
|||
pages: 031-035
|
||||
---
|
||||
|
||||
Chapter 3\
|
||||
## Chapter 3\
|
||||
Assume Nothing {#Heading1}
|
||||
---------------
|
||||
|
||||
### Understanding and Using the Zen Timer {#Heading2}
|
||||
|
||||
|
|
|
|||
3
04-01.md
3
04-01.md
|
|
@ -10,9 +10,8 @@ chapter: '04'
|
|||
pages: 075-080
|
||||
---
|
||||
|
||||
Chapter 4\
|
||||
## Chapter 4\
|
||||
In the Lair of the Cycle-Eaters {#Heading1}
|
||||
--------------------------------
|
||||
|
||||
### How the PC Hardware Devours Code Performance {#Heading2}
|
||||
|
||||
|
|
|
|||
3
05-01.md
3
05-01.md
|
|
@ -10,9 +10,8 @@ chapter: '05'
|
|||
pages: 111-115
|
||||
---
|
||||
|
||||
Chapter 5\
|
||||
## Chapter 5\
|
||||
Crossing the Border {#Heading1}
|
||||
--------------------
|
||||
|
||||
### Searching Files with Restartable Blocks {#Heading2}
|
||||
|
||||
|
|
|
|||
3
06-01.md
3
06-01.md
|
|
@ -10,9 +10,8 @@ chapter: '06'
|
|||
pages: 125-129
|
||||
---
|
||||
|
||||
Chapter 6\
|
||||
## Chapter 6\
|
||||
Looking Past Face Value {#Heading1}
|
||||
------------------------
|
||||
|
||||
### How Machine Instructions May Do More Than You Think {#Heading2}
|
||||
|
||||
|
|
|
|||
3
07-01.md
3
07-01.md
|
|
@ -10,9 +10,8 @@ chapter: '07'
|
|||
pages: 136-139
|
||||
---
|
||||
|
||||
Chapter 7\
|
||||
## Chapter 7\
|
||||
Local Optimization {#Heading1}
|
||||
-------------------
|
||||
|
||||
### Optimizing Halfway between Algorithms and Cycle Counting {#Heading2}
|
||||
|
||||
|
|
|
|||
3
08-01.md
3
08-01.md
|
|
@ -10,9 +10,8 @@ chapter: 08
|
|||
pages: 149-153
|
||||
---
|
||||
|
||||
Chapter 8\
|
||||
## Chapter 8\
|
||||
Speeding Up C with Assembly Language {#Heading1}
|
||||
-------------------------------------
|
||||
|
||||
### Jumping Languages When You Know It'll Help {#Heading2}
|
||||
|
||||
|
|
|
|||
3
09-01.md
3
09-01.md
|
|
@ -10,9 +10,8 @@ chapter: 09
|
|||
pages: 167-172
|
||||
---
|
||||
|
||||
Chapter 9\
|
||||
## Chapter 9\
|
||||
Hints My Readers Gave Me {#Heading1}
|
||||
-------------------------
|
||||
|
||||
### Optimization Odds and Ends from the Field {#Heading2}
|
||||
|
||||
|
|
|
|||
3
10-01.md
3
10-01.md
|
|
@ -10,9 +10,8 @@ chapter: '10'
|
|||
pages: 190-193
|
||||
---
|
||||
|
||||
Chapter 10\
|
||||
## Chapter 10\
|
||||
Patient Coding, Faster Code {#Heading1}
|
||||
----------------------------
|
||||
|
||||
### How Working Quickly Can Bring Execution to a Crawl {#Heading2}
|
||||
|
||||
|
|
|
|||
3
11-01.md
3
11-01.md
|
|
@ -10,9 +10,8 @@ chapter: '11'
|
|||
pages: 205-210
|
||||
---
|
||||
|
||||
Chapter 11\
|
||||
## Chapter 11\
|
||||
Pushing the 286 and 386 {#Heading1}
|
||||
------------------------
|
||||
|
||||
### New Registers, New Instructions, New Timings, New Complications {#Heading2}
|
||||
|
||||
|
|
|
|||
3
12-01.md
3
12-01.md
|
|
@ -10,9 +10,8 @@ chapter: '12'
|
|||
pages: 233-237
|
||||
---
|
||||
|
||||
Chapter 12\
|
||||
## Chapter 12\
|
||||
Pushing the 486 {#Heading1}
|
||||
----------------
|
||||
|
||||
### It's Not Just a Bigger 386 {#Heading2}
|
||||
|
||||
|
|
|
|||
3
13-01.md
3
13-01.md
|
|
@ -10,9 +10,8 @@ chapter: '13'
|
|||
pages: 248-251
|
||||
---
|
||||
|
||||
Chapter 13\
|
||||
## Chapter 13\
|
||||
Aiming the 486 {#Heading1}
|
||||
---------------
|
||||
|
||||
### Pipelines and Other Hazards of the High End {#Heading2}
|
||||
|
||||
|
|
|
|||
3
14-01.md
3
14-01.md
|
|
@ -10,9 +10,8 @@ chapter: '14'
|
|||
pages: 260-263
|
||||
---
|
||||
|
||||
Chapter 14\
|
||||
## Chapter 14\
|
||||
Boyer-Moore String Searching {#Heading1}
|
||||
-----------------------------
|
||||
|
||||
### Optimizing a Pretty Optimum Search Algorithm {#Heading2}
|
||||
|
||||
|
|
|
|||
3
15-01.md
3
15-01.md
|
|
@ -10,9 +10,8 @@ chapter: '15'
|
|||
pages: 279-284
|
||||
---
|
||||
|
||||
Chapter 15\
|
||||
## Chapter 15\
|
||||
Linked Lists and plain Unintended Challenges {#Heading1}
|
||||
---------------------------------------------
|
||||
|
||||
### Unfamiliar Problems with Familiar Data Structures {#Heading2}
|
||||
|
||||
|
|
|
|||
3
16-01.md
3
16-01.md
|
|
@ -10,9 +10,8 @@ chapter: '16'
|
|||
pages: 295-300
|
||||
---
|
||||
|
||||
Chapter 16\
|
||||
## Chapter 16\
|
||||
There Ain't No Such Thing as the Fastest Code {#Heading1}
|
||||
----------------------------------------------
|
||||
|
||||
### Lessons Learned in the Pursuit of the Ultimate Word Counter {#Heading2}
|
||||
|
||||
|
|
|
|||
3
17-01.md
3
17-01.md
|
|
@ -10,9 +10,8 @@ chapter: '17'
|
|||
pages: 322-325
|
||||
---
|
||||
|
||||
Chapter 17\
|
||||
## Chapter 17\
|
||||
The Game of Life {#Heading1}
|
||||
-----------------
|
||||
|
||||
### The Triumph of Algorithmic Optimization in a Cellular Automata Game {#Heading2}
|
||||
|
||||
|
|
|
|||
3
18-01.md
3
18-01.md
|
|
@ -10,9 +10,8 @@ chapter: '18'
|
|||
pages: 347-351
|
||||
---
|
||||
|
||||
Chapter 18\
|
||||
## Chapter 18\
|
||||
It's a plain Wonderful Life {#Heading1}
|
||||
----------------------------
|
||||
|
||||
### Optimization beyond the Pale {#Heading2}
|
||||
|
||||
|
|
|
|||
3
19-01.md
3
19-01.md
|
|
@ -10,9 +10,8 @@ chapter: '19'
|
|||
pages: 369-373
|
||||
---
|
||||
|
||||
Chapter 19\
|
||||
## Chapter 19\
|
||||
Pentium: Not the Same Old Song {#Heading1}
|
||||
-------------------------------
|
||||
|
||||
### Learning a Whole Different Set of Optimization Rules {#Heading2}
|
||||
|
||||
|
|
|
|||
3
20-01.md
3
20-01.md
|
|
@ -10,9 +10,8 @@ chapter: '20'
|
|||
pages: 381-386
|
||||
---
|
||||
|
||||
Chapter 20\
|
||||
## Chapter 20\
|
||||
Pentium Rules {#Heading1}
|
||||
--------------
|
||||
|
||||
### How Your Carbon-Based Optimizer Can Put the "Super" in Superscalar {#Heading2}
|
||||
|
||||
|
|
|
|||
3
21-01.md
3
21-01.md
|
|
@ -10,9 +10,8 @@ chapter: '21'
|
|||
pages: 397-402
|
||||
---
|
||||
|
||||
Chapter 21\
|
||||
## Chapter 21\
|
||||
Unleashing the Pentium's V-Pipe {#Heading1}
|
||||
--------------------------------
|
||||
|
||||
### Focusing on Keeping Both Pentium Pipes Full {#Heading2}
|
||||
|
||||
|
|
|
|||
3
22-01.md
3
22-01.md
|
|
@ -10,9 +10,8 @@ chapter: '22'
|
|||
pages: 413-417
|
||||
---
|
||||
|
||||
Chapter 22\
|
||||
## Chapter 22\
|
||||
Zenning and the Flexible Mind {#Heading1}
|
||||
------------------------------
|
||||
|
||||
### Taking a Spin through What You've Learned {#Heading2}
|
||||
|
||||
|
|
|
|||
6
23-01.md
6
23-01.md
|
|
@ -10,12 +10,10 @@ chapter: '23'
|
|||
pages: 423-427
|
||||
---
|
||||
|
||||
*Part II* {align="center"}
|
||||
---------
|
||||
# *Part II* {align="center"}
|
||||
|
||||
Chapter 23\
|
||||
## Chapter 23\
|
||||
Bones and Sinew {#Heading1}
|
||||
----------------
|
||||
|
||||
### At the Very Heart of Standard PC Graphics {#Heading2}
|
||||
|
||||
|
|
|
|||
3
24-01.md
3
24-01.md
|
|
@ -10,9 +10,8 @@ chapter: '24'
|
|||
pages: 449-453
|
||||
---
|
||||
|
||||
Chapter 24\
|
||||
## Chapter 24\
|
||||
Parallel Processing with the VGA {#Heading1}
|
||||
---------------------------------
|
||||
|
||||
### Taking on Graphics Memory Four Bytes at a Time {#Heading2}
|
||||
|
||||
|
|
|
|||
3
25-01.md
3
25-01.md
|
|
@ -10,9 +10,8 @@ chapter: '25'
|
|||
pages: 461-466
|
||||
---
|
||||
|
||||
Chapter 25\
|
||||
## Chapter 25\
|
||||
VGA Data Machinery {#Heading1}
|
||||
-------------------
|
||||
|
||||
### The Barrel Shifter, Bit Mask, and Set/Reset Mechanisms {#Heading2}
|
||||
|
||||
|
|
|
|||
3
26-01.md
3
26-01.md
|
|
@ -10,9 +10,8 @@ chapter: '26'
|
|||
pages: 481-484
|
||||
---
|
||||
|
||||
Chapter 26\
|
||||
## Chapter 26\
|
||||
VGA Write Mode 3 {#Heading1}
|
||||
-----------------
|
||||
|
||||
### The Write Mode That Grows on You {#Heading2}
|
||||
|
||||
|
|
|
|||
3
27-01.md
3
27-01.md
|
|
@ -10,9 +10,8 @@ chapter: '27'
|
|||
pages: 499-504
|
||||
---
|
||||
|
||||
Chapter 27\
|
||||
## Chapter 27\
|
||||
Yet Another VGA Write Mode {#Heading1}
|
||||
---------------------------
|
||||
|
||||
### Write Mode 2, Chunky Bitmaps,and Text-Graphics Coexistence {#Heading2}
|
||||
|
||||
|
|
|
|||
3
28-01.md
3
28-01.md
|
|
@ -10,9 +10,8 @@ chapter: '28'
|
|||
pages: 523-526
|
||||
---
|
||||
|
||||
Chapter 28\
|
||||
## Chapter 28\
|
||||
Reading VGA Memory {#Heading1}
|
||||
-------------------
|
||||
|
||||
### Read Modes 0 and 1, and the Color Don't Care Register {#Heading2}
|
||||
|
||||
|
|
|
|||
3
29-01.md
3
29-01.md
|
|
@ -10,9 +10,8 @@ chapter: '29'
|
|||
pages: 539-545
|
||||
---
|
||||
|
||||
Chapter 29\
|
||||
## Chapter 29\
|
||||
Saving Screens and Other VGA Mysteries {#Heading1}
|
||||
---------------------------------------
|
||||
|
||||
### Useful Nuggets from the VGA Zen File {#Heading2}
|
||||
|
||||
|
|
|
|||
3
30-01.md
3
30-01.md
|
|
@ -10,9 +10,8 @@ chapter: '30'
|
|||
pages: 561-566
|
||||
---
|
||||
|
||||
Chapter 30\
|
||||
## Chapter 30\
|
||||
Video Est Omnis Divisa {#Heading1}
|
||||
-----------------------
|
||||
|
||||
### The Joys and Galling Problems of Using Split Screens on the EGA and VGA {#Heading2}
|
||||
|
||||
|
|
|
|||
3
31-01.md
3
31-01.md
|
|
@ -10,9 +10,8 @@ chapter: '31'
|
|||
pages: 587-591
|
||||
---
|
||||
|
||||
Chapter 31\
|
||||
## Chapter 31\
|
||||
Higher 256-Color Resolution on the VGA {#Heading1}
|
||||
---------------------------------------
|
||||
|
||||
### When Is 320x200 Really 320x400? {#Heading2}
|
||||
|
||||
|
|
|
|||
3
32-01.md
3
32-01.md
|
|
@ -10,9 +10,8 @@ chapter: '32'
|
|||
pages: 607-611
|
||||
---
|
||||
|
||||
Chapter 32\
|
||||
## Chapter 32\
|
||||
Be It Resolved: 360x480 {#Heading1}
|
||||
------------------------
|
||||
|
||||
### Taking 256-Color Modes About as Far as the Standard VGA Can Take Them {#Heading2}
|
||||
|
||||
|
|
|
|||
3
33-01.md
3
33-01.md
|
|
@ -10,9 +10,8 @@ chapter: '33'
|
|||
pages: 623-628
|
||||
---
|
||||
|
||||
Chapter 33\
|
||||
## Chapter 33\
|
||||
Yogi Bear and Eurythmics Confront VGA Colors {#Heading1}
|
||||
---------------------------------------------
|
||||
|
||||
### The Basics of VGA Color Generation {#Heading2}
|
||||
|
||||
|
|
|
|||
3
34-01.md
3
34-01.md
|
|
@ -10,9 +10,8 @@ chapter: '34'
|
|||
pages: 637-641
|
||||
---
|
||||
|
||||
Chapter 34\
|
||||
## Chapter 34\
|
||||
Changing Colors without Writing Pixels {#Heading1}
|
||||
---------------------------------------
|
||||
|
||||
### Special Effects through Realtime Manipulation of DAC Colors {#Heading2}
|
||||
|
||||
|
|
|
|||
3
35-01.md
3
35-01.md
|
|
@ -10,9 +10,8 @@ chapter: '35'
|
|||
pages: 653-658
|
||||
---
|
||||
|
||||
Chapter 35\
|
||||
## Chapter 35\
|
||||
Bresenham Is Fast, and Fast Is Good {#Heading1}
|
||||
------------------------------------
|
||||
|
||||
### Implementing and Optimizing Bresenham's Line-Drawing Algorithm {#Heading2}
|
||||
|
||||
|
|
|
|||
3
36-01.md
3
36-01.md
|
|
@ -10,9 +10,8 @@ chapter: '36'
|
|||
pages: 679-683
|
||||
---
|
||||
|
||||
Chapter 36\
|
||||
## Chapter 36\
|
||||
The Good, the Bad, and the Run-Sliced {#Heading1}
|
||||
--------------------------------------
|
||||
|
||||
### Faster Bresenham Lines with Run-Length Slice Line Drawing {#Heading2}
|
||||
|
||||
|
|
|
|||
3
37-01.md
3
37-01.md
|
|
@ -10,9 +10,8 @@ chapter: '37'
|
|||
pages: 695-704
|
||||
---
|
||||
|
||||
Chapter 37\
|
||||
## Chapter 37\
|
||||
Dead Cats and Lightning Lines {#Heading1}
|
||||
------------------------------
|
||||
|
||||
### Optimizing Run-Length Slice Line Drawing in a Major Way {#Heading2}
|
||||
|
||||
|
|
|
|||
3
38-01.md
3
38-01.md
|
|
@ -10,9 +10,8 @@ chapter: '38'
|
|||
pages: 707-712
|
||||
---
|
||||
|
||||
Chapter 38\
|
||||
## Chapter 38\
|
||||
The Polygon Primeval {#Heading1}
|
||||
---------------------
|
||||
|
||||
### Drawing Polygons Efficiently and Quickly {#Heading2}
|
||||
|
||||
|
|
|
|||
3
39-01.md
3
39-01.md
|
|
@ -10,9 +10,8 @@ chapter: '39'
|
|||
pages: 723-727
|
||||
---
|
||||
|
||||
Chapter 39\
|
||||
## Chapter 39\
|
||||
Fast Convex Polygons {#Heading1}
|
||||
---------------------
|
||||
|
||||
### Filling Polygons in a Hurry {#Heading2}
|
||||
|
||||
|
|
|
|||
3
40-01.md
3
40-01.md
|
|
@ -10,9 +10,8 @@ chapter: '40'
|
|||
pages: 739-744
|
||||
---
|
||||
|
||||
Chapter 40\
|
||||
## Chapter 40\
|
||||
Of Songs, Taxes, and the Simplicity of Complex Polygons {#Heading1}
|
||||
--------------------------------------------------------
|
||||
|
||||
### Dealing with Irregular Polygonal Areas {#Heading2}
|
||||
|
||||
|
|
|
|||
3
41-01.md
3
41-01.md
|
|
@ -10,9 +10,8 @@ chapter: '41'
|
|||
pages: 757-761
|
||||
---
|
||||
|
||||
Chapter 41\
|
||||
## Chapter 41\
|
||||
Those Way-Down Polygon Nomenclature Blues {#Heading1}
|
||||
------------------------------------------
|
||||
|
||||
### Names Do Matter when You Conceptualize a Data Structure {#Heading2}
|
||||
|
||||
|
|
|
|||
3
42-01.md
3
42-01.md
|
|
@ -10,9 +10,8 @@ chapter: '42'
|
|||
pages: 773-778
|
||||
---
|
||||
|
||||
Chapter 42\
|
||||
## Chapter 42\
|
||||
Wu'ed in Haste; Fried, Stewed at Leisure {#Heading1}
|
||||
-----------------------------------------
|
||||
|
||||
### Fast Antialiased Lines Using Wu's Algorithm {#Heading2}
|
||||
|
||||
|
|
|
|||
3
43-01.md
3
43-01.md
|
|
@ -10,9 +10,8 @@ chapter: '43'
|
|||
pages: 793-799
|
||||
---
|
||||
|
||||
Chapter 43\
|
||||
## Chapter 43\
|
||||
Bit-Plane Animation {#Heading1}
|
||||
--------------------
|
||||
|
||||
### A Simple and Extremely Fast Animation Method for Limited Color {#Heading2}
|
||||
|
||||
|
|
|
|||
3
44-01.md
3
44-01.md
|
|
@ -10,9 +10,8 @@ chapter: '44'
|
|||
pages: 817-820
|
||||
---
|
||||
|
||||
Chapter 44\
|
||||
## Chapter 44\
|
||||
Split Screens Save the Page Flipped Day {#Heading1}
|
||||
----------------------------------------
|
||||
|
||||
### 640x480 Page Flipped Animation in 64K...Almost {#Heading2}
|
||||
|
||||
|
|
|
|||
3
45-01.md
3
45-01.md
|
|
@ -10,9 +10,8 @@ chapter: '45'
|
|||
pages: 839-843
|
||||
---
|
||||
|
||||
Chapter 45\
|
||||
## Chapter 45\
|
||||
Dog Hair and Dirty Rectangles {#Heading1}
|
||||
------------------------------
|
||||
|
||||
### Different Angles on Animation {#Heading2}
|
||||
|
||||
|
|
|
|||
3
46-01.md
3
46-01.md
|
|
@ -10,9 +10,8 @@ chapter: '46'
|
|||
pages: 859-862
|
||||
---
|
||||
|
||||
Chapter 46\
|
||||
## Chapter 46\
|
||||
Who Was that Masked Image? {#Heading1}
|
||||
---------------------------
|
||||
|
||||
### Optimizing Dirty-Rectangle Animation {#Heading2}
|
||||
|
||||
|
|
|
|||
3
47-01.md
3
47-01.md
|
|
@ -10,9 +10,8 @@ chapter: '47'
|
|||
pages: 875-879
|
||||
---
|
||||
|
||||
Chapter 47\
|
||||
## Chapter 47\
|
||||
Mode X: 256-Color VGA Magic {#Heading1}
|
||||
----------------------------
|
||||
|
||||
### Introducing the VGA's Undocumented "Animation-Optimal" Mode {#Heading2}
|
||||
|
||||
|
|
|
|||
3
48-01.md
3
48-01.md
|
|
@ -10,9 +10,8 @@ chapter: '48'
|
|||
pages: 895-900
|
||||
---
|
||||
|
||||
Chapter 48\
|
||||
## Chapter 48\
|
||||
Mode X Marks the Latch {#Heading1}
|
||||
-----------------------
|
||||
|
||||
### The Internals of Animation's Best Video Display Mode {#Heading2}
|
||||
|
||||
|
|
|
|||
3
49-01.md
3
49-01.md
|
|
@ -10,9 +10,8 @@ chapter: '49'
|
|||
pages: 913-918
|
||||
---
|
||||
|
||||
Chapter 49\
|
||||
## Chapter 49\
|
||||
Mode X 256-Color Animation {#Heading1}
|
||||
---------------------------
|
||||
|
||||
### How to Make the VGA Really Get up and Dance {#Heading2}
|
||||
|
||||
|
|
|
|||
3
50-01.md
3
50-01.md
|
|
@ -10,9 +10,8 @@ chapter: '50'
|
|||
pages: 931-935
|
||||
---
|
||||
|
||||
Chapter 50\
|
||||
## Chapter 50\
|
||||
Adding a Dimension {#Heading1}
|
||||
-------------------
|
||||
|
||||
### 3-D Animation Using Mode X {#Heading2}
|
||||
|
||||
|
|
|
|||
3
51-01.md
3
51-01.md
|
|
@ -10,9 +10,8 @@ chapter: '51'
|
|||
pages: 951-955
|
||||
---
|
||||
|
||||
Chapter 51\
|
||||
## Chapter 51\
|
||||
Sneakers in Space {#Heading1}
|
||||
------------------
|
||||
|
||||
### Using Backface Removal to Eliminate Hidden Surfaces {#Heading2}
|
||||
|
||||
|
|
|
|||
3
52-01.md
3
52-01.md
|
|
@ -10,9 +10,8 @@ chapter: '52'
|
|||
pages: 969-972
|
||||
---
|
||||
|
||||
Chapter 52\
|
||||
## Chapter 52\
|
||||
Fast 3-D Animation: Meet X-Sharp {#Heading1}
|
||||
---------------------------------
|
||||
|
||||
### The First Iteration of a Generalized 3-D Animation Package {#Heading2}
|
||||
|
||||
|
|
|
|||
3
53-01.md
3
53-01.md
|
|
@ -10,9 +10,8 @@ chapter: '53'
|
|||
pages: 989-992
|
||||
---
|
||||
|
||||
Chapter 53\
|
||||
## Chapter 53\
|
||||
Raw Speed and More {#Heading1}
|
||||
-------------------
|
||||
|
||||
### The Naked Truth About Speed in 3-D Animation {#Heading2}
|
||||
|
||||
|
|
|
|||
3
54-01.md
3
54-01.md
|
|
@ -10,9 +10,8 @@ chapter: '54'
|
|||
pages: 1005-1008
|
||||
---
|
||||
|
||||
Chapter 54\
|
||||
## Chapter 54\
|
||||
3-D Shading {#Heading1}
|
||||
------------
|
||||
|
||||
### Putting Realistic Surfaces on Animated 3-D Objects {#Heading2}
|
||||
|
||||
|
|
|
|||
3
55-01.md
3
55-01.md
|
|
@ -10,9 +10,8 @@ chapter: '55'
|
|||
pages: 1031-1035
|
||||
---
|
||||
|
||||
Chapter 55\
|
||||
## Chapter 55\
|
||||
Color Modeling in 256-Color Mode {#Heading1}
|
||||
---------------------------------
|
||||
|
||||
### Pondering X-Sharp's Color Model in an RGB State of Mind {#Heading2}
|
||||
|
||||
|
|
|
|||
3
56-01.md
3
56-01.md
|
|
@ -10,9 +10,8 @@ chapter: '56'
|
|||
pages: 1046-1050
|
||||
---
|
||||
|
||||
Chapter 56\
|
||||
## Chapter 56\
|
||||
Pooh and the Space Station {#Heading1}
|
||||
---------------------------
|
||||
|
||||
### Using Fast Texture Mapping to Place Pooh on a Polygon {#Heading2}
|
||||
|
||||
|
|
|
|||
3
57-01.md
3
57-01.md
|
|
@ -10,9 +10,8 @@ chapter: '57'
|
|||
pages: 1061-1065
|
||||
---
|
||||
|
||||
Chapter 57\
|
||||
## Chapter 57\
|
||||
10,000 Freshly Sheared Sheep on the Screen {#Heading1}
|
||||
-------------------------------------------
|
||||
|
||||
### The Critical Role of Experience in Implementing Fast, Smooth Texture Mapping {#Heading2}
|
||||
|
||||
|
|
|
|||
3
58-01.md
3
58-01.md
|
|
@ -10,9 +10,8 @@ chapter: '58'
|
|||
pages: 1077-1081
|
||||
---
|
||||
|
||||
Chapter 58\
|
||||
## Chapter 58\
|
||||
Heinlein's Crystal Ball, Spock's Brain, and the 9-Cycle Dare {#Heading1}
|
||||
-------------------------------------------------------------
|
||||
|
||||
### Using the Whole-Brain Approach to Accelerate Texture Mapping {#Heading2}
|
||||
|
||||
|
|
|
|||
3
59-01.md
3
59-01.md
|
|
@ -10,9 +10,8 @@ chapter: '59'
|
|||
pages: 1095-1099
|
||||
---
|
||||
|
||||
Chapter 59\
|
||||
## Chapter 59\
|
||||
The Idea of BSP Trees {#Heading1}
|
||||
----------------------
|
||||
|
||||
### What BSP Trees Are and How to Walk Them {#Heading2}
|
||||
|
||||
|
|
|
|||
3
60-01.md
3
60-01.md
|
|
@ -10,9 +10,8 @@ chapter: '60'
|
|||
pages: 1115-1119
|
||||
---
|
||||
|
||||
Chapter 60\
|
||||
## Chapter 60\
|
||||
Compiling BSP Trees {#Heading1}
|
||||
--------------------
|
||||
|
||||
### Taking BSP Trees from Concept to Reality {#Heading2}
|
||||
|
||||
|
|
|
|||
3
61-01.md
3
61-01.md
|
|
@ -10,9 +10,8 @@ chapter: '61'
|
|||
pages: 1131-1135
|
||||
---
|
||||
|
||||
Chapter 61\
|
||||
## Chapter 61\
|
||||
Frames of Reference {#Heading1}
|
||||
--------------------
|
||||
|
||||
### The Fundamentals of the Math behind 3-D Graphics {#Heading2}
|
||||
|
||||
|
|
|
|||
3
62-01.md
3
62-01.md
|
|
@ -10,9 +10,8 @@ chapter: '62'
|
|||
pages: 1145-1149
|
||||
---
|
||||
|
||||
Chapter 62\
|
||||
## Chapter 62\
|
||||
One Story, Two Rules, and a BSP Renderer {#Heading1}
|
||||
-----------------------------------------
|
||||
|
||||
### Taking a Compiled BSP Tree from Logical to Visual Reality {#Heading2}
|
||||
|
||||
|
|
|
|||
3
63-01.md
3
63-01.md
|
|
@ -10,9 +10,8 @@ chapter: '63'
|
|||
pages: 1163-1167
|
||||
---
|
||||
|
||||
Chapter 63\
|
||||
## Chapter 63\
|
||||
Floating-Point for Real-Time 3-D {#Heading1}
|
||||
---------------------------------
|
||||
|
||||
### Knowing When to Hurl Conventional Math Wisdom Out the Window {#Heading2}
|
||||
|
||||
|
|
|
|||
3
64-01.md
3
64-01.md
|
|
@ -10,9 +10,8 @@ chapter: '64'
|
|||
pages: 1177-1181
|
||||
---
|
||||
|
||||
Chapter 64\
|
||||
## Chapter 64\
|
||||
Quake's Visible-Surface Determination {#Heading1}
|
||||
--------------------------------------
|
||||
|
||||
### The Challenge of Separating All Things Seen from All Things Unseen {#Heading2}
|
||||
|
||||
|
|
|
|||
3
65-01.md
3
65-01.md
|
|
@ -10,9 +10,8 @@ chapter: '65'
|
|||
pages: 1191-1195
|
||||
---
|
||||
|
||||
Chapter 65\
|
||||
## Chapter 65\
|
||||
3-D Clipping and Other Thoughts {#Heading1}
|
||||
--------------------------------
|
||||
|
||||
### Determining What's Inside Your Field of View {#Heading2}
|
||||
|
||||
|
|
|
|||
3
66-01.md
3
66-01.md
|
|
@ -10,9 +10,8 @@ chapter: '66'
|
|||
pages: 1209-1213
|
||||
---
|
||||
|
||||
Chapter 66\
|
||||
## Chapter 66\
|
||||
Quake's Hidden-Surface Removal {#Heading1}
|
||||
-------------------------------
|
||||
|
||||
### Struggling with Z-Order Solutions to the Hidden Surface Problem {#Heading2}
|
||||
|
||||
|
|
|
|||
3
67-01.md
3
67-01.md
|
|
@ -10,9 +10,8 @@ chapter: '67'
|
|||
pages: 1223-1227
|
||||
---
|
||||
|
||||
Chapter 67\
|
||||
## Chapter 67\
|
||||
Sorted Spans in Action {#Heading1}
|
||||
-----------------------
|
||||
|
||||
### Implementing Independent Span Sorting for Rendering without Overdraw {#Heading2}
|
||||
|
||||
|
|
|
|||
3
68-01.md
3
68-01.md
|
|
@ -10,9 +10,8 @@ chapter: '68'
|
|||
pages: 1243-1247
|
||||
---
|
||||
|
||||
Chapter 68\
|
||||
## Chapter 68\
|
||||
Quake's Lighting Model {#Heading1}
|
||||
-----------------------
|
||||
|
||||
### A Radically Different Approach to Lighting Polygons {#Heading2}
|
||||
|
||||
|
|
|
|||
3
69-01.md
3
69-01.md
|
|
@ -10,9 +10,8 @@ chapter: '69'
|
|||
pages: 1257-1261
|
||||
---
|
||||
|
||||
Chapter 69\
|
||||
## Chapter 69\
|
||||
Surface Caching and Quake's Triangle Models {#Heading1}
|
||||
--------------------------------------------
|
||||
|
||||
### Probing Hardware-Assisted Surfaces and Fast Model Animation Without Sprites {#Heading2}
|
||||
|
||||
|
|
|
|||
3
70-01.md
3
70-01.md
|
|
@ -10,9 +10,8 @@ chapter: '70'
|
|||
pages: 1273-1277
|
||||
---
|
||||
|
||||
Chapter 70\
|
||||
## Chapter 70\
|
||||
Quake: A Post-Mortem and a Glimpse into the Future {#Heading1}
|
||||
---------------------------------------------------
|
||||
|
||||
*Why did not any of the children in the first group think of this faster
|
||||
method of going across the room? It is simple. They looked at what they
|
||||
|
|
|
|||
3
about.md
3
about.md
|
|
@ -8,8 +8,7 @@ category: 'Web and Software Development: Game Development,Web and Software Devel
|
|||
Graphics and Multimedia Development'
|
||||
---
|
||||
|
||||
Foreword {#Heading1}
|
||||
--------
|
||||
# Foreword {#Heading1}
|
||||
|
||||
I got my start programming on Apple II computers at school, and almost
|
||||
all of my early work was on the Apple platform. After graduating, it
|
||||
|
|
|
|||
|
|
@ -8,8 +8,7 @@ category: 'Web and Software Development: Game Development,Web and Software Devel
|
|||
Graphics and Multimedia Development'
|
||||
---
|
||||
|
||||
Acknowledgments {#Heading1}
|
||||
---------------
|
||||
# Acknowledgments {#Heading1}
|
||||
|
||||
There are many people to thank—because this book was written over many
|
||||
years, in many different settings, an unusually large number of people
|
||||
|
|
|
|||
|
|
@ -8,8 +8,7 @@ category: 'Web and Software Development: Game Development,Web and Software Devel
|
|||
Graphics and Multimedia Development'
|
||||
---
|
||||
|
||||
Afterword {#Heading1}
|
||||
---------
|
||||
# Afterword {#Heading1}
|
||||
|
||||
If you've followed me this far, you might agree that we've come through
|
||||
some rough country. Still, I'm of the opinion that hard-won knowledge is
|
||||
|
|
|
|||
|
|
@ -8,8 +8,7 @@ category: 'Web and Software Development: Game Development,Web and Software Devel
|
|||
Graphics and Multimedia Development'
|
||||
---
|
||||
|
||||
Index {#Heading1}
|
||||
-----
|
||||
# Index {#Heading1}
|
||||
|
||||
**Numbers**
|
||||
|
||||
|
|
|
|||
3
index.md
3
index.md
|
|
@ -10,8 +10,7 @@ chapter: '0'
|
|||
pages: '0'
|
||||
---
|
||||
|
||||
Michael Abrash's Graphics Programming Black Book Special Edition
|
||||
----------------------------------------------------------------
|
||||
# Michael Abrash's Graphics Programming Black Book Special Edition
|
||||
|
||||
1. [Introduction](intro.html)
|
||||
2. [Foreword](about.html)
|
||||
|
|
|
|||
3
intro.md
3
intro.md
|
|
@ -8,8 +8,7 @@ category: 'Web and Software Development: Game Development,Web and Software Devel
|
|||
Graphics and Multimedia Development'
|
||||
---
|
||||
|
||||
Introduction {#Heading1}
|
||||
------------
|
||||
# Introduction {#Heading1}
|
||||
|
||||
What was it like working with John Carmack on Quake? Like being strapped
|
||||
onto a rocket during takeoff—in the middle of a hurricane. It seemed
|
||||
|
|
|
|||
Loading…
Reference in a new issue