1 /****************************************************************************************/
\r
4 /* Author: John Pollard */
\r
5 /* Description: Front to back span code */
\r
7 /* The contents of this file are subject to the Genesis3D Public License */
\r
8 /* Version 1.01 (the "License"); you may not use this file except in */
\r
9 /* compliance with the License. You may obtain a copy of the License at */
\r
10 /* http://www.genesis3d.com */
\r
12 /* Software distributed under the License is distributed on an "AS IS" */
\r
13 /* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See */
\r
14 /* the License for the specific language governing rights and limitations */
\r
15 /* under the License. */
\r
17 /* The Original Code is Genesis3D, released March 25, 1999. */
\r
18 /* Genesis3D Version 1.1 released November 15, 1999 */
\r
19 /* Copyright (C) 1999 WildTangent, Inc. All Rights Reserved */
\r
21 /****************************************************************************************/
\r
25 #include <Windows.h>
\r
27 #define MAX_SPAN_LINES 1024
\r
28 #define MAX_SPANS 35000
\r
32 int32 x1; // Starting x on screen
\r
33 int32 x2; // Ending x on screen
\r
36 typedef struct _SList
\r
51 extern SPAN SpanLines[MAX_SPAN_LINES];
\r
53 extern SPAN_MINMAX SMinMax[MAX_SPAN_LINES]; // Linked list of spans for each scanline...
\r
54 extern SLIST ScanHash[MAX_SPANS]; // hash table for SList
\r
56 extern int32 NumWorldPixels;
\r
57 extern int32 NumSpans;
\r
58 extern int32 NumSpanPixels[MAX_SPAN_LINES];
\r
59 extern int32 PolysRendered;
\r
61 void DRIVERCC EdgeOutNoUV (int32 x1, int32 y1, int32 x2, int32 y2);
\r
62 void DRIVERCC AddSpanNoUV(int32 x1, int32 x2, int32 y);
\r
64 void ResetSList(void);
\r
65 SLIST *NewSList(void);
\r
66 void ResetSpans(int32 Rows);
\r