This file is indexed.

/usr/share/doc/libghc-opengl-doc/html/src/Graphics-Rendering-OpenGL-GL-Points.html is in libghc-opengl-doc 2.8.0.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://code.haskell.org/~malcolm/hscolour/ -->
<title>Graphics/Rendering/OpenGL/GL/Points.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-2"></a><span class='hs-comment'>-- |</span>
<a name="line-3"></a><span class='hs-comment'>-- Module      :  Graphics.Rendering.OpenGL.GL.Points</span>
<a name="line-4"></a><span class='hs-comment'>-- Copyright   :  (c) Sven Panne 2002-2009</span>
<a name="line-5"></a><span class='hs-comment'>-- License     :  BSD-style (see the file libraries/OpenGL/LICENSE)</span>
<a name="line-6"></a><span class='hs-comment'>-- </span>
<a name="line-7"></a><span class='hs-comment'>-- Maintainer  :  sven.panne@aedion.de</span>
<a name="line-8"></a><span class='hs-comment'>-- Stability   :  stable</span>
<a name="line-9"></a><span class='hs-comment'>-- Portability :  portable</span>
<a name="line-10"></a><span class='hs-comment'>--</span>
<a name="line-11"></a><span class='hs-comment'>-- This module corresponds to section 3.3 (Points) of the OpenGL 2.1 specs.</span>
<a name="line-12"></a><span class='hs-comment'>--</span>
<a name="line-13"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-14"></a>
<a name="line-15"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>Rendering</span><span class='hs-varop'>.</span><span class='hs-conid'>OpenGL</span><span class='hs-varop'>.</span><span class='hs-conid'>GL</span><span class='hs-varop'>.</span><span class='hs-conid'>Points</span> <span class='hs-layout'>(</span>
<a name="line-16"></a>   <span class='hs-comment'>-- * Point Rasterization</span>
<a name="line-17"></a>   <span class='hs-varid'>pointSize</span><span class='hs-layout'>,</span> <span class='hs-varid'>vertexProgramPointSize</span><span class='hs-layout'>,</span>
<a name="line-18"></a>
<a name="line-19"></a>   <span class='hs-comment'>-- * Controlling the Derived Size</span>
<a name="line-20"></a>   <span class='hs-varid'>pointSizeRange</span><span class='hs-layout'>,</span> <span class='hs-varid'>pointDistanceAttenuation</span><span class='hs-layout'>,</span>
<a name="line-21"></a>
<a name="line-22"></a>   <span class='hs-comment'>-- * Fading Points</span>
<a name="line-23"></a>   <span class='hs-varid'>pointFadeThresholdSize</span><span class='hs-layout'>,</span>
<a name="line-24"></a>
<a name="line-25"></a>   <span class='hs-comment'>-- * Point Antialiasing</span>
<a name="line-26"></a>   <span class='hs-varid'>pointSmooth</span><span class='hs-layout'>,</span>
<a name="line-27"></a>
<a name="line-28"></a>   <span class='hs-comment'>-- * Point Sprites</span>
<a name="line-29"></a>   <span class='hs-varid'>pointSprite</span><span class='hs-layout'>,</span>
<a name="line-30"></a>
<a name="line-31"></a>   <span class='hs-comment'>-- * Implementation-Dependent Limits</span>
<a name="line-32"></a>   <span class='hs-varid'>aliasedPointSizeRange</span><span class='hs-layout'>,</span> <span class='hs-varid'>smoothPointSizeRange</span><span class='hs-layout'>,</span> <span class='hs-varid'>smoothPointSizeGranularity</span>
<a name="line-33"></a><span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-34"></a>
<a name="line-35"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span>
<a name="line-36"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Marshal</span><span class='hs-varop'>.</span><span class='hs-conid'>Array</span>
<a name="line-37"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>Rendering</span><span class='hs-varop'>.</span><span class='hs-conid'>OpenGL</span><span class='hs-varop'>.</span><span class='hs-conid'>GL</span><span class='hs-varop'>.</span><span class='hs-conid'>StateVar</span>
<a name="line-38"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>Rendering</span><span class='hs-varop'>.</span><span class='hs-conid'>OpenGL</span><span class='hs-varop'>.</span><span class='hs-conid'>GL</span><span class='hs-varop'>.</span><span class='hs-conid'>Capability</span>
<a name="line-39"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>Rendering</span><span class='hs-varop'>.</span><span class='hs-conid'>OpenGL</span><span class='hs-varop'>.</span><span class='hs-conid'>GL</span><span class='hs-varop'>.</span><span class='hs-conid'>PointParameter</span>
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>Rendering</span><span class='hs-varop'>.</span><span class='hs-conid'>OpenGL</span><span class='hs-varop'>.</span><span class='hs-conid'>GL</span><span class='hs-varop'>.</span><span class='hs-conid'>QueryUtils</span>
<a name="line-41"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>Rendering</span><span class='hs-varop'>.</span><span class='hs-conid'>OpenGL</span><span class='hs-varop'>.</span><span class='hs-conid'>Raw</span><span class='hs-varop'>.</span><span class='hs-conid'>Core31</span>
<a name="line-42"></a>
<a name="line-43"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-44"></a>
<a name="line-45"></a><span class='hs-comment'>-- | 'pointSize' contains the rasterized diameter of both aliased and</span>
<a name="line-46"></a><span class='hs-comment'>-- antialiased points. The initial value is 1. Using a point size other than 1</span>
<a name="line-47"></a><span class='hs-comment'>-- has different effects, depending on whether point antialiasing is enabled</span>
<a name="line-48"></a><span class='hs-comment'>-- (see 'pointSmooth') or point sprites are enabled (see 'pointSprite'). Both</span>
<a name="line-49"></a><span class='hs-comment'>-- are initially disabled.</span>
<a name="line-50"></a><span class='hs-comment'>--</span>
<a name="line-51"></a><span class='hs-comment'>-- The specified point size is multiplied with a distance attenuation factor</span>
<a name="line-52"></a><span class='hs-comment'>-- and clamped to the specified 'pointSizeRange', and further clamped to the</span>
<a name="line-53"></a><span class='hs-comment'>-- implementation-dependent point size range to produce the derived point size</span>
<a name="line-54"></a><span class='hs-comment'>-- using</span>
<a name="line-55"></a><span class='hs-comment'>--</span>
<a name="line-56"></a><span class='hs-comment'>-- @   /derivedSize/ = /clamp/ (/size/ * /sqrt/ (1 \/ (/a/ + /b/ * /d/ + /c/ * /d/^2)))@</span>
<a name="line-57"></a><span class='hs-comment'>--</span>
<a name="line-58"></a><span class='hs-comment'>-- where /d/ is the eye-coordinate distance from the eye to the vertex, and /a/,</span>
<a name="line-59"></a><span class='hs-comment'>-- /b/, and /c/ are the distance attenuation coefficients (see</span>
<a name="line-60"></a><span class='hs-comment'>-- 'pointDistanceAttenuation').</span>
<a name="line-61"></a><span class='hs-comment'>--</span>
<a name="line-62"></a><span class='hs-comment'>-- If multisampling is disabled, the computed point size is used as the point\'s</span>
<a name="line-63"></a><span class='hs-comment'>-- width.</span>
<a name="line-64"></a><span class='hs-comment'>--</span>
<a name="line-65"></a><span class='hs-comment'>-- If multisampling is enabled, the point may be faded by modifying the point</span>
<a name="line-66"></a><span class='hs-comment'>-- alpha value (see 'Graphics.Rendering.OpenGL.GL.PerFragment.sampleCoverage')</span>
<a name="line-67"></a><span class='hs-comment'>-- instead of allowing the point width to go below a given</span>
<a name="line-68"></a><span class='hs-comment'>-- 'pointFadeThresholdSize'. In this case, the width is further modified in</span>
<a name="line-69"></a><span class='hs-comment'>-- the following manner:</span>
<a name="line-70"></a><span class='hs-comment'>--</span>
<a name="line-71"></a><span class='hs-comment'>-- @   /width/ = if /derivedSize/ &gt;= /threshold/ then /derivedSize/ else /threshold/@</span>
<a name="line-72"></a><span class='hs-comment'>--</span>
<a name="line-73"></a><span class='hs-comment'>-- The point alpha value is modified by computing:</span>
<a name="line-74"></a><span class='hs-comment'>--</span>
<a name="line-75"></a><span class='hs-comment'>-- @   /alpha/ = if /derivedSize/ &gt;= /threshold/ then 1 else (/derivedSize/ \/ /threshold/)^2@</span>
<a name="line-76"></a><span class='hs-comment'>--</span>
<a name="line-77"></a><span class='hs-comment'>-- If point antialiasing is disabled, the actual size is determined by rounding</span>
<a name="line-78"></a><span class='hs-comment'>-- the supplied size to the nearest integer. (If the rounding results in the</span>
<a name="line-79"></a><span class='hs-comment'>-- value 0, it is as if the point size were 1.) If the rounded size is odd,</span>
<a name="line-80"></a><span class='hs-comment'>-- then the center point (/x/, /y/) of the pixel fragment that represents</span>
<a name="line-81"></a><span class='hs-comment'>-- the point is computed as</span>
<a name="line-82"></a><span class='hs-comment'>--</span>
<a name="line-83"></a><span class='hs-comment'>-- @   (/x/, /y/) = (/floor/ /xw/ + 0.5, /floor/ /yw/ + 0.5)@</span>
<a name="line-84"></a><span class='hs-comment'>--</span>
<a name="line-85"></a><span class='hs-comment'>-- where /xw/ and /yw/ indicate window coordinates. All pixels that lie within</span>
<a name="line-86"></a><span class='hs-comment'>-- the square grid of the rounded size centered at (/x/, /y/) make up the</span>
<a name="line-87"></a><span class='hs-comment'>-- fragment. If the size is even, the center point is</span>
<a name="line-88"></a><span class='hs-comment'>--</span>
<a name="line-89"></a><span class='hs-comment'>-- @   (/x/, /y/) = (/floor/ (/xw/ + 0.5), /floor/ (/yw/ + 0.5))@</span>
<a name="line-90"></a><span class='hs-comment'>--</span>
<a name="line-91"></a><span class='hs-comment'>-- and the rasterized fragment\'s centers are the half-integer window</span>
<a name="line-92"></a><span class='hs-comment'>-- coordinates within the square of the rounded size centered at (/x/, /y/). All</span>
<a name="line-93"></a><span class='hs-comment'>-- pixel fragments produced in rasterizing a nonantialiased point are assigned</span>
<a name="line-94"></a><span class='hs-comment'>-- the same associated data, that of the vertex corresponding to the point.</span>
<a name="line-95"></a><span class='hs-comment'>--</span>
<a name="line-96"></a><span class='hs-comment'>-- If antialiasing is enabled, then point rasterization produces a fragment for</span>
<a name="line-97"></a><span class='hs-comment'>-- each pixel square that intersects the region lying within the circle having</span>
<a name="line-98"></a><span class='hs-comment'>-- diameter equal to the current point size and centered at the point\'s</span>
<a name="line-99"></a><span class='hs-comment'>-- (/xw/, /yw/). The coverage value for each fragment is the window coordinate</span>
<a name="line-100"></a><span class='hs-comment'>-- area of the intersection of the circular region with the corresponding pixel</span>
<a name="line-101"></a><span class='hs-comment'>-- square. This value is saved and used in the final rasterization step. The</span>
<a name="line-102"></a><span class='hs-comment'>-- data associated with each fragment is the data associated with the point</span>
<a name="line-103"></a><span class='hs-comment'>-- being rasterized.</span>
<a name="line-104"></a><span class='hs-comment'>--</span>
<a name="line-105"></a><span class='hs-comment'>-- Not all sizes are supported when point antialiasing is enabled. If an</span>
<a name="line-106"></a><span class='hs-comment'>-- unsupported size is requested, the nearest supported size is used.  Only size</span>
<a name="line-107"></a><span class='hs-comment'>-- 1 is guaranteed to be supported; others depend on the implementation. To</span>
<a name="line-108"></a><span class='hs-comment'>-- query the range of supported sizes for antialiased points and the size</span>
<a name="line-109"></a><span class='hs-comment'>-- difference between supported sizes within the range, query</span>
<a name="line-110"></a><span class='hs-comment'>-- 'smoothPointSizeRange' and 'smoothPointSizeGranularity', respectively. For</span>
<a name="line-111"></a><span class='hs-comment'>-- aliased points, query the supported range with 'aliasedPointSizeRange'.</span>
<a name="line-112"></a><span class='hs-comment'>--</span>
<a name="line-113"></a><span class='hs-comment'>-- The point size specified when 'pointSize' is set is always returned when it</span>
<a name="line-114"></a><span class='hs-comment'>-- is queried. Clamping and rounding for aliased and antialiased points have no</span>
<a name="line-115"></a><span class='hs-comment'>-- effect on the specified value.</span>
<a name="line-116"></a><span class='hs-comment'>--</span>
<a name="line-117"></a><span class='hs-comment'>-- A non-antialiased point size may be clamped to an implementation-dependent</span>
<a name="line-118"></a><span class='hs-comment'>-- maximum. Although this maximum cannot be queried, it must be no less than the</span>
<a name="line-119"></a><span class='hs-comment'>-- maximum value for antialiased points, rounded to the nearest integer value.</span>
<a name="line-120"></a><span class='hs-comment'>--</span>
<a name="line-121"></a><span class='hs-comment'>-- An 'Graphics.Rendering.OpenGL.GLU.Errors.InvalidValue' is generated if</span>
<a name="line-122"></a><span class='hs-comment'>-- 'pointSize' is set to a value less than or equal to zero.</span>
<a name="line-123"></a><span class='hs-comment'>--</span>
<a name="line-124"></a><span class='hs-comment'>-- An 'Graphics.Rendering.OpenGL.GLU.Errors.InvalidOperation' is generated if</span>
<a name="line-125"></a><span class='hs-comment'>-- 'pointSize' is set during</span>
<a name="line-126"></a><span class='hs-comment'>-- 'Graphics.Rendering.OpenGL.GL.BeginEnd.renderPrimitive'.</span>
<a name="line-127"></a>
<a name="line-128"></a><a name="pointSize"></a><span class='hs-definition'>pointSize</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>StateVar</span> <span class='hs-conid'>GLfloat</span>
<a name="line-129"></a><span class='hs-definition'>pointSize</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>makeStateVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>getFloat1</span> <span class='hs-varid'>id</span> <span class='hs-conid'>GetPointSize</span><span class='hs-layout'>)</span> <span class='hs-varid'>glPointSize</span>
<a name="line-130"></a>
<a name="line-131"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-132"></a>
<a name="line-133"></a><a name="vertexProgramPointSize"></a><span class='hs-definition'>vertexProgramPointSize</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>StateVar</span> <span class='hs-conid'>Capability</span>
<a name="line-134"></a><span class='hs-definition'>vertexProgramPointSize</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>makeCapability</span> <span class='hs-conid'>CapVertexProgramPointSize</span>
<a name="line-135"></a>
<a name="line-136"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-137"></a>
<a name="line-138"></a><span class='hs-comment'>-- | The range to which the derived point size is clamped, see 'pointSize'. Note</span>
<a name="line-139"></a><span class='hs-comment'>-- that the size is further clamped to the implementation-dependent limits, see</span>
<a name="line-140"></a><span class='hs-comment'>-- 'aliasedPointSizeRange' and 'smoothPointSizeRange'. The initial range is</span>
<a name="line-141"></a><span class='hs-comment'>-- (0, 1).</span>
<a name="line-142"></a><span class='hs-comment'>--</span>
<a name="line-143"></a><span class='hs-comment'>-- An 'Graphics.Rendering.OpenGL.GLU.Errors.InvalidValue' is generated if the</span>
<a name="line-144"></a><span class='hs-comment'>-- lower or upper bound of the range is set to a value less than zero. If the</span>
<a name="line-145"></a><span class='hs-comment'>-- lower bound is greater than the upper bound, the point size after clamping is</span>
<a name="line-146"></a><span class='hs-comment'>-- undefined, but no error is generated.</span>
<a name="line-147"></a>
<a name="line-148"></a><a name="pointSizeRange"></a><span class='hs-definition'>pointSizeRange</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>StateVar</span> <span class='hs-layout'>(</span><span class='hs-conid'>GLfloat</span><span class='hs-layout'>,</span> <span class='hs-conid'>GLfloat</span><span class='hs-layout'>)</span>
<a name="line-149"></a><span class='hs-definition'>pointSizeRange</span> <span class='hs-keyglyph'>=</span>
<a name="line-150"></a>   <span class='hs-varid'>makeStateVar</span>
<a name="line-151"></a>   <span class='hs-layout'>(</span><span class='hs-varid'>liftM2</span> <span class='hs-conid'>(,)</span> <span class='hs-layout'>(</span><span class='hs-varid'>getFloat1</span> <span class='hs-varid'>id</span> <span class='hs-conid'>GetPointSizeMin</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>getFloat1</span> <span class='hs-varid'>id</span> <span class='hs-conid'>GetPointSizeMax</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-152"></a>   <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>sizeMin</span><span class='hs-layout'>,</span> <span class='hs-varid'>sizeMax</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-varid'>pointParameterf</span> <span class='hs-conid'>PointSizeMin</span> <span class='hs-varid'>sizeMin</span>
<a name="line-153"></a>                              <span class='hs-varid'>pointParameterf</span> <span class='hs-conid'>PointSizeMax</span> <span class='hs-varid'>sizeMax</span><span class='hs-layout'>)</span>
<a name="line-154"></a>
<a name="line-155"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-156"></a>
<a name="line-157"></a><span class='hs-comment'>-- | The  constant, linear, and quadratic distance attenuation coefficients, see</span>
<a name="line-158"></a><span class='hs-comment'>-- 'pointSize'. The initial coefficients are (1, 0, 0).</span>
<a name="line-159"></a>
<a name="line-160"></a><a name="pointDistanceAttenuation"></a><span class='hs-definition'>pointDistanceAttenuation</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>StateVar</span> <span class='hs-layout'>(</span><span class='hs-conid'>GLfloat</span><span class='hs-layout'>,</span> <span class='hs-conid'>GLfloat</span><span class='hs-layout'>,</span> <span class='hs-conid'>GLfloat</span><span class='hs-layout'>)</span>
<a name="line-161"></a><span class='hs-definition'>pointDistanceAttenuation</span> <span class='hs-keyglyph'>=</span>
<a name="line-162"></a>   <span class='hs-varid'>makeStateVar</span>
<a name="line-163"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>getFloat3</span> <span class='hs-conid'>(,,)</span> <span class='hs-conid'>GetPointDistanceAttenuation</span><span class='hs-layout'>)</span>
<a name="line-164"></a>      <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>a</span><span class='hs-layout'>,</span> <span class='hs-varid'>b</span><span class='hs-layout'>,</span> <span class='hs-varid'>c</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withArray</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>a</span><span class='hs-layout'>,</span> <span class='hs-varid'>b</span><span class='hs-layout'>,</span> <span class='hs-varid'>c</span><span class='hs-keyglyph'>]</span> <span class='hs-varop'>$</span>
<a name="line-165"></a>                        <span class='hs-varid'>pointParameterfv</span> <span class='hs-conid'>PointDistanceAttenuation</span><span class='hs-layout'>)</span>
<a name="line-166"></a>
<a name="line-167"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-168"></a>
<a name="line-169"></a><span class='hs-comment'>-- | The threshold for alpha attenuation of points when multisampling is used,</span>
<a name="line-170"></a><span class='hs-comment'>-- see 'pointSize'. The initial threshold is 1.</span>
<a name="line-171"></a><span class='hs-comment'>--</span>
<a name="line-172"></a><span class='hs-comment'>-- An 'Graphics.Rendering.OpenGL.GLU.Errors.InvalidValue' is generated if the</span>
<a name="line-173"></a><span class='hs-comment'>-- threshold is set to a value less than zero.</span>
<a name="line-174"></a>
<a name="line-175"></a><a name="pointFadeThresholdSize"></a><span class='hs-definition'>pointFadeThresholdSize</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>StateVar</span> <span class='hs-conid'>GLfloat</span>
<a name="line-176"></a><span class='hs-definition'>pointFadeThresholdSize</span> <span class='hs-keyglyph'>=</span>
<a name="line-177"></a>   <span class='hs-varid'>makeStateVar</span>
<a name="line-178"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>getFloat1</span> <span class='hs-varid'>id</span> <span class='hs-conid'>GetPointFadeThresholdSize</span><span class='hs-layout'>)</span>
<a name="line-179"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>pointParameterf</span> <span class='hs-conid'>PointFadeThresholdSize</span><span class='hs-layout'>)</span>
<a name="line-180"></a>
<a name="line-181"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-182"></a>
<a name="line-183"></a><span class='hs-comment'>-- | Controls whether point antialiasing is enabled. The initial state is</span>
<a name="line-184"></a><span class='hs-comment'>-- 'Graphics.Rendering.OpenGL.GL.Capability.Disabled'.</span>
<a name="line-185"></a>
<a name="line-186"></a><a name="pointSmooth"></a><span class='hs-definition'>pointSmooth</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>StateVar</span> <span class='hs-conid'>Capability</span>
<a name="line-187"></a><span class='hs-definition'>pointSmooth</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>makeCapability</span> <span class='hs-conid'>CapPointSmooth</span>
<a name="line-188"></a>
<a name="line-189"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-190"></a>
<a name="line-191"></a><span class='hs-comment'>-- | Controls whether point sprites are enabled. The initial state is</span>
<a name="line-192"></a><span class='hs-comment'>-- 'Graphics.Rendering.OpenGL.GL.Capability.Disabled'. When point sprites are</span>
<a name="line-193"></a><span class='hs-comment'>-- enabled, the state of point antialiasing (i.e. 'pointSmooth') is ignored.</span>
<a name="line-194"></a>
<a name="line-195"></a><a name="pointSprite"></a><span class='hs-definition'>pointSprite</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>StateVar</span> <span class='hs-conid'>Capability</span>
<a name="line-196"></a><span class='hs-definition'>pointSprite</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>makeCapability</span> <span class='hs-conid'>CapPointSprite</span>
<a name="line-197"></a>
<a name="line-198"></a><span class='hs-comment'>--------------------------------------------------------------------------------</span>
<a name="line-199"></a>
<a name="line-200"></a><span class='hs-comment'>-- | The smallest and largest supported size of aliased points.</span>
<a name="line-201"></a>
<a name="line-202"></a><a name="aliasedPointSizeRange"></a><span class='hs-definition'>aliasedPointSizeRange</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GettableStateVar</span> <span class='hs-layout'>(</span><span class='hs-conid'>GLfloat</span><span class='hs-layout'>,</span> <span class='hs-conid'>GLfloat</span><span class='hs-layout'>)</span>
<a name="line-203"></a><span class='hs-definition'>aliasedPointSizeRange</span> <span class='hs-keyglyph'>=</span>
<a name="line-204"></a>   <span class='hs-varid'>makeGettableStateVar</span> <span class='hs-varop'>$</span> <span class='hs-varid'>getFloat2</span> <span class='hs-conid'>(,)</span> <span class='hs-conid'>GetAliasedPointSizeRange</span>
<a name="line-205"></a>
<a name="line-206"></a><span class='hs-comment'>-- | The smallest and largest supported size of antialiased points.</span>
<a name="line-207"></a>
<a name="line-208"></a><a name="smoothPointSizeRange"></a><span class='hs-definition'>smoothPointSizeRange</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GettableStateVar</span> <span class='hs-layout'>(</span><span class='hs-conid'>GLfloat</span><span class='hs-layout'>,</span> <span class='hs-conid'>GLfloat</span><span class='hs-layout'>)</span>
<a name="line-209"></a><span class='hs-definition'>smoothPointSizeRange</span> <span class='hs-keyglyph'>=</span>
<a name="line-210"></a>   <span class='hs-varid'>makeGettableStateVar</span> <span class='hs-varop'>$</span> <span class='hs-varid'>getFloat2</span> <span class='hs-conid'>(,)</span> <span class='hs-conid'>GetSmoothPointSizeRange</span>
<a name="line-211"></a>
<a name="line-212"></a><span class='hs-comment'>-- | The antialiased point size granularity, i.e. the size difference between</span>
<a name="line-213"></a><span class='hs-comment'>-- supported sizes.</span>
<a name="line-214"></a>
<a name="line-215"></a><a name="smoothPointSizeGranularity"></a><span class='hs-definition'>smoothPointSizeGranularity</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GettableStateVar</span> <span class='hs-conid'>GLfloat</span>
<a name="line-216"></a><span class='hs-definition'>smoothPointSizeGranularity</span> <span class='hs-keyglyph'>=</span>
<a name="line-217"></a>   <span class='hs-varid'>makeGettableStateVar</span> <span class='hs-varop'>$</span> <span class='hs-varid'>getFloat1</span> <span class='hs-varid'>id</span> <span class='hs-conid'>GetSmoothPointSizeGranularity</span>
</pre></body>
</html>