Main Page | Alphabetical List | Compound List | File List | Compound Members | File Members

SPAN.H

Go to the documentation of this file.
00001 /****************************************************************************************/
00002 /*  span.h                                                                              */
00003 /*                                                                                      */
00004 /*  Author:       John Pollard, Ken Baird                                               */
00005 /*  Description:  Header for span.c and important defines                               */
00006 /*                                                                                      */
00007 /*  The contents of this file are subject to the Genesis3D Public License               */
00008 /*  Version 1.01 (the "License"); you may not use this file except in                   */
00009 /*  compliance with the License. You may obtain a copy of the License at                */
00010 /*  http://www.genesis3d.com                                                            */
00011 /*                                                                                      */
00012 /*  Software distributed under the License is distributed on an "AS IS"                 */
00013 /*  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See                */
00014 /*  the License for the specific language governing rights and limitations              */
00015 /*  under the License.                                                                  */
00016 /*                                                                                      */
00017 /*  The Original Code is Genesis3D, released March 25, 1999.                            */
00018 /*  Genesis3D Version 1.1 released November 15, 1999                                 */
00019 /*  Copyright (C) 1999 WildTangent, Inc. All Rights Reserved           */
00020 /*                                                                                      */
00021 /****************************************************************************************/
00022 #ifndef SPAN_H
00023 #define SPAN_H
00024 
00025 #include "basetype.h"
00026 
00027 #define MAXSPANS 25000
00028 #define MAXSCANLINES 768
00029 
00030 typedef struct SList 
00031 {
00032     uint8               Used;
00033         int32           Min, Max;
00034         geFloat z1, z2;         // So we can spit z spans out for other spans that need to be occluded
00035     uint32              Flags;
00036     struct SList        *Last;
00037     struct SList        *Next;
00038 } SList;
00039 
00040 typedef struct
00041 {
00042         SList   *First;
00043         SList   *Current;
00044 } SpanMinMax;
00045 
00046 extern  int32   NumCachedAlphaPolys;
00047 extern  int32   NumCachedAlphaSpans;
00048 
00049 SList   *NewSList(void);
00050 void    FreeSList(SList *s);
00051 void    ResetSList(void);
00052 void    ResetSpans(uint32 Rows);
00053 
00054 extern SpanMinMax SMinMax[MAXSCANLINES];
00055 extern SList ScanHash[MAXSPANS];  // hash table for SList
00056 extern int32 CurrentSList;
00057 
00058 
00059 #endif

Generated on Tue Sep 30 12:36:24 2003 for GTestAndEngine by doxygen 1.3.2