1 /++
2 + Machine generated D bindings for Sokol library.
3 + 
4 +     Source header: sokol_gl.h
5 +     Module: sokol.gl
6 + 
7 +     Do not edit manually; regenerate using gen_d.py.
8 +/
9 module sokol.gl;
10 import sg = sokol.gfx;
11 
12 enum LogItem {
13     Ok,
14     Malloc_failed,
15     Make_pipeline_failed,
16     Pipeline_pool_exhausted,
17     Add_commit_listener_failed,
18     Context_pool_exhausted,
19     Cannot_destroy_default_context,
20 }
21 /++
22 + sgl_logger_t
23 + 
24 +     Used in sgl_desc_t to provide a custom logging and error reporting
25 +     callback to sokol-gl.
26 +/
27 extern(C) struct Logger {
28     extern(C) void function(const(char)*, uint, uint, const(char)*, uint, const(char)*, void*) func = null;
29     void* user_data = null;
30 }
31 /++
32 + sokol_gl pipeline handle (created with sgl_make_pipeline())
33 +/
34 extern(C) struct Pipeline {
35     uint id = 0;
36 }
37 /++
38 + a context handle (created with sgl_make_context())
39 +/
40 extern(C) struct Context {
41     uint id = 0;
42 }
43 /++
44 + sgl_error_t
45 + 
46 +     Errors are reset each frame after calling sgl_draw(),
47 +     get the last error code with sgl_error()
48 +/
49 extern(C) struct Error {
50     bool any = false;
51     bool vertices_full = false;
52     bool uniforms_full = false;
53     bool commands_full = false;
54     bool stack_overflow = false;
55     bool stack_underflow = false;
56     bool no_context = false;
57 }
58 /++
59 + sgl_context_desc_t
60 + 
61 +     Describes the initialization parameters of a rendering context.
62 +     Creating additional contexts is useful if you want to render
63 +     in separate sokol-gfx passes.
64 +/
65 extern(C) struct ContextDesc {
66     int max_vertices = 0;
67     int max_commands = 0;
68     sg.PixelFormat color_format = sg.PixelFormat.Default;
69     sg.PixelFormat depth_format = sg.PixelFormat.Default;
70     int sample_count = 0;
71 }
72 /++
73 + sgl_allocator_t
74 + 
75 +     Used in sgl_desc_t to provide custom memory-alloc and -free functions
76 +     to sokol_gl.h. If memory management should be overridden, both the
77 +     alloc and free function must be provided (e.g. it's not valid to
78 +     override one function but not the other).
79 +/
80 extern(C) struct Allocator {
81     extern(C) void* function(size_t, void*) alloc_fn = null;
82     extern(C) void function(void*, void*) free_fn = null;
83     void* user_data = null;
84 }
85 extern(C) struct Desc {
86     int max_vertices = 0;
87     int max_commands = 0;
88     int context_pool_size = 0;
89     int pipeline_pool_size = 0;
90     sg.PixelFormat color_format = sg.PixelFormat.Default;
91     sg.PixelFormat depth_format = sg.PixelFormat.Default;
92     int sample_count = 0;
93     sg.FaceWinding face_winding = sg.FaceWinding.Default;
94     Allocator allocator = {};
95     Logger logger = {};
96 }
97 /++
98 + setup/shutdown/misc
99 +/
100 extern(C) void sgl_setup(const Desc* desc) @system @nogc nothrow pure;
101 void setup(scope ref Desc desc) @trusted @nogc nothrow pure {
102     sgl_setup(&desc);
103 }
104 extern(C) void sgl_shutdown() @system @nogc nothrow pure;
105 void shutdown() @trusted @nogc nothrow pure {
106     sgl_shutdown();
107 }
108 extern(C) float sgl_rad(float deg) @system @nogc nothrow pure;
109 float asRadians(float deg) @trusted @nogc nothrow pure {
110     return sgl_rad(deg);
111 }
112 extern(C) float sgl_deg(float rad) @system @nogc nothrow pure;
113 float asDegrees(float rad) @trusted @nogc nothrow pure {
114     return sgl_deg(rad);
115 }
116 extern(C) Error sgl_error() @system @nogc nothrow pure;
117 Error getError() @trusted @nogc nothrow pure {
118     return sgl_error();
119 }
120 extern(C) Error sgl_context_error(Context ctx) @system @nogc nothrow pure;
121 Error contextError(Context ctx) @trusted @nogc nothrow pure {
122     return sgl_context_error(ctx);
123 }
124 /++
125 + context functions
126 +/
127 extern(C) Context sgl_make_context(const ContextDesc* desc) @system @nogc nothrow pure;
128 Context makeContext(scope ref ContextDesc desc) @trusted @nogc nothrow pure {
129     return sgl_make_context(&desc);
130 }
131 extern(C) void sgl_destroy_context(Context ctx) @system @nogc nothrow pure;
132 void destroyContext(Context ctx) @trusted @nogc nothrow pure {
133     sgl_destroy_context(ctx);
134 }
135 extern(C) void sgl_set_context(Context ctx) @system @nogc nothrow pure;
136 void setContext(Context ctx) @trusted @nogc nothrow pure {
137     sgl_set_context(ctx);
138 }
139 extern(C) Context sgl_get_context() @system @nogc nothrow pure;
140 Context getContext() @trusted @nogc nothrow pure {
141     return sgl_get_context();
142 }
143 extern(C) Context sgl_default_context() @system @nogc nothrow pure;
144 Context defaultContext() @trusted @nogc nothrow pure {
145     return sgl_default_context();
146 }
147 /++
148 + get information about recorded vertices and commands in current context
149 +/
150 extern(C) int sgl_num_vertices() @system @nogc nothrow pure;
151 int numVertices() @trusted @nogc nothrow pure {
152     return sgl_num_vertices();
153 }
154 extern(C) int sgl_num_commands() @system @nogc nothrow pure;
155 int numCommands() @trusted @nogc nothrow pure {
156     return sgl_num_commands();
157 }
158 /++
159 + draw recorded commands (call inside a sokol-gfx render pass)
160 +/
161 extern(C) void sgl_draw() @system @nogc nothrow pure;
162 void draw() @trusted @nogc nothrow pure {
163     sgl_draw();
164 }
165 extern(C) void sgl_context_draw(Context ctx) @system @nogc nothrow pure;
166 void contextDraw(Context ctx) @trusted @nogc nothrow pure {
167     sgl_context_draw(ctx);
168 }
169 extern(C) void sgl_draw_layer(int layer_id) @system @nogc nothrow pure;
170 void drawLayer(int layer_id) @trusted @nogc nothrow pure {
171     sgl_draw_layer(layer_id);
172 }
173 extern(C) void sgl_context_draw_layer(Context ctx, int layer_id) @system @nogc nothrow pure;
174 void contextDrawLayer(Context ctx, int layer_id) @trusted @nogc nothrow pure {
175     sgl_context_draw_layer(ctx, layer_id);
176 }
177 /++
178 + create and destroy pipeline objects
179 +/
180 extern(C) Pipeline sgl_make_pipeline(const sg.PipelineDesc* desc) @system @nogc nothrow pure;
181 Pipeline makePipeline(scope ref sg.PipelineDesc desc) @trusted @nogc nothrow pure {
182     return sgl_make_pipeline(&desc);
183 }
184 extern(C) Pipeline sgl_context_make_pipeline(Context ctx, const sg.PipelineDesc* desc) @system @nogc nothrow pure;
185 Pipeline contextMakePipeline(Context ctx, scope ref sg.PipelineDesc desc) @trusted @nogc nothrow pure {
186     return sgl_context_make_pipeline(ctx, &desc);
187 }
188 extern(C) void sgl_destroy_pipeline(Pipeline pip) @system @nogc nothrow pure;
189 void destroyPipeline(Pipeline pip) @trusted @nogc nothrow pure {
190     sgl_destroy_pipeline(pip);
191 }
192 /++
193 + render state functions
194 +/
195 extern(C) void sgl_defaults() @system @nogc nothrow pure;
196 void defaults() @trusted @nogc nothrow pure {
197     sgl_defaults();
198 }
199 extern(C) void sgl_viewport(int x, int y, int w, int h, bool origin_top_left) @system @nogc nothrow pure;
200 void viewport(int x, int y, int w, int h, bool origin_top_left) @trusted @nogc nothrow pure {
201     sgl_viewport(x, y, w, h, origin_top_left);
202 }
203 extern(C) void sgl_viewportf(float x, float y, float w, float h, bool origin_top_left) @system @nogc nothrow pure;
204 void viewportf(float x, float y, float w, float h, bool origin_top_left) @trusted @nogc nothrow pure {
205     sgl_viewportf(x, y, w, h, origin_top_left);
206 }
207 extern(C) void sgl_scissor_rect(int x, int y, int w, int h, bool origin_top_left) @system @nogc nothrow pure;
208 void scissorRect(int x, int y, int w, int h, bool origin_top_left) @trusted @nogc nothrow pure {
209     sgl_scissor_rect(x, y, w, h, origin_top_left);
210 }
211 extern(C) void sgl_scissor_rectf(float x, float y, float w, float h, bool origin_top_left) @system @nogc nothrow pure;
212 void scissorRectf(float x, float y, float w, float h, bool origin_top_left) @trusted @nogc nothrow pure {
213     sgl_scissor_rectf(x, y, w, h, origin_top_left);
214 }
215 extern(C) void sgl_enable_texture() @system @nogc nothrow pure;
216 void enableTexture() @trusted @nogc nothrow pure {
217     sgl_enable_texture();
218 }
219 extern(C) void sgl_disable_texture() @system @nogc nothrow pure;
220 void disableTexture() @trusted @nogc nothrow pure {
221     sgl_disable_texture();
222 }
223 extern(C) void sgl_texture(sg.View tex_view, sg.Sampler smp) @system @nogc nothrow pure;
224 void texture(sg.View tex_view, sg.Sampler smp) @trusted @nogc nothrow pure {
225     sgl_texture(tex_view, smp);
226 }
227 extern(C) void sgl_layer(int layer_id) @system @nogc nothrow pure;
228 void layer(int layer_id) @trusted @nogc nothrow pure {
229     sgl_layer(layer_id);
230 }
231 /++
232 + pipeline stack functions
233 +/
234 extern(C) void sgl_load_default_pipeline() @system @nogc nothrow pure;
235 void loadDefaultPipeline() @trusted @nogc nothrow pure {
236     sgl_load_default_pipeline();
237 }
238 extern(C) void sgl_load_pipeline(Pipeline pip) @system @nogc nothrow pure;
239 void loadPipeline(Pipeline pip) @trusted @nogc nothrow pure {
240     sgl_load_pipeline(pip);
241 }
242 extern(C) void sgl_push_pipeline() @system @nogc nothrow pure;
243 void pushPipeline() @trusted @nogc nothrow pure {
244     sgl_push_pipeline();
245 }
246 extern(C) void sgl_pop_pipeline() @system @nogc nothrow pure;
247 void popPipeline() @trusted @nogc nothrow pure {
248     sgl_pop_pipeline();
249 }
250 /++
251 + matrix stack functions
252 +/
253 extern(C) void sgl_matrix_mode_modelview() @system @nogc nothrow pure;
254 void matrixModeModelview() @trusted @nogc nothrow pure {
255     sgl_matrix_mode_modelview();
256 }
257 extern(C) void sgl_matrix_mode_projection() @system @nogc nothrow pure;
258 void matrixModeProjection() @trusted @nogc nothrow pure {
259     sgl_matrix_mode_projection();
260 }
261 extern(C) void sgl_matrix_mode_texture() @system @nogc nothrow pure;
262 void matrixModeTexture() @trusted @nogc nothrow pure {
263     sgl_matrix_mode_texture();
264 }
265 extern(C) void sgl_load_identity() @system @nogc nothrow pure;
266 void loadIdentity() @trusted @nogc nothrow pure {
267     sgl_load_identity();
268 }
269 extern(C) void sgl_load_matrix(const float* m) @system @nogc nothrow pure;
270 void loadMatrix(const float* m) @trusted @nogc nothrow pure {
271     sgl_load_matrix(m);
272 }
273 extern(C) void sgl_load_transpose_matrix(const float* m) @system @nogc nothrow pure;
274 void loadTransposeMatrix(const float* m) @trusted @nogc nothrow pure {
275     sgl_load_transpose_matrix(m);
276 }
277 extern(C) void sgl_mult_matrix(const float* m) @system @nogc nothrow pure;
278 void multMatrix(const float* m) @trusted @nogc nothrow pure {
279     sgl_mult_matrix(m);
280 }
281 extern(C) void sgl_mult_transpose_matrix(const float* m) @system @nogc nothrow pure;
282 void multTransposeMatrix(const float* m) @trusted @nogc nothrow pure {
283     sgl_mult_transpose_matrix(m);
284 }
285 extern(C) void sgl_rotate(float angle_rad, float x, float y, float z) @system @nogc nothrow pure;
286 void rotate(float angle_rad, float x, float y, float z) @trusted @nogc nothrow pure {
287     sgl_rotate(angle_rad, x, y, z);
288 }
289 extern(C) void sgl_scale(float x, float y, float z) @system @nogc nothrow pure;
290 void scale(float x, float y, float z) @trusted @nogc nothrow pure {
291     sgl_scale(x, y, z);
292 }
293 extern(C) void sgl_translate(float x, float y, float z) @system @nogc nothrow pure;
294 void translate(float x, float y, float z) @trusted @nogc nothrow pure {
295     sgl_translate(x, y, z);
296 }
297 extern(C) void sgl_frustum(float l, float r, float b, float t, float n, float f) @system @nogc nothrow pure;
298 void frustum(float l, float r, float b, float t, float n, float f) @trusted @nogc nothrow pure {
299     sgl_frustum(l, r, b, t, n, f);
300 }
301 extern(C) void sgl_ortho(float l, float r, float b, float t, float n, float f) @system @nogc nothrow pure;
302 void ortho(float l, float r, float b, float t, float n, float f) @trusted @nogc nothrow pure {
303     sgl_ortho(l, r, b, t, n, f);
304 }
305 extern(C) void sgl_perspective(float fov_y, float aspect, float z_near, float z_far) @system @nogc nothrow pure;
306 void perspective(float fov_y, float aspect, float z_near, float z_far) @trusted @nogc nothrow pure {
307     sgl_perspective(fov_y, aspect, z_near, z_far);
308 }
309 extern(C) void sgl_lookat(float eye_x, float eye_y, float eye_z, float center_x, float center_y, float center_z, float up_x, float up_y, float up_z) @system @nogc nothrow pure;
310 void lookat(float eye_x, float eye_y, float eye_z, float center_x, float center_y, float center_z, float up_x, float up_y, float up_z) @trusted @nogc nothrow pure {
311     sgl_lookat(eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z);
312 }
313 extern(C) void sgl_push_matrix() @system @nogc nothrow pure;
314 void pushMatrix() @trusted @nogc nothrow pure {
315     sgl_push_matrix();
316 }
317 extern(C) void sgl_pop_matrix() @system @nogc nothrow pure;
318 void popMatrix() @trusted @nogc nothrow pure {
319     sgl_pop_matrix();
320 }
321 /++
322 + these functions only set the internal 'current texcoord / color / point size' (valid inside or outside begin/end)
323 +/
324 extern(C) void sgl_t2f(float u, float v) @system @nogc nothrow pure;
325 void t2f(float u, float v) @trusted @nogc nothrow pure {
326     sgl_t2f(u, v);
327 }
328 extern(C) void sgl_c3f(float r, float g, float b) @system @nogc nothrow pure;
329 void c3f(float r, float g, float b) @trusted @nogc nothrow pure {
330     sgl_c3f(r, g, b);
331 }
332 extern(C) void sgl_c4f(float r, float g, float b, float a) @system @nogc nothrow pure;
333 void c4f(float r, float g, float b, float a) @trusted @nogc nothrow pure {
334     sgl_c4f(r, g, b, a);
335 }
336 extern(C) void sgl_c3b(ubyte r, ubyte g, ubyte b) @system @nogc nothrow pure;
337 void c3b(ubyte r, ubyte g, ubyte b) @trusted @nogc nothrow pure {
338     sgl_c3b(r, g, b);
339 }
340 extern(C) void sgl_c4b(ubyte r, ubyte g, ubyte b, ubyte a) @system @nogc nothrow pure;
341 void c4b(ubyte r, ubyte g, ubyte b, ubyte a) @trusted @nogc nothrow pure {
342     sgl_c4b(r, g, b, a);
343 }
344 extern(C) void sgl_c1i(uint rgba) @system @nogc nothrow pure;
345 void c1i(uint rgba) @trusted @nogc nothrow pure {
346     sgl_c1i(rgba);
347 }
348 extern(C) void sgl_point_size(float s) @system @nogc nothrow pure;
349 void pointSize(float s) @trusted @nogc nothrow pure {
350     sgl_point_size(s);
351 }
352 /++
353 + define primitives, each begin/end is one draw command
354 +/
355 extern(C) void sgl_begin_points() @system @nogc nothrow pure;
356 void beginPoints() @trusted @nogc nothrow pure {
357     sgl_begin_points();
358 }
359 extern(C) void sgl_begin_lines() @system @nogc nothrow pure;
360 void beginLines() @trusted @nogc nothrow pure {
361     sgl_begin_lines();
362 }
363 extern(C) void sgl_begin_line_strip() @system @nogc nothrow pure;
364 void beginLineStrip() @trusted @nogc nothrow pure {
365     sgl_begin_line_strip();
366 }
367 extern(C) void sgl_begin_triangles() @system @nogc nothrow pure;
368 void beginTriangles() @trusted @nogc nothrow pure {
369     sgl_begin_triangles();
370 }
371 extern(C) void sgl_begin_triangle_strip() @system @nogc nothrow pure;
372 void beginTriangleStrip() @trusted @nogc nothrow pure {
373     sgl_begin_triangle_strip();
374 }
375 extern(C) void sgl_begin_quads() @system @nogc nothrow pure;
376 void beginQuads() @trusted @nogc nothrow pure {
377     sgl_begin_quads();
378 }
379 extern(C) void sgl_v2f(float x, float y) @system @nogc nothrow pure;
380 void v2f(float x, float y) @trusted @nogc nothrow pure {
381     sgl_v2f(x, y);
382 }
383 extern(C) void sgl_v3f(float x, float y, float z) @system @nogc nothrow pure;
384 void v3f(float x, float y, float z) @trusted @nogc nothrow pure {
385     sgl_v3f(x, y, z);
386 }
387 extern(C) void sgl_v2f_t2f(float x, float y, float u, float v) @system @nogc nothrow pure;
388 void v2fT2f(float x, float y, float u, float v) @trusted @nogc nothrow pure {
389     sgl_v2f_t2f(x, y, u, v);
390 }
391 extern(C) void sgl_v3f_t2f(float x, float y, float z, float u, float v) @system @nogc nothrow pure;
392 void v3fT2f(float x, float y, float z, float u, float v) @trusted @nogc nothrow pure {
393     sgl_v3f_t2f(x, y, z, u, v);
394 }
395 extern(C) void sgl_v2f_c3f(float x, float y, float r, float g, float b) @system @nogc nothrow pure;
396 void v2fC3f(float x, float y, float r, float g, float b) @trusted @nogc nothrow pure {
397     sgl_v2f_c3f(x, y, r, g, b);
398 }
399 extern(C) void sgl_v2f_c3b(float x, float y, ubyte r, ubyte g, ubyte b) @system @nogc nothrow pure;
400 void v2fC3b(float x, float y, ubyte r, ubyte g, ubyte b) @trusted @nogc nothrow pure {
401     sgl_v2f_c3b(x, y, r, g, b);
402 }
403 extern(C) void sgl_v2f_c4f(float x, float y, float r, float g, float b, float a) @system @nogc nothrow pure;
404 void v2fC4f(float x, float y, float r, float g, float b, float a) @trusted @nogc nothrow pure {
405     sgl_v2f_c4f(x, y, r, g, b, a);
406 }
407 extern(C) void sgl_v2f_c4b(float x, float y, ubyte r, ubyte g, ubyte b, ubyte a) @system @nogc nothrow pure;
408 void v2fC4b(float x, float y, ubyte r, ubyte g, ubyte b, ubyte a) @trusted @nogc nothrow pure {
409     sgl_v2f_c4b(x, y, r, g, b, a);
410 }
411 extern(C) void sgl_v2f_c1i(float x, float y, uint rgba) @system @nogc nothrow pure;
412 void v2fC1i(float x, float y, uint rgba) @trusted @nogc nothrow pure {
413     sgl_v2f_c1i(x, y, rgba);
414 }
415 extern(C) void sgl_v3f_c3f(float x, float y, float z, float r, float g, float b) @system @nogc nothrow pure;
416 void v3fC3f(float x, float y, float z, float r, float g, float b) @trusted @nogc nothrow pure {
417     sgl_v3f_c3f(x, y, z, r, g, b);
418 }
419 extern(C) void sgl_v3f_c3b(float x, float y, float z, ubyte r, ubyte g, ubyte b) @system @nogc nothrow pure;
420 void v3fC3b(float x, float y, float z, ubyte r, ubyte g, ubyte b) @trusted @nogc nothrow pure {
421     sgl_v3f_c3b(x, y, z, r, g, b);
422 }
423 extern(C) void sgl_v3f_c4f(float x, float y, float z, float r, float g, float b, float a) @system @nogc nothrow pure;
424 void v3fC4f(float x, float y, float z, float r, float g, float b, float a) @trusted @nogc nothrow pure {
425     sgl_v3f_c4f(x, y, z, r, g, b, a);
426 }
427 extern(C) void sgl_v3f_c4b(float x, float y, float z, ubyte r, ubyte g, ubyte b, ubyte a) @system @nogc nothrow pure;
428 void v3fC4b(float x, float y, float z, ubyte r, ubyte g, ubyte b, ubyte a) @trusted @nogc nothrow pure {
429     sgl_v3f_c4b(x, y, z, r, g, b, a);
430 }
431 extern(C) void sgl_v3f_c1i(float x, float y, float z, uint rgba) @system @nogc nothrow pure;
432 void v3fC1i(float x, float y, float z, uint rgba) @trusted @nogc nothrow pure {
433     sgl_v3f_c1i(x, y, z, rgba);
434 }
435 extern(C) void sgl_v2f_t2f_c3f(float x, float y, float u, float v, float r, float g, float b) @system @nogc nothrow pure;
436 void v2fT2fC3f(float x, float y, float u, float v, float r, float g, float b) @trusted @nogc nothrow pure {
437     sgl_v2f_t2f_c3f(x, y, u, v, r, g, b);
438 }
439 extern(C) void sgl_v2f_t2f_c3b(float x, float y, float u, float v, ubyte r, ubyte g, ubyte b) @system @nogc nothrow pure;
440 void v2fT2fC3b(float x, float y, float u, float v, ubyte r, ubyte g, ubyte b) @trusted @nogc nothrow pure {
441     sgl_v2f_t2f_c3b(x, y, u, v, r, g, b);
442 }
443 extern(C) void sgl_v2f_t2f_c4f(float x, float y, float u, float v, float r, float g, float b, float a) @system @nogc nothrow pure;
444 void v2fT2fC4f(float x, float y, float u, float v, float r, float g, float b, float a) @trusted @nogc nothrow pure {
445     sgl_v2f_t2f_c4f(x, y, u, v, r, g, b, a);
446 }
447 extern(C) void sgl_v2f_t2f_c4b(float x, float y, float u, float v, ubyte r, ubyte g, ubyte b, ubyte a) @system @nogc nothrow pure;
448 void v2fT2fC4b(float x, float y, float u, float v, ubyte r, ubyte g, ubyte b, ubyte a) @trusted @nogc nothrow pure {
449     sgl_v2f_t2f_c4b(x, y, u, v, r, g, b, a);
450 }
451 extern(C) void sgl_v2f_t2f_c1i(float x, float y, float u, float v, uint rgba) @system @nogc nothrow pure;
452 void v2fT2fC1i(float x, float y, float u, float v, uint rgba) @trusted @nogc nothrow pure {
453     sgl_v2f_t2f_c1i(x, y, u, v, rgba);
454 }
455 extern(C) void sgl_v3f_t2f_c3f(float x, float y, float z, float u, float v, float r, float g, float b) @system @nogc nothrow pure;
456 void v3fT2fC3f(float x, float y, float z, float u, float v, float r, float g, float b) @trusted @nogc nothrow pure {
457     sgl_v3f_t2f_c3f(x, y, z, u, v, r, g, b);
458 }
459 extern(C) void sgl_v3f_t2f_c3b(float x, float y, float z, float u, float v, ubyte r, ubyte g, ubyte b) @system @nogc nothrow pure;
460 void v3fT2fC3b(float x, float y, float z, float u, float v, ubyte r, ubyte g, ubyte b) @trusted @nogc nothrow pure {
461     sgl_v3f_t2f_c3b(x, y, z, u, v, r, g, b);
462 }
463 extern(C) void sgl_v3f_t2f_c4f(float x, float y, float z, float u, float v, float r, float g, float b, float a) @system @nogc nothrow pure;
464 void v3fT2fC4f(float x, float y, float z, float u, float v, float r, float g, float b, float a) @trusted @nogc nothrow pure {
465     sgl_v3f_t2f_c4f(x, y, z, u, v, r, g, b, a);
466 }
467 extern(C) void sgl_v3f_t2f_c4b(float x, float y, float z, float u, float v, ubyte r, ubyte g, ubyte b, ubyte a) @system @nogc nothrow pure;
468 void v3fT2fC4b(float x, float y, float z, float u, float v, ubyte r, ubyte g, ubyte b, ubyte a) @trusted @nogc nothrow pure {
469     sgl_v3f_t2f_c4b(x, y, z, u, v, r, g, b, a);
470 }
471 extern(C) void sgl_v3f_t2f_c1i(float x, float y, float z, float u, float v, uint rgba) @system @nogc nothrow pure;
472 void v3fT2fC1i(float x, float y, float z, float u, float v, uint rgba) @trusted @nogc nothrow pure {
473     sgl_v3f_t2f_c1i(x, y, z, u, v, rgba);
474 }
475 extern(C) void sgl_end() @system @nogc nothrow pure;
476 void end() @trusted @nogc nothrow pure {
477     sgl_end();
478 }