Retidy, removing align=left from headings and empty paragraphs

This commit is contained in:
James Gregory 2013-12-30 15:37:13 +11:00
commit a96a114403
362 changed files with 8472 additions and 5040 deletions

View file

@ -1,5 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@ -19,17 +18,21 @@
<center>
<table border="1">
<tr>
<td><a href="67-03.html">Previous</a></td>
<td>
<a href="67-03.html">Previous</a>
</td>
<td><a href="index.html">Table of Contents</a></td>
<td>
<a href="index.html">Table of Contents</a>
</td>
<td><a href="67-05.html">Next</a></td>
<td>
<a href="67-05.html">Next</a>
</td>
</tr>
</table>
</center>
<p><br /></p>
<p>By the same token, Listing 67.1 is quite a bit more complicated than the earlier code. The earlier code&rsquo;s HSR consisted of a z-sort of objects, followed by the drawing of the objects in back-to-front order, one polygon at a time. Apart from the simple object sorter, all that was needed was backface culling and a polygon rasterizer.</p>
<p>Listing 67.1 replaces this simple pipeline with a three-stage HSR process. After backface culling, the edges of each of the polygons in the scene are added to the global edge list, by way of <b>AddPolygonEdges()</b>. After all edges have been added, the edges are turned into spans by <b>ScanEdges()</b>, with each pixel on the screen being covered by one and only one span (that is, there&rsquo;s no overdraw). Once all the spans have been generated, they&rsquo;re drawn by <b>DrawSpans()</b>, and rasterization is complete.</p>
@ -44,16 +47,20 @@
<p>One more element is required in order for <b>ScanEdges()</b> to work efficiently. Each time a leading or trailing edge occurs, it must be determined whether its surface is nearest (at a larger 1/z value than any currently active surface). In addition, for leading edges, the currently topmost surface must be known, and for trailing edges, it may be necessary to know the currently next-to-topmost surface. The easiest way to accomplish this is with a <i>surface stack</i>; that is, a linked list of all currently active surfaces, starting with the nearest surface and progressing toward the farthest surface, which, as described below, is always the background surface. (The operation of this sort of edge event-based stack was described and illustrated in Chapter 66.) Each leading edge causes its surface to be 1/z-sorted into the surface stack, with a span emitted if necessary. Each trailing edge causes its surface to be removed from the surface stack, again with a span emitted if necessary. As you can see from Listing 67.1, it takes a fair bit of code to implement this, but all that&rsquo;s really going on is a surface stack driven by edge events.</p>
<p><br /></p>
<center>
<table border="1">
<tr>
<td><a href="67-03.html">Previous</a></td>
<td>
<a href="67-03.html">Previous</a>
</td>
<td><a href="index.html">Table of Contents</a></td>
<td>
<a href="index.html">Table of Contents</a>
</td>
<td><a href="67-05.html">Next</a></td>
<td>
<a href="67-05.html">Next</a>
</td>
</tr>
</table>
</center>