File: CastleGLVersion.TGLVersion.html

package info (click to toggle)
castle-game-engine 5.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 185,428 kB
  • sloc: pascal: 260,781; cpp: 1,363; objc: 713; makefile: 537; xml: 496; sh: 480; php: 4
file content (409 lines) | stat: -rw-r--r-- 22,459 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: CastleGLVersion: Class TGLVersion</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<a name="TGLVersion"></a><h1 class="cio">Class TGLVersion</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a  href="CastleGLVersion.html">CastleGLVersion</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TGLVersion = class(<a class="normal" href="CastleGLVersion.TGenericGLVersion.html">TGenericGLVersion</a>)</code></p>
<h2 class="description">Description</h2>
<div class="nodescription">no description available, TGenericGLVersion description follows</div><p>
OpenGL libraries (core OpenGL or GLU) version information.

<p>As obtained from glGetString(GL_VERSION) or gluGetString(GLU_VERSION), also by glGetString(GL_VENDOR).

<p>This is usually created by <a class="normal" href="CastleGLUtils.html#GLInformationInitialize">CastleGLUtils.GLInformationInitialize</a>.</p>
<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObject</li>
<li class="ancestor"><a class="normal" href="CastleGLVersion.TGenericGLVersion.html">TGenericGLVersion</a></li>
<li class="thisitem">TGLVersion</li></ul><h2 class="overview">Overview</h2>
<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>constructor <b><a  href="CastleGLVersion.TGLVersion.html#Create">Create</a></b>(const VersionString, AVendor, ARenderer: string);</code></td>
</tr>
</table>
<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#Vendor">Vendor</a></b>: string read FVendor;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#Renderer">Renderer</a></b>: string read FRenderer;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#Mesa">Mesa</a></b>: boolean read FMesa;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#VendorMajor">VendorMajor</a></b>: Integer read FVendorMajor;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#VendorMinor">VendorMinor</a></b>: Integer read FVendorMinor;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#VendorRelease">VendorRelease</a></b>: Integer read FVendorRelease;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#VendorATI">VendorATI</a></b>: boolean read FVendorATI;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#Fglrx">Fglrx</a></b>: boolean read FFglrx;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#VendorNVidia">VendorNVidia</a></b>: boolean read FVendorNVidia;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#VendorIntel">VendorIntel</a></b>: boolean read FVendorIntel;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyGenerateMipmap">BuggyGenerateMipmap</a></b>: boolean read FBuggyGenerateMipmap;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyFBOCubeMap">BuggyFBOCubeMap</a></b>: boolean read FBuggyFBOCubeMap;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyGenerateCubeMap">BuggyGenerateCubeMap</a></b>: boolean read FBuggyGenerateCubeMap;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyLightModelTwoSide">BuggyLightModelTwoSide</a></b>: boolean read FBuggyLightModelTwoSide;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyLightModelTwoSideMessage">BuggyLightModelTwoSideMessage</a></b>: string read FBuggyLightModelTwoSideMessage;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyVBO">BuggyVBO</a></b>: boolean read FBuggyVBO;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyShaderShadowMap">BuggyShaderShadowMap</a></b>: boolean read FBuggyShaderShadowMap;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyGLSLConstStruct">BuggyGLSLConstStruct</a></b>: boolean read FBuggyGLSLConstStruct;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyFBOMultiSampling">BuggyFBOMultiSampling</a></b>: boolean read FBuggyFBOMultiSampling;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggySwapNonStandardViewport">BuggySwapNonStandardViewport</a></b>: boolean
      read FBuggySwapNonStandardViewport;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyDepth32">BuggyDepth32</a></b>: boolean read FBuggyDepth32;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleGLVersion.TGLVersion.html#BuggyGLSLFrontFacing">BuggyGLSLFrontFacing</a></b>: boolean read FBuggyGLSLFrontFacing;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Methods</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const VersionString, AVendor, ARenderer: string);</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<h3 class="detail">Properties</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Vendor"></a><code>property <b>Vendor</b>: string read FVendor;</code></td>
</tr>
<tr><td colspan="2">
<p>
Vendor that created the OpenGL implemenetation. This is just glGetString(GL_VENDOR).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Renderer"></a><code>property <b>Renderer</b>: string read FRenderer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Renderer (GPU model, or software method used for rendering) of the OpenGL. This is just glGetString(GL_RENDERER).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Mesa"></a><code>property <b>Mesa</b>: boolean read FMesa;</code></td>
</tr>
<tr><td colspan="2">
<p>
Are we using Mesa (<a  href="http://mesa3d.org/">http://mesa3d.org/</a>). Detected using VendorSpecific information.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="VendorMajor"></a><code>property <b>VendorMajor</b>: Integer read FVendorMajor;</code></td>
</tr>
<tr><td colspan="2">
<p>
Vendor-specific drivers version. Right now this is detected for Mesa and Intel. </p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="VendorMinor"></a><code>property <b>VendorMinor</b>: Integer read FVendorMinor;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="VendorRelease"></a><code>property <b>VendorRelease</b>: Integer read FVendorRelease;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="VendorATI"></a><code>property <b>VendorATI</b>: boolean read FVendorATI;</code></td>
</tr>
<tr><td colspan="2">
<p>
ATI GPU with ATI drivers.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Fglrx"></a><code>property <b>Fglrx</b>: boolean read FFglrx;</code></td>
</tr>
<tr><td colspan="2">
<p>
ATI GPU with ATI drivers on Linux.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="VendorNVidia"></a><code>property <b>VendorNVidia</b>: boolean read FVendorNVidia;</code></td>
</tr>
<tr><td colspan="2">
<p>
NVidia GPU with NVidia drivers.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="VendorIntel"></a><code>property <b>VendorIntel</b>: boolean read FVendorIntel;</code></td>
</tr>
<tr><td colspan="2">
<p>
Intel GPU with Intel drivers.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyGenerateMipmap"></a><code>property <b>BuggyGenerateMipmap</b>: boolean read FBuggyGenerateMipmap;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy glGenerateMipmapEXT (Mesa and Intel(Windows) bug).

<p>This was observed with software (no direct) rendering with 7.0.2 (segfaults) and 7.2.? (makes X crashing; sweet). With Mesa 7.5.1 (but tested only with radeon and radeonhd, so possibly it's not really related to Mesa version! Reports welcome) no problems.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyFBOCubeMap"></a><code>property <b>BuggyFBOCubeMap</b>: boolean read FBuggyFBOCubeMap;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy generation of cube maps on FBO (Intel(Windows) bug).

<p>Symptoms: Parts of the cube map texture are uninitialized (left magenta). Reproducible with view3dscene on demo_models/cube_environment_mapping/cubemap_generated_in_dynamic_world.x3dv . Using separate FBO for each cube map face doesn't help (actually, makes it worse, there's more magenta), so it's not about being unable to do RenderToTexture.SetTexture multiple times.

<p>Observed, and this workaround is needed, at least on: </p>

<ul class="paragraph_spacing">
  <li><p>Version string: 2.1.0 - Build 8.15.10.2104</p></li>
  <li><p>Vendor: Intel</p></li>
  <li><p>Renderer: Intel(R) HD Graphics</p></li>
</ul>

<p></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyGenerateCubeMap"></a><code>property <b>BuggyGenerateCubeMap</b>: boolean read FBuggyGenerateCubeMap;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy generation of cube maps at all (Intel(Windows) bug).

<p>Symptoms: Parts of the cube map texture are uninitialized (left magenta). Reproducible with view3dscene on demo_models/cube_environment_mapping/cubemap_generated_in_dynamic_world.x3dv . This is worse then <a class="normal" href="CastleGLVersion.TGLVersion.html#BuggyFBOCubeMap">BuggyFBOCubeMap</a>, magenta is always seen at positiveX part of the cube map.

<p>Observed, and this workaround is needed, at least on: </p>

<ul class="paragraph_spacing">
  <li><p>Version string: 3.3.0 - Build 8.15.10.2778</p></li>
  <li><p>Vendor: Intel</p></li>
  <li><p>Renderer: Intel(R) HD Graphics 4000</p></li>
</ul>

<p></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyLightModelTwoSide"></a><code>property <b>BuggyLightModelTwoSide</b>: boolean read FBuggyLightModelTwoSide;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy GL_LIGHT_MODEL_TWO_SIDE = GL_TRUE behavior (ATI(Linux) bug). See [<a  href="https://sourceforge.net/apps/phpbb/vrmlengine/viewtopic.php?f=3&amp;t=14">https://sourceforge.net/apps/phpbb/vrmlengine/viewtopic.php?f=3&amp;t=14</a>]</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyLightModelTwoSideMessage"></a><code>property <b>BuggyLightModelTwoSideMessage</b>: string read FBuggyLightModelTwoSideMessage;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyVBO"></a><code>property <b>BuggyVBO</b>: boolean read FBuggyVBO;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy VBO (Intel(Windows) bug).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyShaderShadowMap"></a><code>property <b>BuggyShaderShadowMap</b>: boolean read FBuggyShaderShadowMap;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy shadow2DProj in some situations (ATI(Linux) bug).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyGLSLConstStruct"></a><code>property <b>BuggyGLSLConstStruct</b>: boolean read FBuggyGLSLConstStruct;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy GLSL <code>&quot;const in gl_Xxx&quot;</code> (NVidia bug). Segfaults at glCompileShader[ARB] on GLSL declarations like <code>&quot;const in gl_MaterialParameters material&quot;</code>. Affects some NVidia drivers on Linux (like version 295.49 in Debian testing on 2012-06-02).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyFBOMultiSampling"></a><code>property <b>BuggyFBOMultiSampling</b>: boolean read FBuggyFBOMultiSampling;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy (looks like wireframe) FBO rendering to the multi-sampling texture (ATI(Windows) and Intel(Windows) bug). This makes our screen effects broken on multi-sampled contexts.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggySwapNonStandardViewport"></a><code>property <b>BuggySwapNonStandardViewport</b>: boolean
      read FBuggySwapNonStandardViewport;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy swap buffers when <a class="normal" href="CastleGLUtils.html#GLViewport">glViewport</a> does not contain whole window (ATI(Linux) bug).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyDepth32"></a><code>property <b>BuggyDepth32</b>: boolean read FBuggyDepth32;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy 32-bit depth buffer, 24-bit depth buffer works Ok (Mesa on ATI (Linux) bug).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="BuggyGLSLFrontFacing"></a><code>property <b>BuggyGLSLFrontFacing</b>: boolean read FBuggyGLSLFrontFacing;</code></td>
</tr>
<tr><td colspan="2">
<p>
Buggy gl_FrontFacing in GLSL. Observed on Mesa 10.x with OpenGL 3.x (see implemenetation for details where it's observed / not observed).

<p>Note that avoiding gl_FrontFacing (that seems to always has inverted value?) is only a part of the workaround for these GPUs. The other is to not render back faces, since it seems that normals are *always* oriented to point to the light (so, if you don't look at gl_FrontFacing, you are lit from *both* sides). So enable backface culling, or just be prepared that backfaces may be incorrectly light.</p>
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "1"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->

<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&amp;rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:10</em>
</span>
</td></tr></table></body></html>