1 | /* Copyright (c) 2001, Stanford University
|
---|
2 | * All rights reserved.
|
---|
3 | *
|
---|
4 | * See the file LICENSE.txt for information on redistributing this software.
|
---|
5 | */
|
---|
6 |
|
---|
7 | #ifndef CR_STATE_HINT_H
|
---|
8 | #define CR_STATE_HINT_H
|
---|
9 |
|
---|
10 | #include "state/cr_statetypes.h"
|
---|
11 |
|
---|
12 | #ifdef __cplusplus
|
---|
13 | extern "C" {
|
---|
14 | #endif
|
---|
15 |
|
---|
16 | typedef struct {
|
---|
17 | CRbitvalue dirty[CR_MAX_BITARRAY];
|
---|
18 | CRbitvalue perspectiveCorrection[CR_MAX_BITARRAY];
|
---|
19 | CRbitvalue pointSmooth[CR_MAX_BITARRAY];
|
---|
20 | CRbitvalue lineSmooth[CR_MAX_BITARRAY];
|
---|
21 | CRbitvalue polygonSmooth[CR_MAX_BITARRAY];
|
---|
22 | CRbitvalue fog[CR_MAX_BITARRAY];
|
---|
23 | #ifdef CR_EXT_clip_volume_hint
|
---|
24 | CRbitvalue clipVolumeClipping[CR_MAX_BITARRAY];
|
---|
25 | #endif
|
---|
26 | #ifdef CR_ARB_texture_compression
|
---|
27 | CRbitvalue textureCompression[CR_MAX_BITARRAY];
|
---|
28 | #endif
|
---|
29 | #ifdef CR_SGIS_generate_mipmap
|
---|
30 | CRbitvalue generateMipmap[CR_MAX_BITARRAY];
|
---|
31 | #endif
|
---|
32 | } CRHintBits;
|
---|
33 |
|
---|
34 | typedef struct {
|
---|
35 | GLenum perspectiveCorrection;
|
---|
36 | GLenum pointSmooth;
|
---|
37 | GLenum lineSmooth;
|
---|
38 | GLenum polygonSmooth;
|
---|
39 | GLenum fog;
|
---|
40 | #ifdef CR_EXT_clip_volume_hint
|
---|
41 | GLenum clipVolumeClipping;
|
---|
42 | #endif
|
---|
43 | #ifdef CR_ARB_texture_compression
|
---|
44 | GLenum textureCompression;
|
---|
45 | #endif
|
---|
46 | #ifdef CR_SGIS_generate_mipmap
|
---|
47 | GLenum generateMipmap;
|
---|
48 | #endif
|
---|
49 | } CRHintState;
|
---|
50 |
|
---|
51 | DECLEXPORT(void) crStateHintInit(CRContext *ctx);
|
---|
52 |
|
---|
53 | DECLEXPORT(void) crStateHintDiff(CRHintBits *bb, CRbitvalue *bitID,
|
---|
54 | CRContext *fromCtx, CRContext *toCtx);
|
---|
55 | DECLEXPORT(void) crStateHintSwitch(CRHintBits *bb, CRbitvalue *bitID,
|
---|
56 | CRContext *fromCtx, CRContext *toCtx);
|
---|
57 |
|
---|
58 | #ifdef __cplusplus
|
---|
59 | }
|
---|
60 | #endif
|
---|
61 |
|
---|
62 | #endif /* CR_STATE_HINT_H */
|
---|