]> git.mxchange.org Git - flightgear.git/blob - Scenery/tilecache.h
Incorporated Paul Bleisch's <bleisch@chromatic.com> new debug message
[flightgear.git] / Scenery / tilecache.h
1 /**************************************************************************
2  * tilecache.h -- routines to handle scenery tile caching
3  *
4  * Written by Curtis Olson, started January 1998.
5  *
6  * Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation; either version 2 of the
11  * License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  *
22  * $Id$
23  * (Log is kept at end of this file)
24  **************************************************************************/
25
26
27 #ifndef _TILECACHE_H
28 #define _TILECACHE_H
29
30
31 #ifdef WIN32
32 #  include <windows.h>
33 #endif
34
35 #include <GL/glut.h>
36 #include <XGL/xgl.h>
37
38 #include <Scenery/bucketutils.h>
39 #include <Include/fg_types.h>
40
41
42 #define FG_TILE_CACHE_SIZE 100   /* Must be > FG_LOCAL_X_Y */
43
44
45 /* Tile cache record */
46 struct fgTILE {
47     struct fgBUCKET tile_bucket;
48     GLint display_list;
49     struct fgCartesianPoint local_ref;
50     int used;
51     int priority;
52 };
53
54 /* tile cache */
55 extern struct fgTILE tile_cache[FG_TILE_CACHE_SIZE];
56
57
58 /* Initialize the tile cache subsystem */
59 void fgTileCacheInit( void );
60
61 /* Return index of next available slot in tile cache */
62 int fgTileCacheNextAvail( void );
63
64 /* Fill in a tile cache entry with real data for the specified bucket */
65 void fgTileCacheEntryFillIn( int index, struct fgBUCKET *p );
66
67 /* Return info for a tile cache entry */
68 void fgTileCacheEntryInfo( int index, GLint *display_list, 
69                            struct fgCartesianPoint *local_ref );
70
71
72 #endif /* _TILECACHE_H */
73
74
75 /* $Log$
76 /* Revision 1.2  1998/01/27 00:48:04  curt
77 /* Incorporated Paul Bleisch's <bleisch@chromatic.com> new debug message
78 /* system and commandline/config file processing code.
79 /*
80  * Revision 1.1  1998/01/24 00:03:29  curt
81  * Initial revision.
82  *
83  */
84
85