ReactOS 0.4.16-dev-297-gc569aee
nurbsconsts.h
Go to the documentation of this file.
1/*
2 * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
3 * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice including the dates of first publication and
13 * either this permission notice or a reference to
14 * http://oss.sgi.com/projects/FreeB/
15 * shall be included in all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
22 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 * SOFTWARE.
24 *
25 * Except as contained in this notice, the name of Silicon Graphics, Inc.
26 * shall not be used in advertising or otherwise to promote the sale, use or
27 * other dealings in this Software without prior written authorization from
28 * Silicon Graphics, Inc.
29 */
30
31/*
32 * nurbsconsts.h
33 *
34 */
35
36#ifndef __glunurbsconsts_h_
37#define __glunurbsconsts_h_
38
39/* NURBS Properties - one set per map,
40 each takes a single INREAL arg */
41#define N_SAMPLING_TOLERANCE 1
42#define N_S_RATE 6
43#define N_T_RATE 7
44#define N_CLAMPFACTOR 13
45#define N_NOCLAMPING 0.0
46#define N_MINSAVINGS 14
47#define N_NOSAVINGSSUBDIVISION 0.0
48
49/* NURBS Properties - one set per map,
50 each takes an enumerated value */
51#define N_CULLING 2
52#define N_NOCULLING 0.0
53#define N_CULLINGON 1.0
54#define N_SAMPLINGMETHOD 10
55#define N_NOSAMPLING 0.0
56#define N_FIXEDRATE 3.0
57#define N_DOMAINDISTANCE 2.0
58#define N_PARAMETRICDISTANCE 5.0
59#define N_PATHLENGTH 6.0
60#define N_SURFACEAREA 7.0
61#define N_OBJECTSPACE_PARA 8.0
62#define N_OBJECTSPACE_PATH 9.0
63#define N_BBOX_SUBDIVIDING 17
64#define N_NOBBOXSUBDIVISION 0.0
65#define N_BBOXTIGHT 1.0
66#define N_BBOXROUND 2.0
67
68/* NURBS Rendering Properties - one set per renderer
69 each takes an enumerated value */
70#define N_DISPLAY 3
71#define N_FILL 1.0
72#define N_OUTLINE_POLY 2.0
73#define N_OUTLINE_TRI 3.0
74#define N_OUTLINE_QUAD 4.0
75#define N_OUTLINE_PATCH 5.0
76#define N_OUTLINE_PARAM 6.0
77#define N_OUTLINE_PARAM_S 7.0
78#define N_OUTLINE_PARAM_ST 8.0
79#define N_OUTLINE_SUBDIV 9.0
80#define N_OUTLINE_SUBDIV_S 10.0
81#define N_OUTLINE_SUBDIV_ST 11.0
82#define N_ISOLINE_S 12.0
83#define N_ERRORCHECKING 4
84#define N_NOMSG 0.0
85#define N_MSG 1.0
86
87/* GL 4.0 propeties not defined above */
88#ifndef N_PIXEL_TOLERANCE
89#define N_PIXEL_TOLERANCE N_SAMPLING_TOLERANCE
90#define N_ERROR_TOLERANCE 20
91#define N_SUBDIVISIONS 5
92#define N_TILES 8
93#define N_TMP1 9
94#define N_TMP2 N_SAMPLINGMETHOD
95#define N_TMP3 11
96#define N_TMP4 12
97#define N_TMP5 N_CLAMPFACTOR
98#define N_TMP6 N_MINSAVINGS
99#define N_S_STEPS N_S_RATE
100#define N_T_STEPS N_T_RATE
101#endif
102
103/* NURBS Rendering Properties - one set per map,
104 each takes an INREAL matrix argument */
105#define N_CULLINGMATRIX 1
106#define N_SAMPLINGMATRIX 2
107#define N_BBOXMATRIX 3
108
109
110/* NURBS Rendering Properties - one set per map,
111 each takes an INREAL vector argument */
112#define N_BBOXSIZE 4
113
114/* type argument for trimming curves */
115#ifndef N_P2D
116#define N_P2D 0x8
117#define N_P2DR 0xd
118#endif
119
120#endif /* __glunurbsconsts_h_ */