@@ -110,13 +110,6 @@ data TextureSize3D = TextureSize3D !GLsizei !GLsizei !GLsizei
110
110
111
111
--------------------------------------------------------------------------------
112
112
113
- {-
114
- Allowed targets:
115
-
116
- TEXTURE_1D
117
- PROXY_TEXTURE_1D
118
- -}
119
-
120
113
texImage1D :: OneDimensionalTextureTarget t => t -> Proxy -> Level -> PixelInternalFormat -> TextureSize1D -> Border -> PixelData a -> IO ()
121
114
texImage1D target proxy level int (TextureSize1D w) border pd =
122
115
withPixelData pd $
@@ -125,26 +118,6 @@ texImage1D target proxy level int (TextureSize1D w) border pd =
125
118
level (marshalPixelInternalFormat int) w border
126
119
127
120
--------------------------------------------------------------------------------
128
- {-
129
- Allowed targets:
130
-
131
- TEXTURE_2D
132
- TEXTURE_1D_ARRAY
133
- TEXTURE_RECTANGLE
134
- TEXTURE_CUBE_MAP_POSITIVE_X
135
- TEXTURE_CUBE_MAP_NEGATIVE_X
136
- TEXTURE_CUBE_MAP_POSITIVE_Y
137
- TEXTURE_CUBE_MAP_NEGATIVE_Y
138
- TEXTURE_CUBE_MAP_POSITIVE_Z
139
- TEXTURE_CUBE_MAP_NEGATIVE_Z
140
- PROXY_TEXTURE_2D
141
- PROXY_TEXTURE_1D_ARRAY
142
- PROXY_TEXTURE_RECTANGLE
143
- PROXY_TEXTURE_CUBE_MAP
144
-
145
- Note: No TEXTURE_2D_MULTISAMPLE or PROXY_TEXTURE_2D_MULTISAMPLE targets! For
146
- these use glTexImage2DMultisample.
147
- -}
148
121
149
122
texImage2D :: TwoDimensionalTextureTarget t => t -> Proxy -> Level -> PixelInternalFormat -> TextureSize2D -> Border -> PixelData a -> IO ()
150
123
texImage2D target proxy level int (TextureSize2D w h) border pd =
@@ -153,20 +126,6 @@ texImage2D target proxy level int (TextureSize2D w h) border pd =
153
126
154
127
--------------------------------------------------------------------------------
155
128
156
- {-
157
- Allowed targets:
158
-
159
- TEXTURE_3D
160
- TEXTURE_2D_ARRAY
161
- TEXTURE_CUBE_MAP_ARRAY
162
- PROXY_TEXTURE_3D
163
- PROXY_TEXTURE_2D_ARRAY
164
- PROXY_TEXTURE_CUBE_MAP_ARRAY
165
-
166
- Note: No TEXTURE_2D_MULTISAMPLE_ARRAY or PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY
167
- targets! For these use glTexImage3DMultisample.
168
- -}
169
-
170
129
texImage3D :: ThreeDimensionalTextureTarget t => t -> Proxy -> Level -> PixelInternalFormat -> TextureSize3D -> Border -> PixelData a -> IO ()
171
130
texImage3D target proxy level int (TextureSize3D w h d) border pd =
172
131
withPixelData pd $
@@ -176,34 +135,13 @@ texImage3D target proxy level int (TextureSize3D w h d) border pd =
176
135
177
136
--------------------------------------------------------------------------------
178
137
179
- {-
180
- Allowed targets:
181
-
182
- TEXTURE_1D
183
- ------------------------------------------------------------------------------
184
- TEXTURE_2D
185
- TEXTURE_1D_ARRAY
186
- TEXTURE_RECTANGLE
187
- TEXTURE_CUBE_MAP_POSITIVE_X
188
- TEXTURE_CUBE_MAP_NEGATIVE_X
189
- TEXTURE_CUBE_MAP_POSITIVE_Y
190
- TEXTURE_CUBE_MAP_NEGATIVE_Y
191
- TEXTURE_CUBE_MAP_POSITIVE_Z
192
- TEXTURE_CUBE_MAP_NEGATIVE_Z
193
- ------------------------------------------------------------------------------
194
- TEXTURE_3D
195
- TEXTURE_2D_ARRAY
196
- TEXTURE_CUBE_MAP_ARRAY
197
- -}
198
-
199
138
getTexImage :: GettableTextureTarget t => t -> Level -> PixelData a -> IO ()
200
139
getTexImage target level pd =
201
140
withPixelData pd $
202
141
glGetTexImage (marshalGettableTextureTarget target) level
203
142
204
143
--------------------------------------------------------------------------------
205
144
206
- -- see texImage1D, but no proxies
207
145
copyTexImage1D :: OneDimensionalTextureTarget t => t -> Level -> PixelInternalFormat -> Position -> TextureSize1D -> Border -> IO ()
208
146
copyTexImage1D target level int (Position x y) (TextureSize1D w) border =
209
147
glCopyTexImage1D
@@ -212,7 +150,6 @@ copyTexImage1D target level int (Position x y) (TextureSize1D w) border =
212
150
213
151
--------------------------------------------------------------------------------
214
152
215
- -- see texImage2D, but no proxies
216
153
copyTexImage2D :: TwoDimensionalTextureTarget t => t -> Level -> PixelInternalFormat -> Position -> TextureSize2D -> Border -> IO ()
217
154
copyTexImage2D target level int (Position x y) (TextureSize2D w h) border =
218
155
glCopyTexImage2D
@@ -221,45 +158,39 @@ copyTexImage2D target level int (Position x y) (TextureSize2D w h) border =
221
158
222
159
--------------------------------------------------------------------------------
223
160
224
- -- see texImage1D, but no proxies
225
161
texSubImage1D :: OneDimensionalTextureTarget t => t -> Level -> TexturePosition1D -> TextureSize1D -> PixelData a -> IO ()
226
162
texSubImage1D target level (TexturePosition1D xOff) (TextureSize1D w) pd =
227
163
withPixelData pd $
228
164
glTexSubImage1D (marshalOneDimensionalTextureTarget NoProxy target) level xOff w
229
165
230
166
--------------------------------------------------------------------------------
231
167
232
- -- see texImage2D, but no proxies
233
168
texSubImage2D :: TwoDimensionalTextureTarget t => t -> Level -> TexturePosition2D -> TextureSize2D -> PixelData a -> IO ()
234
169
texSubImage2D target level (TexturePosition2D xOff yOff) (TextureSize2D w h) pd =
235
170
withPixelData pd $
236
171
glTexSubImage2D (marshalTwoDimensionalTextureTarget NoProxy target) level xOff yOff w h
237
172
238
173
--------------------------------------------------------------------------------
239
174
240
- -- see texImage3D, but no proxies
241
175
texSubImage3D :: ThreeDimensionalTextureTarget t => t -> Level -> TexturePosition3D -> TextureSize3D -> PixelData a -> IO ()
242
176
texSubImage3D target level (TexturePosition3D xOff yOff zOff) (TextureSize3D w h d) pd =
243
177
withPixelData pd $
244
178
glTexSubImage3D (marshalThreeDimensionalTextureTarget NoProxy target) level xOff yOff zOff w h d
245
179
246
180
--------------------------------------------------------------------------------
247
181
248
- -- see texImage1D, but no proxies
249
182
copyTexSubImage1D :: OneDimensionalTextureTarget t => t -> Level -> TexturePosition1D -> Position -> TextureSize1D -> IO ()
250
183
copyTexSubImage1D target level (TexturePosition1D xOff) (Position x y) (TextureSize1D w) =
251
184
glCopyTexSubImage1D (marshalOneDimensionalTextureTarget NoProxy target) level xOff x y w
252
185
253
186
--------------------------------------------------------------------------------
254
187
255
- -- see texImage2D, but no proxies
256
188
copyTexSubImage2D :: TwoDimensionalTextureTarget t => t -> Level -> TexturePosition2D -> Position -> TextureSize2D -> IO ()
257
189
copyTexSubImage2D target level (TexturePosition2D xOff yOff) (Position x y) (TextureSize2D w h) =
258
190
glCopyTexSubImage2D (marshalTwoDimensionalTextureTarget NoProxy target) level xOff yOff x y w h
259
191
260
192
--------------------------------------------------------------------------------
261
193
262
- -- see texImage3D, but no proxies
263
194
copyTexSubImage3D :: ThreeDimensionalTextureTarget t => t -> Level -> TexturePosition3D -> Position -> TextureSize2D -> IO ()
264
195
copyTexSubImage3D target level (TexturePosition3D xOff yOff zOff) (Position x y) (TextureSize2D w h) =
265
196
glCopyTexSubImage3D (marshalThreeDimensionalTextureTarget NoProxy target) level xOff yOff zOff x y w h
@@ -289,7 +220,6 @@ withCompressedPixelData
289
220
290
221
--------------------------------------------------------------------------------
291
222
292
- -- see texImage1D
293
223
compressedTexImage1D :: OneDimensionalTextureTarget t => t -> Proxy -> Level -> TextureSize1D -> Border -> CompressedPixelData a -> IO ()
294
224
compressedTexImage1D target proxy level (TextureSize1D w) border cpd =
295
225
withCompressedPixelData cpd $ \ fmt ->
@@ -298,16 +228,15 @@ compressedTexImage1D target proxy level (TextureSize1D w) border cpd =
298
228
299
229
--------------------------------------------------------------------------------
300
230
301
- -- see texImage2D, but note that the spec currently disallows TextureRectangle,
302
- -- but then again the extension explicitly allows a relaxation in the future.
231
+ -- Note that the spec currently disallows TextureRectangle, but then again the
232
+ -- extension specification explicitly allows a relaxation in the future.
303
233
compressedTexImage2D :: TwoDimensionalTextureTarget t => t -> Proxy -> Level -> TextureSize2D -> Border -> CompressedPixelData a -> IO ()
304
234
compressedTexImage2D target proxy level (TextureSize2D w h) border cpd =
305
235
withCompressedPixelData cpd $ \ fmt ->
306
236
glCompressedTexImage2D (marshalTwoDimensionalTextureTarget proxy target) level fmt w h border
307
237
308
238
--------------------------------------------------------------------------------
309
239
310
- -- see texImage3D
311
240
compressedTexImage3D :: ThreeDimensionalTextureTarget t => t -> Proxy -> Level -> TextureSize3D -> Border -> CompressedPixelData a -> IO ()
312
241
compressedTexImage3D target proxy level (TextureSize3D w h d) border cpd =
313
242
withCompressedPixelData cpd $ \ fmt ->
@@ -321,15 +250,13 @@ getCompressedTexImage = glGetCompressedTexImage . marshalGettableTextureTarget
321
250
322
251
--------------------------------------------------------------------------------
323
252
324
- -- see texImage1D, but no proxies
325
253
compressedTexSubImage1D :: OneDimensionalTextureTarget t => t -> Level -> TexturePosition1D -> TextureSize1D -> CompressedPixelData a -> IO ()
326
254
compressedTexSubImage1D target level (TexturePosition1D xOff) (TextureSize1D w) cpd =
327
255
withCompressedPixelData cpd $
328
256
glCompressedTexSubImage1D (marshalOneDimensionalTextureTarget NoProxy target) level xOff w
329
257
330
258
--------------------------------------------------------------------------------
331
259
332
- -- see texImage2D, but no proxies
333
260
compressedTexSubImage2D :: TwoDimensionalTextureTarget t => t -> Level -> TexturePosition2D -> TextureSize2D -> CompressedPixelData a -> IO ()
334
261
compressedTexSubImage2D target level (TexturePosition2D xOff yOff) (TextureSize2D w h) cpd =
335
262
withCompressedPixelData cpd $
@@ -393,6 +320,7 @@ texImage3DMultisample target proxy (Samples s) int (TextureSize3D w h d) loc =
393
320
w h d (marshalSampleLocations loc)
394
321
395
322
--------------------------------------------------------------------------------
323
+
396
324
maxTextureSize :: GettableStateVar GLsizei
397
325
maxTextureSize = maxTextureSizeWith GetMaxTextureSize
398
326
0 commit comments