Developer Documentation
Loading...
Searching...
No Matches
stipple_alpha.cc
1/*===========================================================================*\
2 * *
3 * OpenFlipper *
4 * Copyright (c) 2001-2015, RWTH-Aachen University *
5 * Department of Computer Graphics and Multimedia *
6 * All rights reserved. *
7 * www.openflipper.org *
8 * *
9 *---------------------------------------------------------------------------*
10 * This file is part of OpenFlipper. *
11 *---------------------------------------------------------------------------*
12 * *
13 * Redistribution and use in source and binary forms, with or without *
14 * modification, are permitted provided that the following conditions *
15 * are met: *
16 * *
17 * 1. Redistributions of source code must retain the above copyright notice, *
18 * this list of conditions and the following disclaimer. *
19 * *
20 * 2. Redistributions in binary form must reproduce the above copyright *
21 * notice, this list of conditions and the following disclaimer in the *
22 * documentation and/or other materials provided with the distribution. *
23 * *
24 * 3. Neither the name of the copyright holder nor the names of its *
25 * contributors may be used to endorse or promote products derived from *
26 * this software without specific prior written permission. *
27 * *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
30 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
31 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
32 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
35 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
36 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
37 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
38 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
39 * *
40\*===========================================================================*/
41
42
43
44
45//=============================================================================
46//
47// Stipple Polygon Transparency - IMPLEMENTATION
48//
49//=============================================================================
50
51//== INCLUDES =================================================================
52
53
54#include "stipple_alpha.hh"
55#include "gl.hh"
56#include <GL/GLState.hh>
57
58
59//== NAMESPACES ===============================================================
60namespace ACG {
61//== IMPLEMENTATION ==========================================================
62
63
64const GLubyte stippleMask[17][128] =
65{
66 /* NOTE: 0% opaqueness is faster to set and probably faster to render with:
67 ACG::GLState::disable(GL_POLYGON_STIPPLE);
68 glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); */
69 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
70 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
71 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
73 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
76 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
78 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
83 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
84 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
85
86 {0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
88 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
89 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
91 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
93 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
95 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
96 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
97 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
98 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
102
103 {0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
104 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
105 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
106 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
107 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
108 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
109 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
110 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
111 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
112 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
113 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
114 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
115 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
116 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
117 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00,
118 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00},
119
120 {0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
121 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
122 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
123 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
124 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
125 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
126 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
127 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
128 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
129 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
130 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
131 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
132 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
133 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
134 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
135 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00},
136
137 {0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
138 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
139 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
140 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
141 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
142 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
143 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
144 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
145 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
146 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
147 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
148 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
149 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
150 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
151 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
152 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00},
153
154 {0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
155 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
156 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
157 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
158 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
159 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
160 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
161 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
162 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
163 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
164 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
165 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
166 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
167 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
168 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
169 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00},
170
171 {0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
172 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
173 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
174 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
175 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
176 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
177 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
178 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
179 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
180 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
181 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
182 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
183 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
184 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
185 0xaa, 0xaa, 0xaa, 0xaa, 0x44, 0x44, 0x44, 0x44,
186 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11},
187
188 {0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
189 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
190 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
191 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
192 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
193 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
194 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
195 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
196 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
197 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
198 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
199 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
200 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
201 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11,
202 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
203 0xaa, 0xaa, 0xaa, 0xaa, 0x11, 0x11, 0x11, 0x11},
204
205 {0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
206 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
207 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
208 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
209 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
210 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
211 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
212 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
213 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
214 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
215 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
216 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
217 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
218 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
219 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
220 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55},
221
222 {0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
223 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
224 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
225 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
226 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
227 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
228 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
229 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
230 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
231 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
232 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
233 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
234 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
235 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
236 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
237 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55},
238
239 {0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
240 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
241 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
242 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
243 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
244 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
245 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
246 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
247 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
248 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
249 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
250 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
251 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
252 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
253 0xee, 0xee, 0xee, 0xee, 0x55, 0x55, 0x55, 0x55,
254 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55},
255
256 {0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
257 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
258 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
259 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
260 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
261 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
262 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
263 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
264 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
265 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
266 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
267 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
268 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
269 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55,
270 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
271 0xbb, 0xbb, 0xbb, 0xbb, 0x55, 0x55, 0x55, 0x55},
272
273 {0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
274 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
275 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
276 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
277 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
278 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
279 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
280 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
281 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
282 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
283 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
284 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
285 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
286 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
287 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
288 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55},
289
290 {0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
291 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
292 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
293 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
294 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
295 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
296 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
297 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
298 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
299 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
300 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
301 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
302 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
303 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55,
304 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
305 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55},
306
307 {0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
308 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
309 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
310 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
311 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
312 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
313 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
314 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
315 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
316 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
317 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
318 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
319 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
320 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
321 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xdd,
322 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77},
323
324 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
325 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
326 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
327 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
328 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
329 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
330 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
331 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
332 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
333 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
334 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
335 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
336 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
337 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77,
338 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
339 0xff, 0xff, 0xff, 0xff, 0x77, 0x77, 0x77, 0x77},
340
341 /* NOTE: 100% opaqueness is faster to set and probably faster to render with:
342 ACG::GLState::disable(GL_POLYGON_STIPPLE); */
343 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
344 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
345 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
346 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
347 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
348 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
349 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
350 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
351 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
352 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
353 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
354 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
355 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
356 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
357 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
358 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
359};
360
361
362//-----------------------------------------------------------------------------
363
364
365void stipple_alpha(float _alpha)
366{
367 // transparent
368 if (_alpha < 1.0)
369 {
370 if (_alpha < 0.0) _alpha = 0.0;
371
372 ACG::GLState::enable(GL_POLYGON_STIPPLE);
373 glPolygonStipple(stippleMask[ (unsigned int)(_alpha * 16.0 + 0.5)]);
374 }
375
376 // opaque
377 else
378 {
379 ACG::GLState::disable(GL_POLYGON_STIPPLE);
380 }
381}
382
383
384//=============================================================================
385} // namespace ACG
386//=============================================================================
static void enable(GLenum _cap, bool _warnRemoved=true)
replaces glEnable, but supports locking
Definition GLState.cc:1507
static void disable(GLenum _cap, bool _warnRemoved=true)
replaces glDisable, but supports locking
Definition GLState.cc:1527
Namespace providing different geometric functions concerning angles.