Compare commits
No commits in common. "0b4228197a5cb67058aecc4735dfd89a6ba838f3" and "3ce05f3b1a14d6bc7d8608e6153e571ee665c756" have entirely different histories.
0b4228197a
...
3ce05f3b1a
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
*.o
|
||||||
|
*.d
|
||||||
|
main
|
||||||
9
Makefile
9
Makefile
@ -16,6 +16,7 @@ CFLAGS += -Wno-error=unused-const-variable
|
|||||||
CFLAGS += -Wno-error=unused-but-set-variable
|
CFLAGS += -Wno-error=unused-but-set-variable
|
||||||
CFLAGS += -Wno-error=unused-variable
|
CFLAGS += -Wno-error=unused-variable
|
||||||
CFLAGS += -I$(MAKEFILE_PATH)/include
|
CFLAGS += -I$(MAKEFILE_PATH)/include
|
||||||
|
CFLAGS += -I$(MAKEFILE_PATH)
|
||||||
CXXFLAGS += -fno-exceptions
|
CXXFLAGS += -fno-exceptions
|
||||||
#CFLAGS += -DDEBUG_BUTTONS
|
#CFLAGS += -DDEBUG_BUTTONS
|
||||||
#CFLAGS += -DDEBUG_AXES
|
#CFLAGS += -DDEBUG_AXES
|
||||||
@ -110,6 +111,12 @@ include/%.data.h: src/%.data
|
|||||||
include/%.data.pal.h: src/%.data.pal
|
include/%.data.pal.h: src/%.data.pal
|
||||||
$(BUILD_BINARY_H)
|
$(BUILD_BINARY_H)
|
||||||
|
|
||||||
|
%/input.o: %/input
|
||||||
|
$(BUILD_BINARY_O)
|
||||||
|
|
||||||
|
%/input.h: %/input
|
||||||
|
$(BUILD_BINARY_H)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.d *.gch
|
rm -f *.o *.d *.gch
|
||||||
rm -f main
|
rm -f main
|
||||||
@ -124,6 +131,8 @@ MAIN_OBJS = \
|
|||||||
src/main.o \
|
src/main.o \
|
||||||
src/glad.o \
|
src/glad.o \
|
||||||
src/opengl.o \
|
src/opengl.o \
|
||||||
|
$(patsubst %.glsl,%.glsl.o,$(wildcard src/shader/*.glsl)) \
|
||||||
|
$(patsubst %,%.o,$(shell find puzzle/ -type f -name input)) \
|
||||||
$(GLFW)
|
$(GLFW)
|
||||||
|
|
||||||
main: $(MAIN_OBJS)
|
main: $(MAIN_OBJS)
|
||||||
|
|||||||
925
include/glad.h
925
include/glad.h
@ -1,30 +1,30 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
OpenGL loader generated by glad 0.1.36 on Sun Dec 7 14:06:45 2025.
|
OpenGL loader generated by glad 0.1.36 on Sun Dec 7 20:44:30 2025.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: gl
|
Specification: gl
|
||||||
APIs: gl=2.1
|
APIs: gl=3.3
|
||||||
Profile: compatibility
|
Profile: compatibility
|
||||||
Extensions:
|
Extensions:
|
||||||
|
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: True
|
Local files: False
|
||||||
Omit khrplatform: True
|
Omit khrplatform: True
|
||||||
Reproducible: False
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
Commandline:
|
||||||
--profile="compatibility" --api="gl=2.1" --generator="c" --spec="gl" --local-files --omit-khrplatform --extensions=""
|
--profile="compatibility" --api="gl=3.3" --generator="c" --spec="gl" --omit-khrplatform --extensions=""
|
||||||
Online:
|
Online:
|
||||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D2.1
|
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D3.3
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef __glad_h_
|
#ifndef __glad_h_
|
||||||
#define __glad_h_
|
#define __glad_h_
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#ifdef __gl_h_
|
#ifdef __gl_h_
|
||||||
#error OpenGL header already included, remove this include, glad already provides it
|
#error OpenGL header already included, remove this include, glad already provides it
|
||||||
@ -1055,6 +1055,384 @@ typedef void (APIENTRY *GLVULKANPROCNV)(void);
|
|||||||
#define GL_SLUMINANCE8 0x8C47
|
#define GL_SLUMINANCE8 0x8C47
|
||||||
#define GL_COMPRESSED_SLUMINANCE 0x8C4A
|
#define GL_COMPRESSED_SLUMINANCE 0x8C4A
|
||||||
#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
|
#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
|
||||||
|
#define GL_COMPARE_REF_TO_TEXTURE 0x884E
|
||||||
|
#define GL_CLIP_DISTANCE0 0x3000
|
||||||
|
#define GL_CLIP_DISTANCE1 0x3001
|
||||||
|
#define GL_CLIP_DISTANCE2 0x3002
|
||||||
|
#define GL_CLIP_DISTANCE3 0x3003
|
||||||
|
#define GL_CLIP_DISTANCE4 0x3004
|
||||||
|
#define GL_CLIP_DISTANCE5 0x3005
|
||||||
|
#define GL_CLIP_DISTANCE6 0x3006
|
||||||
|
#define GL_CLIP_DISTANCE7 0x3007
|
||||||
|
#define GL_MAX_CLIP_DISTANCES 0x0D32
|
||||||
|
#define GL_MAJOR_VERSION 0x821B
|
||||||
|
#define GL_MINOR_VERSION 0x821C
|
||||||
|
#define GL_NUM_EXTENSIONS 0x821D
|
||||||
|
#define GL_CONTEXT_FLAGS 0x821E
|
||||||
|
#define GL_COMPRESSED_RED 0x8225
|
||||||
|
#define GL_COMPRESSED_RG 0x8226
|
||||||
|
#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
|
||||||
|
#define GL_RGBA32F 0x8814
|
||||||
|
#define GL_RGB32F 0x8815
|
||||||
|
#define GL_RGBA16F 0x881A
|
||||||
|
#define GL_RGB16F 0x881B
|
||||||
|
#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
|
||||||
|
#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
|
||||||
|
#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
|
||||||
|
#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
|
||||||
|
#define GL_CLAMP_READ_COLOR 0x891C
|
||||||
|
#define GL_FIXED_ONLY 0x891D
|
||||||
|
#define GL_MAX_VARYING_COMPONENTS 0x8B4B
|
||||||
|
#define GL_TEXTURE_1D_ARRAY 0x8C18
|
||||||
|
#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
|
||||||
|
#define GL_TEXTURE_2D_ARRAY 0x8C1A
|
||||||
|
#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
|
||||||
|
#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
|
||||||
|
#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
|
||||||
|
#define GL_R11F_G11F_B10F 0x8C3A
|
||||||
|
#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
|
||||||
|
#define GL_RGB9_E5 0x8C3D
|
||||||
|
#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
|
||||||
|
#define GL_TEXTURE_SHARED_SIZE 0x8C3F
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
|
||||||
|
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
|
||||||
|
#define GL_PRIMITIVES_GENERATED 0x8C87
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
|
||||||
|
#define GL_RASTERIZER_DISCARD 0x8C89
|
||||||
|
#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
|
||||||
|
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
|
||||||
|
#define GL_INTERLEAVED_ATTRIBS 0x8C8C
|
||||||
|
#define GL_SEPARATE_ATTRIBS 0x8C8D
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
|
||||||
|
#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
|
||||||
|
#define GL_RGBA32UI 0x8D70
|
||||||
|
#define GL_RGB32UI 0x8D71
|
||||||
|
#define GL_RGBA16UI 0x8D76
|
||||||
|
#define GL_RGB16UI 0x8D77
|
||||||
|
#define GL_RGBA8UI 0x8D7C
|
||||||
|
#define GL_RGB8UI 0x8D7D
|
||||||
|
#define GL_RGBA32I 0x8D82
|
||||||
|
#define GL_RGB32I 0x8D83
|
||||||
|
#define GL_RGBA16I 0x8D88
|
||||||
|
#define GL_RGB16I 0x8D89
|
||||||
|
#define GL_RGBA8I 0x8D8E
|
||||||
|
#define GL_RGB8I 0x8D8F
|
||||||
|
#define GL_RED_INTEGER 0x8D94
|
||||||
|
#define GL_GREEN_INTEGER 0x8D95
|
||||||
|
#define GL_BLUE_INTEGER 0x8D96
|
||||||
|
#define GL_RGB_INTEGER 0x8D98
|
||||||
|
#define GL_RGBA_INTEGER 0x8D99
|
||||||
|
#define GL_BGR_INTEGER 0x8D9A
|
||||||
|
#define GL_BGRA_INTEGER 0x8D9B
|
||||||
|
#define GL_SAMPLER_1D_ARRAY 0x8DC0
|
||||||
|
#define GL_SAMPLER_2D_ARRAY 0x8DC1
|
||||||
|
#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
|
||||||
|
#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
|
||||||
|
#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
|
||||||
|
#define GL_UNSIGNED_INT_VEC2 0x8DC6
|
||||||
|
#define GL_UNSIGNED_INT_VEC3 0x8DC7
|
||||||
|
#define GL_UNSIGNED_INT_VEC4 0x8DC8
|
||||||
|
#define GL_INT_SAMPLER_1D 0x8DC9
|
||||||
|
#define GL_INT_SAMPLER_2D 0x8DCA
|
||||||
|
#define GL_INT_SAMPLER_3D 0x8DCB
|
||||||
|
#define GL_INT_SAMPLER_CUBE 0x8DCC
|
||||||
|
#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
|
||||||
|
#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
|
||||||
|
#define GL_QUERY_WAIT 0x8E13
|
||||||
|
#define GL_QUERY_NO_WAIT 0x8E14
|
||||||
|
#define GL_QUERY_BY_REGION_WAIT 0x8E15
|
||||||
|
#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
|
||||||
|
#define GL_BUFFER_ACCESS_FLAGS 0x911F
|
||||||
|
#define GL_BUFFER_MAP_LENGTH 0x9120
|
||||||
|
#define GL_BUFFER_MAP_OFFSET 0x9121
|
||||||
|
#define GL_DEPTH_COMPONENT32F 0x8CAC
|
||||||
|
#define GL_DEPTH32F_STENCIL8 0x8CAD
|
||||||
|
#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
|
||||||
|
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
|
||||||
|
#define GL_FRAMEBUFFER_DEFAULT 0x8218
|
||||||
|
#define GL_FRAMEBUFFER_UNDEFINED 0x8219
|
||||||
|
#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
|
||||||
|
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
||||||
|
#define GL_DEPTH_STENCIL 0x84F9
|
||||||
|
#define GL_UNSIGNED_INT_24_8 0x84FA
|
||||||
|
#define GL_DEPTH24_STENCIL8 0x88F0
|
||||||
|
#define GL_TEXTURE_STENCIL_SIZE 0x88F1
|
||||||
|
#define GL_TEXTURE_RED_TYPE 0x8C10
|
||||||
|
#define GL_TEXTURE_GREEN_TYPE 0x8C11
|
||||||
|
#define GL_TEXTURE_BLUE_TYPE 0x8C12
|
||||||
|
#define GL_TEXTURE_ALPHA_TYPE 0x8C13
|
||||||
|
#define GL_TEXTURE_DEPTH_TYPE 0x8C16
|
||||||
|
#define GL_UNSIGNED_NORMALIZED 0x8C17
|
||||||
|
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
||||||
|
#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
|
||||||
|
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
||||||
|
#define GL_READ_FRAMEBUFFER 0x8CA8
|
||||||
|
#define GL_DRAW_FRAMEBUFFER 0x8CA9
|
||||||
|
#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
|
||||||
|
#define GL_RENDERBUFFER_SAMPLES 0x8CAB
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
|
||||||
|
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
||||||
|
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
||||||
|
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
||||||
|
#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
|
||||||
|
#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
|
||||||
|
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
||||||
|
#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
|
||||||
|
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
||||||
|
#define GL_COLOR_ATTACHMENT1 0x8CE1
|
||||||
|
#define GL_COLOR_ATTACHMENT2 0x8CE2
|
||||||
|
#define GL_COLOR_ATTACHMENT3 0x8CE3
|
||||||
|
#define GL_COLOR_ATTACHMENT4 0x8CE4
|
||||||
|
#define GL_COLOR_ATTACHMENT5 0x8CE5
|
||||||
|
#define GL_COLOR_ATTACHMENT6 0x8CE6
|
||||||
|
#define GL_COLOR_ATTACHMENT7 0x8CE7
|
||||||
|
#define GL_COLOR_ATTACHMENT8 0x8CE8
|
||||||
|
#define GL_COLOR_ATTACHMENT9 0x8CE9
|
||||||
|
#define GL_COLOR_ATTACHMENT10 0x8CEA
|
||||||
|
#define GL_COLOR_ATTACHMENT11 0x8CEB
|
||||||
|
#define GL_COLOR_ATTACHMENT12 0x8CEC
|
||||||
|
#define GL_COLOR_ATTACHMENT13 0x8CED
|
||||||
|
#define GL_COLOR_ATTACHMENT14 0x8CEE
|
||||||
|
#define GL_COLOR_ATTACHMENT15 0x8CEF
|
||||||
|
#define GL_COLOR_ATTACHMENT16 0x8CF0
|
||||||
|
#define GL_COLOR_ATTACHMENT17 0x8CF1
|
||||||
|
#define GL_COLOR_ATTACHMENT18 0x8CF2
|
||||||
|
#define GL_COLOR_ATTACHMENT19 0x8CF3
|
||||||
|
#define GL_COLOR_ATTACHMENT20 0x8CF4
|
||||||
|
#define GL_COLOR_ATTACHMENT21 0x8CF5
|
||||||
|
#define GL_COLOR_ATTACHMENT22 0x8CF6
|
||||||
|
#define GL_COLOR_ATTACHMENT23 0x8CF7
|
||||||
|
#define GL_COLOR_ATTACHMENT24 0x8CF8
|
||||||
|
#define GL_COLOR_ATTACHMENT25 0x8CF9
|
||||||
|
#define GL_COLOR_ATTACHMENT26 0x8CFA
|
||||||
|
#define GL_COLOR_ATTACHMENT27 0x8CFB
|
||||||
|
#define GL_COLOR_ATTACHMENT28 0x8CFC
|
||||||
|
#define GL_COLOR_ATTACHMENT29 0x8CFD
|
||||||
|
#define GL_COLOR_ATTACHMENT30 0x8CFE
|
||||||
|
#define GL_COLOR_ATTACHMENT31 0x8CFF
|
||||||
|
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||||
|
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||||
|
#define GL_FRAMEBUFFER 0x8D40
|
||||||
|
#define GL_RENDERBUFFER 0x8D41
|
||||||
|
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
||||||
|
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
||||||
|
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
||||||
|
#define GL_STENCIL_INDEX1 0x8D46
|
||||||
|
#define GL_STENCIL_INDEX4 0x8D47
|
||||||
|
#define GL_STENCIL_INDEX8 0x8D48
|
||||||
|
#define GL_STENCIL_INDEX16 0x8D49
|
||||||
|
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
|
||||||
|
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
|
||||||
|
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
|
||||||
|
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
||||||
|
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
||||||
|
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
||||||
|
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
|
||||||
|
#define GL_MAX_SAMPLES 0x8D57
|
||||||
|
#define GL_INDEX 0x8222
|
||||||
|
#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
|
||||||
|
#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
|
||||||
|
#define GL_FRAMEBUFFER_SRGB 0x8DB9
|
||||||
|
#define GL_HALF_FLOAT 0x140B
|
||||||
|
#define GL_MAP_READ_BIT 0x0001
|
||||||
|
#define GL_MAP_WRITE_BIT 0x0002
|
||||||
|
#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
|
||||||
|
#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
|
||||||
|
#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
|
||||||
|
#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
|
||||||
|
#define GL_COMPRESSED_RED_RGTC1 0x8DBB
|
||||||
|
#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
|
||||||
|
#define GL_COMPRESSED_RG_RGTC2 0x8DBD
|
||||||
|
#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
|
||||||
|
#define GL_RG 0x8227
|
||||||
|
#define GL_RG_INTEGER 0x8228
|
||||||
|
#define GL_R8 0x8229
|
||||||
|
#define GL_R16 0x822A
|
||||||
|
#define GL_RG8 0x822B
|
||||||
|
#define GL_RG16 0x822C
|
||||||
|
#define GL_R16F 0x822D
|
||||||
|
#define GL_R32F 0x822E
|
||||||
|
#define GL_RG16F 0x822F
|
||||||
|
#define GL_RG32F 0x8230
|
||||||
|
#define GL_R8I 0x8231
|
||||||
|
#define GL_R8UI 0x8232
|
||||||
|
#define GL_R16I 0x8233
|
||||||
|
#define GL_R16UI 0x8234
|
||||||
|
#define GL_R32I 0x8235
|
||||||
|
#define GL_R32UI 0x8236
|
||||||
|
#define GL_RG8I 0x8237
|
||||||
|
#define GL_RG8UI 0x8238
|
||||||
|
#define GL_RG16I 0x8239
|
||||||
|
#define GL_RG16UI 0x823A
|
||||||
|
#define GL_RG32I 0x823B
|
||||||
|
#define GL_RG32UI 0x823C
|
||||||
|
#define GL_VERTEX_ARRAY_BINDING 0x85B5
|
||||||
|
#define GL_CLAMP_VERTEX_COLOR 0x891A
|
||||||
|
#define GL_CLAMP_FRAGMENT_COLOR 0x891B
|
||||||
|
#define GL_ALPHA_INTEGER 0x8D97
|
||||||
|
#define GL_SAMPLER_2D_RECT 0x8B63
|
||||||
|
#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
|
||||||
|
#define GL_SAMPLER_BUFFER 0x8DC2
|
||||||
|
#define GL_INT_SAMPLER_2D_RECT 0x8DCD
|
||||||
|
#define GL_INT_SAMPLER_BUFFER 0x8DD0
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
|
||||||
|
#define GL_TEXTURE_BUFFER 0x8C2A
|
||||||
|
#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
|
||||||
|
#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
|
||||||
|
#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
|
||||||
|
#define GL_TEXTURE_RECTANGLE 0x84F5
|
||||||
|
#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
|
||||||
|
#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
|
||||||
|
#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
|
||||||
|
#define GL_R8_SNORM 0x8F94
|
||||||
|
#define GL_RG8_SNORM 0x8F95
|
||||||
|
#define GL_RGB8_SNORM 0x8F96
|
||||||
|
#define GL_RGBA8_SNORM 0x8F97
|
||||||
|
#define GL_R16_SNORM 0x8F98
|
||||||
|
#define GL_RG16_SNORM 0x8F99
|
||||||
|
#define GL_RGB16_SNORM 0x8F9A
|
||||||
|
#define GL_RGBA16_SNORM 0x8F9B
|
||||||
|
#define GL_SIGNED_NORMALIZED 0x8F9C
|
||||||
|
#define GL_PRIMITIVE_RESTART 0x8F9D
|
||||||
|
#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
|
||||||
|
#define GL_COPY_READ_BUFFER 0x8F36
|
||||||
|
#define GL_COPY_WRITE_BUFFER 0x8F37
|
||||||
|
#define GL_UNIFORM_BUFFER 0x8A11
|
||||||
|
#define GL_UNIFORM_BUFFER_BINDING 0x8A28
|
||||||
|
#define GL_UNIFORM_BUFFER_START 0x8A29
|
||||||
|
#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
|
||||||
|
#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
|
||||||
|
#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
|
||||||
|
#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
|
||||||
|
#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
|
||||||
|
#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
|
||||||
|
#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
|
||||||
|
#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
|
||||||
|
#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
|
||||||
|
#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
|
||||||
|
#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
|
||||||
|
#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
|
||||||
|
#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
|
||||||
|
#define GL_UNIFORM_TYPE 0x8A37
|
||||||
|
#define GL_UNIFORM_SIZE 0x8A38
|
||||||
|
#define GL_UNIFORM_NAME_LENGTH 0x8A39
|
||||||
|
#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
|
||||||
|
#define GL_UNIFORM_OFFSET 0x8A3B
|
||||||
|
#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
|
||||||
|
#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
|
||||||
|
#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
|
||||||
|
#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
|
||||||
|
#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
|
||||||
|
#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
|
||||||
|
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
|
||||||
|
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
|
||||||
|
#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
|
||||||
|
#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
|
||||||
|
#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
|
||||||
|
#define GL_INVALID_INDEX 0xFFFFFFFF
|
||||||
|
#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
|
||||||
|
#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
|
||||||
|
#define GL_LINES_ADJACENCY 0x000A
|
||||||
|
#define GL_LINE_STRIP_ADJACENCY 0x000B
|
||||||
|
#define GL_TRIANGLES_ADJACENCY 0x000C
|
||||||
|
#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
|
||||||
|
#define GL_PROGRAM_POINT_SIZE 0x8642
|
||||||
|
#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
|
||||||
|
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
|
||||||
|
#define GL_GEOMETRY_SHADER 0x8DD9
|
||||||
|
#define GL_GEOMETRY_VERTICES_OUT 0x8916
|
||||||
|
#define GL_GEOMETRY_INPUT_TYPE 0x8917
|
||||||
|
#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
|
||||||
|
#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
|
||||||
|
#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
|
||||||
|
#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
|
||||||
|
#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
|
||||||
|
#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
|
||||||
|
#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
|
||||||
|
#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
|
||||||
|
#define GL_CONTEXT_PROFILE_MASK 0x9126
|
||||||
|
#define GL_DEPTH_CLAMP 0x864F
|
||||||
|
#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
|
||||||
|
#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
|
||||||
|
#define GL_LAST_VERTEX_CONVENTION 0x8E4E
|
||||||
|
#define GL_PROVOKING_VERTEX 0x8E4F
|
||||||
|
#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
|
||||||
|
#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
|
||||||
|
#define GL_OBJECT_TYPE 0x9112
|
||||||
|
#define GL_SYNC_CONDITION 0x9113
|
||||||
|
#define GL_SYNC_STATUS 0x9114
|
||||||
|
#define GL_SYNC_FLAGS 0x9115
|
||||||
|
#define GL_SYNC_FENCE 0x9116
|
||||||
|
#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
|
||||||
|
#define GL_UNSIGNALED 0x9118
|
||||||
|
#define GL_SIGNALED 0x9119
|
||||||
|
#define GL_ALREADY_SIGNALED 0x911A
|
||||||
|
#define GL_TIMEOUT_EXPIRED 0x911B
|
||||||
|
#define GL_CONDITION_SATISFIED 0x911C
|
||||||
|
#define GL_WAIT_FAILED 0x911D
|
||||||
|
#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
|
||||||
|
#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
|
||||||
|
#define GL_SAMPLE_POSITION 0x8E50
|
||||||
|
#define GL_SAMPLE_MASK 0x8E51
|
||||||
|
#define GL_SAMPLE_MASK_VALUE 0x8E52
|
||||||
|
#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
|
||||||
|
#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
|
||||||
|
#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
|
||||||
|
#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
|
||||||
|
#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
|
||||||
|
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
|
||||||
|
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
|
||||||
|
#define GL_TEXTURE_SAMPLES 0x9106
|
||||||
|
#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
|
||||||
|
#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
|
||||||
|
#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
|
||||||
|
#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
|
||||||
|
#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
|
||||||
|
#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
|
||||||
|
#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
|
||||||
|
#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
|
||||||
|
#define GL_MAX_INTEGER_SAMPLES 0x9110
|
||||||
|
#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
|
||||||
|
#define GL_SRC1_COLOR 0x88F9
|
||||||
|
#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
|
||||||
|
#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
|
||||||
|
#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
|
||||||
|
#define GL_ANY_SAMPLES_PASSED 0x8C2F
|
||||||
|
#define GL_SAMPLER_BINDING 0x8919
|
||||||
|
#define GL_RGB10_A2UI 0x906F
|
||||||
|
#define GL_TEXTURE_SWIZZLE_R 0x8E42
|
||||||
|
#define GL_TEXTURE_SWIZZLE_G 0x8E43
|
||||||
|
#define GL_TEXTURE_SWIZZLE_B 0x8E44
|
||||||
|
#define GL_TEXTURE_SWIZZLE_A 0x8E45
|
||||||
|
#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
|
||||||
|
#define GL_TIME_ELAPSED 0x88BF
|
||||||
|
#define GL_TIMESTAMP 0x8E28
|
||||||
|
#define GL_INT_2_10_10_10_REV 0x8D9F
|
||||||
#ifndef GL_VERSION_1_0
|
#ifndef GL_VERSION_1_0
|
||||||
#define GL_VERSION_1_0 1
|
#define GL_VERSION_1_0 1
|
||||||
GLAPI int GLAD_GL_VERSION_1_0;
|
GLAPI int GLAD_GL_VERSION_1_0;
|
||||||
@ -2740,6 +3118,541 @@ typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei cou
|
|||||||
GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
|
GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
|
||||||
#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv
|
#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef GL_VERSION_3_0
|
||||||
|
#define GL_VERSION_3_0 1
|
||||||
|
GLAPI int GLAD_GL_VERSION_3_0;
|
||||||
|
typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
|
||||||
|
GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski;
|
||||||
|
#define glColorMaski glad_glColorMaski
|
||||||
|
typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data);
|
||||||
|
GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
|
||||||
|
#define glGetBooleani_v glad_glGetBooleani_v
|
||||||
|
typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data);
|
||||||
|
GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
|
||||||
|
#define glGetIntegeri_v glad_glGetIntegeri_v
|
||||||
|
typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index);
|
||||||
|
GLAPI PFNGLENABLEIPROC glad_glEnablei;
|
||||||
|
#define glEnablei glad_glEnablei
|
||||||
|
typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index);
|
||||||
|
GLAPI PFNGLDISABLEIPROC glad_glDisablei;
|
||||||
|
#define glDisablei glad_glDisablei
|
||||||
|
typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index);
|
||||||
|
GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi;
|
||||||
|
#define glIsEnabledi glad_glIsEnabledi
|
||||||
|
typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode);
|
||||||
|
GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
|
||||||
|
#define glBeginTransformFeedback glad_glBeginTransformFeedback
|
||||||
|
typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(void);
|
||||||
|
GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
|
||||||
|
#define glEndTransformFeedback glad_glEndTransformFeedback
|
||||||
|
typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
|
||||||
|
GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
|
||||||
|
#define glBindBufferRange glad_glBindBufferRange
|
||||||
|
typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer);
|
||||||
|
GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
|
||||||
|
#define glBindBufferBase glad_glBindBufferBase
|
||||||
|
typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
|
||||||
|
GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
|
||||||
|
#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings
|
||||||
|
typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
|
||||||
|
GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
|
||||||
|
#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying
|
||||||
|
typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp);
|
||||||
|
GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor;
|
||||||
|
#define glClampColor glad_glClampColor
|
||||||
|
typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode);
|
||||||
|
GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
|
||||||
|
#define glBeginConditionalRender glad_glBeginConditionalRender
|
||||||
|
typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(void);
|
||||||
|
GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
|
||||||
|
#define glEndConditionalRender glad_glEndConditionalRender
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
|
||||||
|
#define glVertexAttribIPointer glad_glVertexAttribIPointer
|
||||||
|
typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
|
||||||
|
#define glGetVertexAttribIiv glad_glGetVertexAttribIiv
|
||||||
|
typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params);
|
||||||
|
GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
|
||||||
|
#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
|
||||||
|
#define glVertexAttribI1i glad_glVertexAttribI1i
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
|
||||||
|
#define glVertexAttribI2i glad_glVertexAttribI2i
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
|
||||||
|
#define glVertexAttribI3i glad_glVertexAttribI3i
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
|
||||||
|
#define glVertexAttribI4i glad_glVertexAttribI4i
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
|
||||||
|
#define glVertexAttribI1ui glad_glVertexAttribI1ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
|
||||||
|
#define glVertexAttribI2ui glad_glVertexAttribI2ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
|
||||||
|
#define glVertexAttribI3ui glad_glVertexAttribI3ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
|
||||||
|
#define glVertexAttribI4ui glad_glVertexAttribI4ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
|
||||||
|
#define glVertexAttribI1iv glad_glVertexAttribI1iv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
|
||||||
|
#define glVertexAttribI2iv glad_glVertexAttribI2iv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
|
||||||
|
#define glVertexAttribI3iv glad_glVertexAttribI3iv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
|
||||||
|
#define glVertexAttribI4iv glad_glVertexAttribI4iv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
|
||||||
|
#define glVertexAttribI1uiv glad_glVertexAttribI1uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
|
||||||
|
#define glVertexAttribI2uiv glad_glVertexAttribI2uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
|
||||||
|
#define glVertexAttribI3uiv glad_glVertexAttribI3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
|
||||||
|
#define glVertexAttribI4uiv glad_glVertexAttribI4uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
|
||||||
|
#define glVertexAttribI4bv glad_glVertexAttribI4bv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
|
||||||
|
#define glVertexAttribI4sv glad_glVertexAttribI4sv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
|
||||||
|
#define glVertexAttribI4ubv glad_glVertexAttribI4ubv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
|
||||||
|
#define glVertexAttribI4usv glad_glVertexAttribI4usv
|
||||||
|
typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params);
|
||||||
|
GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
|
||||||
|
#define glGetUniformuiv glad_glGetUniformuiv
|
||||||
|
typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name);
|
||||||
|
GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
|
||||||
|
#define glBindFragDataLocation glad_glBindFragDataLocation
|
||||||
|
typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name);
|
||||||
|
GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
|
||||||
|
#define glGetFragDataLocation glad_glGetFragDataLocation
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);
|
||||||
|
GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui;
|
||||||
|
#define glUniform1ui glad_glUniform1ui
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);
|
||||||
|
GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui;
|
||||||
|
#define glUniform2ui glad_glUniform2ui
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);
|
||||||
|
GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui;
|
||||||
|
#define glUniform3ui glad_glUniform3ui
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
|
||||||
|
GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui;
|
||||||
|
#define glUniform4ui glad_glUniform4ui
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value);
|
||||||
|
GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
|
||||||
|
#define glUniform1uiv glad_glUniform1uiv
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value);
|
||||||
|
GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
|
||||||
|
#define glUniform2uiv glad_glUniform2uiv
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value);
|
||||||
|
GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
|
||||||
|
#define glUniform3uiv glad_glUniform3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value);
|
||||||
|
GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
|
||||||
|
#define glUniform4uiv glad_glUniform4uiv
|
||||||
|
typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params);
|
||||||
|
GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
|
||||||
|
#define glTexParameterIiv glad_glTexParameterIiv
|
||||||
|
typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params);
|
||||||
|
GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
|
||||||
|
#define glTexParameterIuiv glad_glTexParameterIuiv
|
||||||
|
typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
|
||||||
|
#define glGetTexParameterIiv glad_glGetTexParameterIiv
|
||||||
|
typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params);
|
||||||
|
GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
|
||||||
|
#define glGetTexParameterIuiv glad_glGetTexParameterIuiv
|
||||||
|
typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value);
|
||||||
|
GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
|
||||||
|
#define glClearBufferiv glad_glClearBufferiv
|
||||||
|
typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value);
|
||||||
|
GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
|
||||||
|
#define glClearBufferuiv glad_glClearBufferuiv
|
||||||
|
typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value);
|
||||||
|
GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
|
||||||
|
#define glClearBufferfv glad_glClearBufferfv
|
||||||
|
typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
|
||||||
|
GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
|
||||||
|
#define glClearBufferfi glad_glClearBufferfi
|
||||||
|
typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index);
|
||||||
|
GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi;
|
||||||
|
#define glGetStringi glad_glGetStringi
|
||||||
|
typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);
|
||||||
|
GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
|
||||||
|
#define glIsRenderbuffer glad_glIsRenderbuffer
|
||||||
|
typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);
|
||||||
|
GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
|
||||||
|
#define glBindRenderbuffer glad_glBindRenderbuffer
|
||||||
|
typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers);
|
||||||
|
GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
|
||||||
|
#define glDeleteRenderbuffers glad_glDeleteRenderbuffers
|
||||||
|
typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);
|
||||||
|
GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
|
||||||
|
#define glGenRenderbuffers glad_glGenRenderbuffers
|
||||||
|
typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||||
|
GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
|
||||||
|
#define glRenderbufferStorage glad_glRenderbufferStorage
|
||||||
|
typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
|
||||||
|
#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv
|
||||||
|
typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);
|
||||||
|
GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
|
||||||
|
#define glIsFramebuffer glad_glIsFramebuffer
|
||||||
|
typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
|
||||||
|
GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
|
||||||
|
#define glBindFramebuffer glad_glBindFramebuffer
|
||||||
|
typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers);
|
||||||
|
GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
|
||||||
|
#define glDeleteFramebuffers glad_glDeleteFramebuffers
|
||||||
|
typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);
|
||||||
|
GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
|
||||||
|
#define glGenFramebuffers glad_glGenFramebuffers
|
||||||
|
typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);
|
||||||
|
GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
|
||||||
|
#define glCheckFramebufferStatus glad_glCheckFramebufferStatus
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||||
|
GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
|
||||||
|
#define glFramebufferTexture1D glad_glFramebufferTexture1D
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||||
|
GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
|
||||||
|
#define glFramebufferTexture2D glad_glFramebufferTexture2D
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
|
||||||
|
GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
|
||||||
|
#define glFramebufferTexture3D glad_glFramebufferTexture3D
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||||
|
GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
|
||||||
|
#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer
|
||||||
|
typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
|
||||||
|
#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv
|
||||||
|
typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target);
|
||||||
|
GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
|
||||||
|
#define glGenerateMipmap glad_glGenerateMipmap
|
||||||
|
typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||||
|
GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
|
||||||
|
#define glBlitFramebuffer glad_glBlitFramebuffer
|
||||||
|
typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||||
|
GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
|
||||||
|
#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
|
||||||
|
GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
|
||||||
|
#define glFramebufferTextureLayer glad_glFramebufferTextureLayer
|
||||||
|
typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||||
|
GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
|
||||||
|
#define glMapBufferRange glad_glMapBufferRange
|
||||||
|
typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length);
|
||||||
|
GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
|
||||||
|
#define glFlushMappedBufferRange glad_glFlushMappedBufferRange
|
||||||
|
typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array);
|
||||||
|
GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
|
||||||
|
#define glBindVertexArray glad_glBindVertexArray
|
||||||
|
typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays);
|
||||||
|
GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
|
||||||
|
#define glDeleteVertexArrays glad_glDeleteVertexArrays
|
||||||
|
typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);
|
||||||
|
GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
|
||||||
|
#define glGenVertexArrays glad_glGenVertexArrays
|
||||||
|
typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array);
|
||||||
|
GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
|
||||||
|
#define glIsVertexArray glad_glIsVertexArray
|
||||||
|
#endif
|
||||||
|
#ifndef GL_VERSION_3_1
|
||||||
|
#define GL_VERSION_3_1 1
|
||||||
|
GLAPI int GLAD_GL_VERSION_3_1;
|
||||||
|
typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
|
||||||
|
GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
|
||||||
|
#define glDrawArraysInstanced glad_glDrawArraysInstanced
|
||||||
|
typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
|
||||||
|
GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
|
||||||
|
#define glDrawElementsInstanced glad_glDrawElementsInstanced
|
||||||
|
typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer);
|
||||||
|
GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer;
|
||||||
|
#define glTexBuffer glad_glTexBuffer
|
||||||
|
typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index);
|
||||||
|
GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
|
||||||
|
#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex
|
||||||
|
typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
|
||||||
|
GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
|
||||||
|
#define glCopyBufferSubData glad_glCopyBufferSubData
|
||||||
|
typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
|
||||||
|
GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
|
||||||
|
#define glGetUniformIndices glad_glGetUniformIndices
|
||||||
|
typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
|
||||||
|
#define glGetActiveUniformsiv glad_glGetActiveUniformsiv
|
||||||
|
typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
|
||||||
|
GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
|
||||||
|
#define glGetActiveUniformName glad_glGetActiveUniformName
|
||||||
|
typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName);
|
||||||
|
GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
|
||||||
|
#define glGetUniformBlockIndex glad_glGetUniformBlockIndex
|
||||||
|
typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
|
||||||
|
#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv
|
||||||
|
typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
|
||||||
|
GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
|
||||||
|
#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName
|
||||||
|
typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
|
||||||
|
GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
|
||||||
|
#define glUniformBlockBinding glad_glUniformBlockBinding
|
||||||
|
#endif
|
||||||
|
#ifndef GL_VERSION_3_2
|
||||||
|
#define GL_VERSION_3_2 1
|
||||||
|
GLAPI int GLAD_GL_VERSION_3_2;
|
||||||
|
typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
|
||||||
|
GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
|
||||||
|
#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex
|
||||||
|
typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
|
||||||
|
GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
|
||||||
|
#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex
|
||||||
|
typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
|
||||||
|
GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
|
||||||
|
#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex
|
||||||
|
typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
|
||||||
|
GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
|
||||||
|
#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex
|
||||||
|
typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode);
|
||||||
|
GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
|
||||||
|
#define glProvokingVertex glad_glProvokingVertex
|
||||||
|
typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);
|
||||||
|
GLAPI PFNGLFENCESYNCPROC glad_glFenceSync;
|
||||||
|
#define glFenceSync glad_glFenceSync
|
||||||
|
typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync);
|
||||||
|
GLAPI PFNGLISSYNCPROC glad_glIsSync;
|
||||||
|
#define glIsSync glad_glIsSync
|
||||||
|
typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync);
|
||||||
|
GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync;
|
||||||
|
#define glDeleteSync glad_glDeleteSync
|
||||||
|
typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||||
|
GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
|
||||||
|
#define glClientWaitSync glad_glClientWaitSync
|
||||||
|
typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||||
|
GLAPI PFNGLWAITSYNCPROC glad_glWaitSync;
|
||||||
|
#define glWaitSync glad_glWaitSync
|
||||||
|
typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data);
|
||||||
|
GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
|
||||||
|
#define glGetInteger64v glad_glGetInteger64v
|
||||||
|
typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
|
||||||
|
GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv;
|
||||||
|
#define glGetSynciv glad_glGetSynciv
|
||||||
|
typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data);
|
||||||
|
GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
|
||||||
|
#define glGetInteger64i_v glad_glGetInteger64i_v
|
||||||
|
typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params);
|
||||||
|
GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
|
||||||
|
#define glGetBufferParameteri64v glad_glGetBufferParameteri64v
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);
|
||||||
|
GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
|
||||||
|
#define glFramebufferTexture glad_glFramebufferTexture
|
||||||
|
typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
|
||||||
|
GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
|
||||||
|
#define glTexImage2DMultisample glad_glTexImage2DMultisample
|
||||||
|
typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
|
||||||
|
GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
|
||||||
|
#define glTexImage3DMultisample glad_glTexImage3DMultisample
|
||||||
|
typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val);
|
||||||
|
GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
|
||||||
|
#define glGetMultisamplefv glad_glGetMultisamplefv
|
||||||
|
typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask);
|
||||||
|
GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
|
||||||
|
#define glSampleMaski glad_glSampleMaski
|
||||||
|
#endif
|
||||||
|
#ifndef GL_VERSION_3_3
|
||||||
|
#define GL_VERSION_3_3 1
|
||||||
|
GLAPI int GLAD_GL_VERSION_3_3;
|
||||||
|
typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
|
||||||
|
GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
|
||||||
|
#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed
|
||||||
|
typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name);
|
||||||
|
GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
|
||||||
|
#define glGetFragDataIndex glad_glGetFragDataIndex
|
||||||
|
typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers);
|
||||||
|
GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers;
|
||||||
|
#define glGenSamplers glad_glGenSamplers
|
||||||
|
typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers);
|
||||||
|
GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
|
||||||
|
#define glDeleteSamplers glad_glDeleteSamplers
|
||||||
|
typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler);
|
||||||
|
GLAPI PFNGLISSAMPLERPROC glad_glIsSampler;
|
||||||
|
#define glIsSampler glad_glIsSampler
|
||||||
|
typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler);
|
||||||
|
GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler;
|
||||||
|
#define glBindSampler glad_glBindSampler
|
||||||
|
typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param);
|
||||||
|
GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
|
||||||
|
#define glSamplerParameteri glad_glSamplerParameteri
|
||||||
|
typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param);
|
||||||
|
GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
|
||||||
|
#define glSamplerParameteriv glad_glSamplerParameteriv
|
||||||
|
typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param);
|
||||||
|
GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
|
||||||
|
#define glSamplerParameterf glad_glSamplerParameterf
|
||||||
|
typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param);
|
||||||
|
GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
|
||||||
|
#define glSamplerParameterfv glad_glSamplerParameterfv
|
||||||
|
typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param);
|
||||||
|
GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
|
||||||
|
#define glSamplerParameterIiv glad_glSamplerParameterIiv
|
||||||
|
typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param);
|
||||||
|
GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
|
||||||
|
#define glSamplerParameterIuiv glad_glSamplerParameterIuiv
|
||||||
|
typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
|
||||||
|
#define glGetSamplerParameteriv glad_glGetSamplerParameteriv
|
||||||
|
typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params);
|
||||||
|
GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
|
||||||
|
#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv
|
||||||
|
typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params);
|
||||||
|
GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
|
||||||
|
#define glGetSamplerParameterfv glad_glGetSamplerParameterfv
|
||||||
|
typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params);
|
||||||
|
GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
|
||||||
|
#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv
|
||||||
|
typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target);
|
||||||
|
GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
|
||||||
|
#define glQueryCounter glad_glQueryCounter
|
||||||
|
typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params);
|
||||||
|
GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
|
||||||
|
#define glGetQueryObjecti64v glad_glGetQueryObjecti64v
|
||||||
|
typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params);
|
||||||
|
GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
|
||||||
|
#define glGetQueryObjectui64v glad_glGetQueryObjectui64v
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
|
||||||
|
#define glVertexAttribDivisor glad_glVertexAttribDivisor
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
|
||||||
|
#define glVertexAttribP1ui glad_glVertexAttribP1ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
|
||||||
|
#define glVertexAttribP1uiv glad_glVertexAttribP1uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
|
||||||
|
#define glVertexAttribP2ui glad_glVertexAttribP2ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
|
||||||
|
#define glVertexAttribP2uiv glad_glVertexAttribP2uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
|
||||||
|
#define glVertexAttribP3ui glad_glVertexAttribP3ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
|
||||||
|
#define glVertexAttribP3uiv glad_glVertexAttribP3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
|
||||||
|
#define glVertexAttribP4ui glad_glVertexAttribP4ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
|
||||||
|
GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
|
||||||
|
#define glVertexAttribP4uiv glad_glVertexAttribP4uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value);
|
||||||
|
GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
|
||||||
|
#define glVertexP2ui glad_glVertexP2ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value);
|
||||||
|
GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
|
||||||
|
#define glVertexP2uiv glad_glVertexP2uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value);
|
||||||
|
GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
|
||||||
|
#define glVertexP3ui glad_glVertexP3ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value);
|
||||||
|
GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
|
||||||
|
#define glVertexP3uiv glad_glVertexP3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value);
|
||||||
|
GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
|
||||||
|
#define glVertexP4ui glad_glVertexP4ui
|
||||||
|
typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value);
|
||||||
|
GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
|
||||||
|
#define glVertexP4uiv glad_glVertexP4uiv
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
|
||||||
|
#define glTexCoordP1ui glad_glTexCoordP1ui
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
|
||||||
|
#define glTexCoordP1uiv glad_glTexCoordP1uiv
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
|
||||||
|
#define glTexCoordP2ui glad_glTexCoordP2ui
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
|
||||||
|
#define glTexCoordP2uiv glad_glTexCoordP2uiv
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
|
||||||
|
#define glTexCoordP3ui glad_glTexCoordP3ui
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
|
||||||
|
#define glTexCoordP3uiv glad_glTexCoordP3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
|
||||||
|
#define glTexCoordP4ui glad_glTexCoordP4ui
|
||||||
|
typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
|
||||||
|
#define glTexCoordP4uiv glad_glTexCoordP4uiv
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
|
||||||
|
#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
|
||||||
|
#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
|
||||||
|
#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
|
||||||
|
#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
|
||||||
|
#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
|
||||||
|
#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
|
||||||
|
#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui
|
||||||
|
typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
|
||||||
|
#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv
|
||||||
|
typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords);
|
||||||
|
GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui;
|
||||||
|
#define glNormalP3ui glad_glNormalP3ui
|
||||||
|
typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords);
|
||||||
|
GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
|
||||||
|
#define glNormalP3uiv glad_glNormalP3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color);
|
||||||
|
GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui;
|
||||||
|
#define glColorP3ui glad_glColorP3ui
|
||||||
|
typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color);
|
||||||
|
GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
|
||||||
|
#define glColorP3uiv glad_glColorP3uiv
|
||||||
|
typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color);
|
||||||
|
GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui;
|
||||||
|
#define glColorP4ui glad_glColorP4ui
|
||||||
|
typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color);
|
||||||
|
GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
|
||||||
|
#define glColorP4uiv glad_glColorP4uiv
|
||||||
|
typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color);
|
||||||
|
GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
|
||||||
|
#define glSecondaryColorP3ui glad_glSecondaryColorP3ui
|
||||||
|
typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color);
|
||||||
|
GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
|
||||||
|
#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
29
include/opengl.h
Normal file
29
include/opengl.h
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef unsigned int uint;
|
||||||
|
|
||||||
|
uint compile_shader(const void * vp,
|
||||||
|
const int vp_length,
|
||||||
|
const void * fp,
|
||||||
|
const int fp_length);
|
||||||
|
|
||||||
|
uint make_buffer(unsigned int target,
|
||||||
|
const void * data,
|
||||||
|
size_t size);
|
||||||
|
|
||||||
|
uint make_texture(const void * data,
|
||||||
|
int internalformat,
|
||||||
|
int width,
|
||||||
|
int height,
|
||||||
|
int format,
|
||||||
|
int type);
|
||||||
|
|
||||||
|
uint make_framebuffer(uint * texture, int length);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
19
include/shader/day1.fs.glsl.h
Normal file
19
include/shader/day1.fs.glsl.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint32_t _binary_src_shader_day1_fs_glsl_start __asm("_binary_src_shader_day1_fs_glsl_start");
|
||||||
|
extern uint32_t _binary_src_shader_day1_fs_glsl_end __asm("_binary_src_shader_day1_fs_glsl_end");
|
||||||
|
extern uint32_t _binary_src_shader_day1_fs_glsl_size __asm("_binary_src_shader_day1_fs_glsl_size");
|
||||||
|
|
||||||
|
#define src_shader_day1_fs_glsl_start ((const char *)&_binary_src_shader_day1_fs_glsl_start)
|
||||||
|
#define src_shader_day1_fs_glsl_end ((const char *)&_binary_src_shader_day1_fs_glsl_end)
|
||||||
|
#define src_shader_day1_fs_glsl_size (src_shader_day1_fs_glsl_end - src_shader_day1_fs_glsl_start)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
19
include/shader/day1.vs.glsl.h
Normal file
19
include/shader/day1.vs.glsl.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint32_t _binary_src_shader_day1_vs_glsl_start __asm("_binary_src_shader_day1_vs_glsl_start");
|
||||||
|
extern uint32_t _binary_src_shader_day1_vs_glsl_end __asm("_binary_src_shader_day1_vs_glsl_end");
|
||||||
|
extern uint32_t _binary_src_shader_day1_vs_glsl_size __asm("_binary_src_shader_day1_vs_glsl_size");
|
||||||
|
|
||||||
|
#define src_shader_day1_vs_glsl_start ((const char *)&_binary_src_shader_day1_vs_glsl_start)
|
||||||
|
#define src_shader_day1_vs_glsl_end ((const char *)&_binary_src_shader_day1_vs_glsl_end)
|
||||||
|
#define src_shader_day1_vs_glsl_size (src_shader_day1_vs_glsl_end - src_shader_day1_vs_glsl_start)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
19
include/shader/test.fs.glsl.h
Normal file
19
include/shader/test.fs.glsl.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint32_t _binary_src_shader_test_fs_glsl_start __asm("_binary_src_shader_test_fs_glsl_start");
|
||||||
|
extern uint32_t _binary_src_shader_test_fs_glsl_end __asm("_binary_src_shader_test_fs_glsl_end");
|
||||||
|
extern uint32_t _binary_src_shader_test_fs_glsl_size __asm("_binary_src_shader_test_fs_glsl_size");
|
||||||
|
|
||||||
|
#define src_shader_test_fs_glsl_start ((const char *)&_binary_src_shader_test_fs_glsl_start)
|
||||||
|
#define src_shader_test_fs_glsl_end ((const char *)&_binary_src_shader_test_fs_glsl_end)
|
||||||
|
#define src_shader_test_fs_glsl_size (src_shader_test_fs_glsl_end - src_shader_test_fs_glsl_start)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
19
include/shader/test.vs.glsl.h
Normal file
19
include/shader/test.vs.glsl.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint32_t _binary_src_shader_test_vs_glsl_start __asm("_binary_src_shader_test_vs_glsl_start");
|
||||||
|
extern uint32_t _binary_src_shader_test_vs_glsl_end __asm("_binary_src_shader_test_vs_glsl_end");
|
||||||
|
extern uint32_t _binary_src_shader_test_vs_glsl_size __asm("_binary_src_shader_test_vs_glsl_size");
|
||||||
|
|
||||||
|
#define src_shader_test_vs_glsl_start ((const char *)&_binary_src_shader_test_vs_glsl_start)
|
||||||
|
#define src_shader_test_vs_glsl_end ((const char *)&_binary_src_shader_test_vs_glsl_end)
|
||||||
|
#define src_shader_test_vs_glsl_size (src_shader_test_vs_glsl_end - src_shader_test_vs_glsl_start)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
19
puzzle/2025/01/input.h
Normal file
19
puzzle/2025/01/input.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint32_t _binary_puzzle_2025_01_input_start __asm("_binary_puzzle_2025_01_input_start");
|
||||||
|
extern uint32_t _binary_puzzle_2025_01_input_end __asm("_binary_puzzle_2025_01_input_end");
|
||||||
|
extern uint32_t _binary_puzzle_2025_01_input_size __asm("_binary_puzzle_2025_01_input_size");
|
||||||
|
|
||||||
|
#define puzzle_2025_01_input_start ((const char *)&_binary_puzzle_2025_01_input_start)
|
||||||
|
#define puzzle_2025_01_input_end ((const char *)&_binary_puzzle_2025_01_input_end)
|
||||||
|
#define puzzle_2025_01_input_size (puzzle_2025_01_input_end - puzzle_2025_01_input_start)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
390
src/glad.c
390
src/glad.c
@ -1,22 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
OpenGL loader generated by glad 0.1.36 on Sun Dec 7 14:06:45 2025.
|
OpenGL loader generated by glad 0.1.36 on Sun Dec 7 20:44:30 2025.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: gl
|
Specification: gl
|
||||||
APIs: gl=2.1
|
APIs: gl=3.3
|
||||||
Profile: compatibility
|
Profile: compatibility
|
||||||
Extensions:
|
Extensions:
|
||||||
|
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: True
|
Local files: False
|
||||||
Omit khrplatform: True
|
Omit khrplatform: True
|
||||||
Reproducible: False
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
Commandline:
|
||||||
--profile="compatibility" --api="gl=2.1" --generator="c" --spec="gl" --local-files --omit-khrplatform --extensions=""
|
--profile="compatibility" --api="gl=3.3" --generator="c" --spec="gl" --omit-khrplatform --extensions=""
|
||||||
Online:
|
Online:
|
||||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D2.1
|
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D3.3
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -263,6 +263,10 @@ int GLAD_GL_VERSION_1_4 = 0;
|
|||||||
int GLAD_GL_VERSION_1_5 = 0;
|
int GLAD_GL_VERSION_1_5 = 0;
|
||||||
int GLAD_GL_VERSION_2_0 = 0;
|
int GLAD_GL_VERSION_2_0 = 0;
|
||||||
int GLAD_GL_VERSION_2_1 = 0;
|
int GLAD_GL_VERSION_2_1 = 0;
|
||||||
|
int GLAD_GL_VERSION_3_0 = 0;
|
||||||
|
int GLAD_GL_VERSION_3_1 = 0;
|
||||||
|
int GLAD_GL_VERSION_3_2 = 0;
|
||||||
|
int GLAD_GL_VERSION_3_3 = 0;
|
||||||
PFNGLACCUMPROC glad_glAccum = NULL;
|
PFNGLACCUMPROC glad_glAccum = NULL;
|
||||||
PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL;
|
PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL;
|
||||||
PFNGLALPHAFUNCPROC glad_glAlphaFunc = NULL;
|
PFNGLALPHAFUNCPROC glad_glAlphaFunc = NULL;
|
||||||
@ -270,27 +274,45 @@ PFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident = NULL;
|
|||||||
PFNGLARRAYELEMENTPROC glad_glArrayElement = NULL;
|
PFNGLARRAYELEMENTPROC glad_glArrayElement = NULL;
|
||||||
PFNGLATTACHSHADERPROC glad_glAttachShader = NULL;
|
PFNGLATTACHSHADERPROC glad_glAttachShader = NULL;
|
||||||
PFNGLBEGINPROC glad_glBegin = NULL;
|
PFNGLBEGINPROC glad_glBegin = NULL;
|
||||||
|
PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL;
|
||||||
PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL;
|
PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL;
|
||||||
|
PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL;
|
||||||
PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL;
|
PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL;
|
||||||
PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL;
|
PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL;
|
||||||
|
PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL;
|
||||||
|
PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL;
|
||||||
|
PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL;
|
||||||
|
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL;
|
||||||
|
PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL;
|
||||||
|
PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL;
|
||||||
|
PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL;
|
||||||
PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL;
|
PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL;
|
||||||
|
PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL;
|
||||||
PFNGLBITMAPPROC glad_glBitmap = NULL;
|
PFNGLBITMAPPROC glad_glBitmap = NULL;
|
||||||
PFNGLBLENDCOLORPROC glad_glBlendColor = NULL;
|
PFNGLBLENDCOLORPROC glad_glBlendColor = NULL;
|
||||||
PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL;
|
PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL;
|
||||||
PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL;
|
PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL;
|
||||||
PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL;
|
PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL;
|
||||||
PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL;
|
PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL;
|
||||||
|
PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL;
|
||||||
PFNGLBUFFERDATAPROC glad_glBufferData = NULL;
|
PFNGLBUFFERDATAPROC glad_glBufferData = NULL;
|
||||||
PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL;
|
PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL;
|
||||||
PFNGLCALLLISTPROC glad_glCallList = NULL;
|
PFNGLCALLLISTPROC glad_glCallList = NULL;
|
||||||
PFNGLCALLLISTSPROC glad_glCallLists = NULL;
|
PFNGLCALLLISTSPROC glad_glCallLists = NULL;
|
||||||
|
PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL;
|
||||||
|
PFNGLCLAMPCOLORPROC glad_glClampColor = NULL;
|
||||||
PFNGLCLEARPROC glad_glClear = NULL;
|
PFNGLCLEARPROC glad_glClear = NULL;
|
||||||
PFNGLCLEARACCUMPROC glad_glClearAccum = NULL;
|
PFNGLCLEARACCUMPROC glad_glClearAccum = NULL;
|
||||||
|
PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL;
|
||||||
|
PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL;
|
||||||
|
PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL;
|
||||||
|
PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL;
|
||||||
PFNGLCLEARCOLORPROC glad_glClearColor = NULL;
|
PFNGLCLEARCOLORPROC glad_glClearColor = NULL;
|
||||||
PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL;
|
PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL;
|
||||||
PFNGLCLEARINDEXPROC glad_glClearIndex = NULL;
|
PFNGLCLEARINDEXPROC glad_glClearIndex = NULL;
|
||||||
PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL;
|
PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL;
|
||||||
PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture = NULL;
|
PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture = NULL;
|
||||||
|
PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL;
|
||||||
PFNGLCLIPPLANEPROC glad_glClipPlane = NULL;
|
PFNGLCLIPPLANEPROC glad_glClipPlane = NULL;
|
||||||
PFNGLCOLOR3BPROC glad_glColor3b = NULL;
|
PFNGLCOLOR3BPROC glad_glColor3b = NULL;
|
||||||
PFNGLCOLOR3BVPROC glad_glColor3bv = NULL;
|
PFNGLCOLOR3BVPROC glad_glColor3bv = NULL;
|
||||||
@ -325,7 +347,12 @@ PFNGLCOLOR4UIVPROC glad_glColor4uiv = NULL;
|
|||||||
PFNGLCOLOR4USPROC glad_glColor4us = NULL;
|
PFNGLCOLOR4USPROC glad_glColor4us = NULL;
|
||||||
PFNGLCOLOR4USVPROC glad_glColor4usv = NULL;
|
PFNGLCOLOR4USVPROC glad_glColor4usv = NULL;
|
||||||
PFNGLCOLORMASKPROC glad_glColorMask = NULL;
|
PFNGLCOLORMASKPROC glad_glColorMask = NULL;
|
||||||
|
PFNGLCOLORMASKIPROC glad_glColorMaski = NULL;
|
||||||
PFNGLCOLORMATERIALPROC glad_glColorMaterial = NULL;
|
PFNGLCOLORMATERIALPROC glad_glColorMaterial = NULL;
|
||||||
|
PFNGLCOLORP3UIPROC glad_glColorP3ui = NULL;
|
||||||
|
PFNGLCOLORP3UIVPROC glad_glColorP3uiv = NULL;
|
||||||
|
PFNGLCOLORP4UIPROC glad_glColorP4ui = NULL;
|
||||||
|
PFNGLCOLORP4UIVPROC glad_glColorP4uiv = NULL;
|
||||||
PFNGLCOLORPOINTERPROC glad_glColorPointer = NULL;
|
PFNGLCOLORPOINTERPROC glad_glColorPointer = NULL;
|
||||||
PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL;
|
PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL;
|
||||||
PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL;
|
PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL;
|
||||||
@ -334,6 +361,7 @@ PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL;
|
|||||||
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL;
|
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL;
|
||||||
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL;
|
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL;
|
||||||
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL;
|
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL;
|
||||||
|
PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL;
|
||||||
PFNGLCOPYPIXELSPROC glad_glCopyPixels = NULL;
|
PFNGLCOPYPIXELSPROC glad_glCopyPixels = NULL;
|
||||||
PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL;
|
PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL;
|
||||||
PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL;
|
PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL;
|
||||||
@ -344,11 +372,16 @@ PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL;
|
|||||||
PFNGLCREATESHADERPROC glad_glCreateShader = NULL;
|
PFNGLCREATESHADERPROC glad_glCreateShader = NULL;
|
||||||
PFNGLCULLFACEPROC glad_glCullFace = NULL;
|
PFNGLCULLFACEPROC glad_glCullFace = NULL;
|
||||||
PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL;
|
PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL;
|
||||||
|
PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL;
|
||||||
PFNGLDELETELISTSPROC glad_glDeleteLists = NULL;
|
PFNGLDELETELISTSPROC glad_glDeleteLists = NULL;
|
||||||
PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL;
|
PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL;
|
||||||
PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL;
|
PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL;
|
||||||
|
PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL;
|
||||||
|
PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL;
|
||||||
PFNGLDELETESHADERPROC glad_glDeleteShader = NULL;
|
PFNGLDELETESHADERPROC glad_glDeleteShader = NULL;
|
||||||
|
PFNGLDELETESYNCPROC glad_glDeleteSync = NULL;
|
||||||
PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL;
|
PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL;
|
||||||
|
PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL;
|
||||||
PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL;
|
PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL;
|
||||||
PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
|
PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
|
||||||
PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL;
|
PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL;
|
||||||
@ -356,21 +389,30 @@ PFNGLDETACHSHADERPROC glad_glDetachShader = NULL;
|
|||||||
PFNGLDISABLEPROC glad_glDisable = NULL;
|
PFNGLDISABLEPROC glad_glDisable = NULL;
|
||||||
PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState = NULL;
|
PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState = NULL;
|
||||||
PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL;
|
PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL;
|
||||||
|
PFNGLDISABLEIPROC glad_glDisablei = NULL;
|
||||||
PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL;
|
PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL;
|
||||||
|
PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL;
|
||||||
PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL;
|
PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL;
|
||||||
PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL;
|
PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL;
|
||||||
PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL;
|
PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL;
|
||||||
|
PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL;
|
||||||
|
PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL;
|
||||||
|
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL;
|
||||||
PFNGLDRAWPIXELSPROC glad_glDrawPixels = NULL;
|
PFNGLDRAWPIXELSPROC glad_glDrawPixels = NULL;
|
||||||
PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL;
|
PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL;
|
||||||
|
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL;
|
||||||
PFNGLEDGEFLAGPROC glad_glEdgeFlag = NULL;
|
PFNGLEDGEFLAGPROC glad_glEdgeFlag = NULL;
|
||||||
PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer = NULL;
|
PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer = NULL;
|
||||||
PFNGLEDGEFLAGVPROC glad_glEdgeFlagv = NULL;
|
PFNGLEDGEFLAGVPROC glad_glEdgeFlagv = NULL;
|
||||||
PFNGLENABLEPROC glad_glEnable = NULL;
|
PFNGLENABLEPROC glad_glEnable = NULL;
|
||||||
PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState = NULL;
|
PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState = NULL;
|
||||||
PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL;
|
PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL;
|
||||||
|
PFNGLENABLEIPROC glad_glEnablei = NULL;
|
||||||
PFNGLENDPROC glad_glEnd = NULL;
|
PFNGLENDPROC glad_glEnd = NULL;
|
||||||
|
PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL;
|
||||||
PFNGLENDLISTPROC glad_glEndList = NULL;
|
PFNGLENDLISTPROC glad_glEndList = NULL;
|
||||||
PFNGLENDQUERYPROC glad_glEndQuery = NULL;
|
PFNGLENDQUERYPROC glad_glEndQuery = NULL;
|
||||||
|
PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL;
|
||||||
PFNGLEVALCOORD1DPROC glad_glEvalCoord1d = NULL;
|
PFNGLEVALCOORD1DPROC glad_glEvalCoord1d = NULL;
|
||||||
PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv = NULL;
|
PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv = NULL;
|
||||||
PFNGLEVALCOORD1FPROC glad_glEvalCoord1f = NULL;
|
PFNGLEVALCOORD1FPROC glad_glEvalCoord1f = NULL;
|
||||||
@ -384,8 +426,10 @@ PFNGLEVALMESH2PROC glad_glEvalMesh2 = NULL;
|
|||||||
PFNGLEVALPOINT1PROC glad_glEvalPoint1 = NULL;
|
PFNGLEVALPOINT1PROC glad_glEvalPoint1 = NULL;
|
||||||
PFNGLEVALPOINT2PROC glad_glEvalPoint2 = NULL;
|
PFNGLEVALPOINT2PROC glad_glEvalPoint2 = NULL;
|
||||||
PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer = NULL;
|
PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer = NULL;
|
||||||
|
PFNGLFENCESYNCPROC glad_glFenceSync = NULL;
|
||||||
PFNGLFINISHPROC glad_glFinish = NULL;
|
PFNGLFINISHPROC glad_glFinish = NULL;
|
||||||
PFNGLFLUSHPROC glad_glFlush = NULL;
|
PFNGLFLUSHPROC glad_glFlush = NULL;
|
||||||
|
PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL;
|
||||||
PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer = NULL;
|
PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer = NULL;
|
||||||
PFNGLFOGCOORDDPROC glad_glFogCoordd = NULL;
|
PFNGLFOGCOORDDPROC glad_glFogCoordd = NULL;
|
||||||
PFNGLFOGCOORDDVPROC glad_glFogCoorddv = NULL;
|
PFNGLFOGCOORDDVPROC glad_glFogCoorddv = NULL;
|
||||||
@ -395,17 +439,34 @@ PFNGLFOGFPROC glad_glFogf = NULL;
|
|||||||
PFNGLFOGFVPROC glad_glFogfv = NULL;
|
PFNGLFOGFVPROC glad_glFogfv = NULL;
|
||||||
PFNGLFOGIPROC glad_glFogi = NULL;
|
PFNGLFOGIPROC glad_glFogi = NULL;
|
||||||
PFNGLFOGIVPROC glad_glFogiv = NULL;
|
PFNGLFOGIVPROC glad_glFogiv = NULL;
|
||||||
|
PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL;
|
||||||
|
PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL;
|
||||||
|
PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL;
|
||||||
|
PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL;
|
||||||
|
PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL;
|
||||||
|
PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL;
|
||||||
PFNGLFRONTFACEPROC glad_glFrontFace = NULL;
|
PFNGLFRONTFACEPROC glad_glFrontFace = NULL;
|
||||||
PFNGLFRUSTUMPROC glad_glFrustum = NULL;
|
PFNGLFRUSTUMPROC glad_glFrustum = NULL;
|
||||||
PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL;
|
PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL;
|
||||||
|
PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL;
|
||||||
PFNGLGENLISTSPROC glad_glGenLists = NULL;
|
PFNGLGENLISTSPROC glad_glGenLists = NULL;
|
||||||
PFNGLGENQUERIESPROC glad_glGenQueries = NULL;
|
PFNGLGENQUERIESPROC glad_glGenQueries = NULL;
|
||||||
|
PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL;
|
||||||
|
PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL;
|
||||||
PFNGLGENTEXTURESPROC glad_glGenTextures = NULL;
|
PFNGLGENTEXTURESPROC glad_glGenTextures = NULL;
|
||||||
|
PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL;
|
||||||
|
PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL;
|
||||||
PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL;
|
PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL;
|
||||||
PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL;
|
PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL;
|
||||||
|
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL;
|
||||||
|
PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL;
|
||||||
|
PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL;
|
||||||
|
PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL;
|
||||||
PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL;
|
PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL;
|
||||||
PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL;
|
PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL;
|
||||||
|
PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL;
|
||||||
PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL;
|
PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL;
|
||||||
|
PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL;
|
||||||
PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL;
|
PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL;
|
||||||
PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL;
|
PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL;
|
||||||
PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL;
|
PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL;
|
||||||
@ -414,6 +475,12 @@ PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL;
|
|||||||
PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL;
|
PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL;
|
||||||
PFNGLGETERRORPROC glad_glGetError = NULL;
|
PFNGLGETERRORPROC glad_glGetError = NULL;
|
||||||
PFNGLGETFLOATVPROC glad_glGetFloatv = NULL;
|
PFNGLGETFLOATVPROC glad_glGetFloatv = NULL;
|
||||||
|
PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL;
|
||||||
|
PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL;
|
||||||
|
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL;
|
||||||
|
PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL;
|
||||||
|
PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL;
|
||||||
|
PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL;
|
||||||
PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL;
|
PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL;
|
||||||
PFNGLGETLIGHTFVPROC glad_glGetLightfv = NULL;
|
PFNGLGETLIGHTFVPROC glad_glGetLightfv = NULL;
|
||||||
PFNGLGETLIGHTIVPROC glad_glGetLightiv = NULL;
|
PFNGLGETLIGHTIVPROC glad_glGetLightiv = NULL;
|
||||||
@ -422,6 +489,7 @@ PFNGLGETMAPFVPROC glad_glGetMapfv = NULL;
|
|||||||
PFNGLGETMAPIVPROC glad_glGetMapiv = NULL;
|
PFNGLGETMAPIVPROC glad_glGetMapiv = NULL;
|
||||||
PFNGLGETMATERIALFVPROC glad_glGetMaterialfv = NULL;
|
PFNGLGETMATERIALFVPROC glad_glGetMaterialfv = NULL;
|
||||||
PFNGLGETMATERIALIVPROC glad_glGetMaterialiv = NULL;
|
PFNGLGETMATERIALIVPROC glad_glGetMaterialiv = NULL;
|
||||||
|
PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL;
|
||||||
PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv = NULL;
|
PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv = NULL;
|
||||||
PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv = NULL;
|
PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv = NULL;
|
||||||
PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv = NULL;
|
PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv = NULL;
|
||||||
@ -429,13 +497,22 @@ PFNGLGETPOINTERVPROC glad_glGetPointerv = NULL;
|
|||||||
PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple = NULL;
|
PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple = NULL;
|
||||||
PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL;
|
PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL;
|
||||||
PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL;
|
PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL;
|
||||||
|
PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL;
|
||||||
PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL;
|
PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL;
|
||||||
|
PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL;
|
||||||
PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL;
|
PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL;
|
||||||
PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL;
|
PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL;
|
||||||
|
PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL;
|
||||||
|
PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL;
|
||||||
|
PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL;
|
||||||
|
PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL;
|
||||||
|
PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL;
|
||||||
PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL;
|
PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL;
|
||||||
PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL;
|
PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL;
|
||||||
PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL;
|
PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL;
|
||||||
PFNGLGETSTRINGPROC glad_glGetString = NULL;
|
PFNGLGETSTRINGPROC glad_glGetString = NULL;
|
||||||
|
PFNGLGETSTRINGIPROC glad_glGetStringi = NULL;
|
||||||
|
PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL;
|
||||||
PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv = NULL;
|
PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv = NULL;
|
||||||
PFNGLGETTEXENVIVPROC glad_glGetTexEnviv = NULL;
|
PFNGLGETTEXENVIVPROC glad_glGetTexEnviv = NULL;
|
||||||
PFNGLGETTEXGENDVPROC glad_glGetTexGendv = NULL;
|
PFNGLGETTEXGENDVPROC glad_glGetTexGendv = NULL;
|
||||||
@ -444,11 +521,19 @@ PFNGLGETTEXGENIVPROC glad_glGetTexGeniv = NULL;
|
|||||||
PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL;
|
PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL;
|
||||||
PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL;
|
PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL;
|
||||||
PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL;
|
PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL;
|
||||||
|
PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL;
|
||||||
|
PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL;
|
||||||
PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL;
|
PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL;
|
||||||
PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL;
|
PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL;
|
||||||
|
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL;
|
||||||
|
PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL;
|
||||||
|
PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL;
|
||||||
PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL;
|
PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL;
|
||||||
PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL;
|
PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL;
|
||||||
PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL;
|
PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL;
|
||||||
|
PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL;
|
||||||
|
PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL;
|
||||||
|
PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL;
|
||||||
PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL;
|
PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL;
|
||||||
PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL;
|
PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL;
|
||||||
PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL;
|
PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL;
|
||||||
@ -470,11 +555,17 @@ PFNGLINITNAMESPROC glad_glInitNames = NULL;
|
|||||||
PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays = NULL;
|
PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays = NULL;
|
||||||
PFNGLISBUFFERPROC glad_glIsBuffer = NULL;
|
PFNGLISBUFFERPROC glad_glIsBuffer = NULL;
|
||||||
PFNGLISENABLEDPROC glad_glIsEnabled = NULL;
|
PFNGLISENABLEDPROC glad_glIsEnabled = NULL;
|
||||||
|
PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL;
|
||||||
|
PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL;
|
||||||
PFNGLISLISTPROC glad_glIsList = NULL;
|
PFNGLISLISTPROC glad_glIsList = NULL;
|
||||||
PFNGLISPROGRAMPROC glad_glIsProgram = NULL;
|
PFNGLISPROGRAMPROC glad_glIsProgram = NULL;
|
||||||
PFNGLISQUERYPROC glad_glIsQuery = NULL;
|
PFNGLISQUERYPROC glad_glIsQuery = NULL;
|
||||||
|
PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL;
|
||||||
|
PFNGLISSAMPLERPROC glad_glIsSampler = NULL;
|
||||||
PFNGLISSHADERPROC glad_glIsShader = NULL;
|
PFNGLISSHADERPROC glad_glIsShader = NULL;
|
||||||
|
PFNGLISSYNCPROC glad_glIsSync = NULL;
|
||||||
PFNGLISTEXTUREPROC glad_glIsTexture = NULL;
|
PFNGLISTEXTUREPROC glad_glIsTexture = NULL;
|
||||||
|
PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL;
|
||||||
PFNGLLIGHTMODELFPROC glad_glLightModelf = NULL;
|
PFNGLLIGHTMODELFPROC glad_glLightModelf = NULL;
|
||||||
PFNGLLIGHTMODELFVPROC glad_glLightModelfv = NULL;
|
PFNGLLIGHTMODELFVPROC glad_glLightModelfv = NULL;
|
||||||
PFNGLLIGHTMODELIPROC glad_glLightModeli = NULL;
|
PFNGLLIGHTMODELIPROC glad_glLightModeli = NULL;
|
||||||
@ -499,6 +590,7 @@ PFNGLMAP1FPROC glad_glMap1f = NULL;
|
|||||||
PFNGLMAP2DPROC glad_glMap2d = NULL;
|
PFNGLMAP2DPROC glad_glMap2d = NULL;
|
||||||
PFNGLMAP2FPROC glad_glMap2f = NULL;
|
PFNGLMAP2FPROC glad_glMap2f = NULL;
|
||||||
PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL;
|
PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL;
|
||||||
|
PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL;
|
||||||
PFNGLMAPGRID1DPROC glad_glMapGrid1d = NULL;
|
PFNGLMAPGRID1DPROC glad_glMapGrid1d = NULL;
|
||||||
PFNGLMAPGRID1FPROC glad_glMapGrid1f = NULL;
|
PFNGLMAPGRID1FPROC glad_glMapGrid1f = NULL;
|
||||||
PFNGLMAPGRID2DPROC glad_glMapGrid2d = NULL;
|
PFNGLMAPGRID2DPROC glad_glMapGrid2d = NULL;
|
||||||
@ -514,6 +606,7 @@ PFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd = NULL;
|
|||||||
PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf = NULL;
|
PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf = NULL;
|
||||||
PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL;
|
PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL;
|
||||||
PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL;
|
PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL;
|
||||||
|
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL;
|
||||||
PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d = NULL;
|
PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d = NULL;
|
||||||
PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv = NULL;
|
PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv = NULL;
|
||||||
PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f = NULL;
|
PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f = NULL;
|
||||||
@ -546,6 +639,14 @@ PFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i = NULL;
|
|||||||
PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv = NULL;
|
PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv = NULL;
|
||||||
PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s = NULL;
|
PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s = NULL;
|
||||||
PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv = NULL;
|
PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui = NULL;
|
||||||
|
PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv = NULL;
|
||||||
PFNGLNEWLISTPROC glad_glNewList = NULL;
|
PFNGLNEWLISTPROC glad_glNewList = NULL;
|
||||||
PFNGLNORMAL3BPROC glad_glNormal3b = NULL;
|
PFNGLNORMAL3BPROC glad_glNormal3b = NULL;
|
||||||
PFNGLNORMAL3BVPROC glad_glNormal3bv = NULL;
|
PFNGLNORMAL3BVPROC glad_glNormal3bv = NULL;
|
||||||
@ -557,6 +658,8 @@ PFNGLNORMAL3IPROC glad_glNormal3i = NULL;
|
|||||||
PFNGLNORMAL3IVPROC glad_glNormal3iv = NULL;
|
PFNGLNORMAL3IVPROC glad_glNormal3iv = NULL;
|
||||||
PFNGLNORMAL3SPROC glad_glNormal3s = NULL;
|
PFNGLNORMAL3SPROC glad_glNormal3s = NULL;
|
||||||
PFNGLNORMAL3SVPROC glad_glNormal3sv = NULL;
|
PFNGLNORMAL3SVPROC glad_glNormal3sv = NULL;
|
||||||
|
PFNGLNORMALP3UIPROC glad_glNormalP3ui = NULL;
|
||||||
|
PFNGLNORMALP3UIVPROC glad_glNormalP3uiv = NULL;
|
||||||
PFNGLNORMALPOINTERPROC glad_glNormalPointer = NULL;
|
PFNGLNORMALPOINTERPROC glad_glNormalPointer = NULL;
|
||||||
PFNGLORTHOPROC glad_glOrtho = NULL;
|
PFNGLORTHOPROC glad_glOrtho = NULL;
|
||||||
PFNGLPASSTHROUGHPROC glad_glPassThrough = NULL;
|
PFNGLPASSTHROUGHPROC glad_glPassThrough = NULL;
|
||||||
@ -580,11 +683,14 @@ PFNGLPOPATTRIBPROC glad_glPopAttrib = NULL;
|
|||||||
PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib = NULL;
|
PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib = NULL;
|
||||||
PFNGLPOPMATRIXPROC glad_glPopMatrix = NULL;
|
PFNGLPOPMATRIXPROC glad_glPopMatrix = NULL;
|
||||||
PFNGLPOPNAMEPROC glad_glPopName = NULL;
|
PFNGLPOPNAMEPROC glad_glPopName = NULL;
|
||||||
|
PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL;
|
||||||
PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures = NULL;
|
PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures = NULL;
|
||||||
|
PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL;
|
||||||
PFNGLPUSHATTRIBPROC glad_glPushAttrib = NULL;
|
PFNGLPUSHATTRIBPROC glad_glPushAttrib = NULL;
|
||||||
PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib = NULL;
|
PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib = NULL;
|
||||||
PFNGLPUSHMATRIXPROC glad_glPushMatrix = NULL;
|
PFNGLPUSHMATRIXPROC glad_glPushMatrix = NULL;
|
||||||
PFNGLPUSHNAMEPROC glad_glPushName = NULL;
|
PFNGLPUSHNAMEPROC glad_glPushName = NULL;
|
||||||
|
PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL;
|
||||||
PFNGLRASTERPOS2DPROC glad_glRasterPos2d = NULL;
|
PFNGLRASTERPOS2DPROC glad_glRasterPos2d = NULL;
|
||||||
PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv = NULL;
|
PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv = NULL;
|
||||||
PFNGLRASTERPOS2FPROC glad_glRasterPos2f = NULL;
|
PFNGLRASTERPOS2FPROC glad_glRasterPos2f = NULL;
|
||||||
@ -620,9 +726,18 @@ PFNGLRECTIVPROC glad_glRectiv = NULL;
|
|||||||
PFNGLRECTSPROC glad_glRects = NULL;
|
PFNGLRECTSPROC glad_glRects = NULL;
|
||||||
PFNGLRECTSVPROC glad_glRectsv = NULL;
|
PFNGLRECTSVPROC glad_glRectsv = NULL;
|
||||||
PFNGLRENDERMODEPROC glad_glRenderMode = NULL;
|
PFNGLRENDERMODEPROC glad_glRenderMode = NULL;
|
||||||
|
PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL;
|
||||||
|
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL;
|
||||||
PFNGLROTATEDPROC glad_glRotated = NULL;
|
PFNGLROTATEDPROC glad_glRotated = NULL;
|
||||||
PFNGLROTATEFPROC glad_glRotatef = NULL;
|
PFNGLROTATEFPROC glad_glRotatef = NULL;
|
||||||
PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL;
|
PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL;
|
||||||
|
PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL;
|
||||||
|
PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL;
|
||||||
|
PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL;
|
||||||
|
PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL;
|
||||||
|
PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL;
|
||||||
|
PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL;
|
||||||
|
PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL;
|
||||||
PFNGLSCALEDPROC glad_glScaled = NULL;
|
PFNGLSCALEDPROC glad_glScaled = NULL;
|
||||||
PFNGLSCALEFPROC glad_glScalef = NULL;
|
PFNGLSCALEFPROC glad_glScalef = NULL;
|
||||||
PFNGLSCISSORPROC glad_glScissor = NULL;
|
PFNGLSCISSORPROC glad_glScissor = NULL;
|
||||||
@ -642,6 +757,8 @@ PFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui = NULL;
|
|||||||
PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv = NULL;
|
PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv = NULL;
|
||||||
PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us = NULL;
|
PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us = NULL;
|
||||||
PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv = NULL;
|
PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv = NULL;
|
||||||
|
PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui = NULL;
|
||||||
|
PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv = NULL;
|
||||||
PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer = NULL;
|
PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer = NULL;
|
||||||
PFNGLSELECTBUFFERPROC glad_glSelectBuffer = NULL;
|
PFNGLSELECTBUFFERPROC glad_glSelectBuffer = NULL;
|
||||||
PFNGLSHADEMODELPROC glad_glShadeModel = NULL;
|
PFNGLSHADEMODELPROC glad_glShadeModel = NULL;
|
||||||
@ -652,6 +769,7 @@ PFNGLSTENCILMASKPROC glad_glStencilMask = NULL;
|
|||||||
PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL;
|
PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL;
|
||||||
PFNGLSTENCILOPPROC glad_glStencilOp = NULL;
|
PFNGLSTENCILOPPROC glad_glStencilOp = NULL;
|
||||||
PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL;
|
PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL;
|
||||||
|
PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL;
|
||||||
PFNGLTEXCOORD1DPROC glad_glTexCoord1d = NULL;
|
PFNGLTEXCOORD1DPROC glad_glTexCoord1d = NULL;
|
||||||
PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv = NULL;
|
PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv = NULL;
|
||||||
PFNGLTEXCOORD1FPROC glad_glTexCoord1f = NULL;
|
PFNGLTEXCOORD1FPROC glad_glTexCoord1f = NULL;
|
||||||
@ -684,6 +802,14 @@ PFNGLTEXCOORD4IPROC glad_glTexCoord4i = NULL;
|
|||||||
PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv = NULL;
|
PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv = NULL;
|
||||||
PFNGLTEXCOORD4SPROC glad_glTexCoord4s = NULL;
|
PFNGLTEXCOORD4SPROC glad_glTexCoord4s = NULL;
|
||||||
PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv = NULL;
|
PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv = NULL;
|
||||||
|
PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui = NULL;
|
||||||
|
PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv = NULL;
|
||||||
|
PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui = NULL;
|
||||||
|
PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv = NULL;
|
||||||
|
PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui = NULL;
|
||||||
|
PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv = NULL;
|
||||||
|
PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui = NULL;
|
||||||
|
PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv = NULL;
|
||||||
PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer = NULL;
|
PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer = NULL;
|
||||||
PFNGLTEXENVFPROC glad_glTexEnvf = NULL;
|
PFNGLTEXENVFPROC glad_glTexEnvf = NULL;
|
||||||
PFNGLTEXENVFVPROC glad_glTexEnvfv = NULL;
|
PFNGLTEXENVFVPROC glad_glTexEnvfv = NULL;
|
||||||
@ -697,7 +823,11 @@ PFNGLTEXGENIPROC glad_glTexGeni = NULL;
|
|||||||
PFNGLTEXGENIVPROC glad_glTexGeniv = NULL;
|
PFNGLTEXGENIVPROC glad_glTexGeniv = NULL;
|
||||||
PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL;
|
PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL;
|
||||||
PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL;
|
PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL;
|
||||||
|
PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL;
|
||||||
PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL;
|
PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL;
|
||||||
|
PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL;
|
||||||
|
PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL;
|
||||||
|
PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL;
|
||||||
PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL;
|
PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL;
|
||||||
PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL;
|
PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL;
|
||||||
PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL;
|
PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL;
|
||||||
@ -705,24 +835,34 @@ PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL;
|
|||||||
PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL;
|
PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL;
|
||||||
PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL;
|
PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL;
|
||||||
PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL;
|
PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL;
|
||||||
|
PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL;
|
||||||
PFNGLTRANSLATEDPROC glad_glTranslated = NULL;
|
PFNGLTRANSLATEDPROC glad_glTranslated = NULL;
|
||||||
PFNGLTRANSLATEFPROC glad_glTranslatef = NULL;
|
PFNGLTRANSLATEFPROC glad_glTranslatef = NULL;
|
||||||
PFNGLUNIFORM1FPROC glad_glUniform1f = NULL;
|
PFNGLUNIFORM1FPROC glad_glUniform1f = NULL;
|
||||||
PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL;
|
PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL;
|
||||||
PFNGLUNIFORM1IPROC glad_glUniform1i = NULL;
|
PFNGLUNIFORM1IPROC glad_glUniform1i = NULL;
|
||||||
PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL;
|
PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL;
|
||||||
|
PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL;
|
||||||
|
PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL;
|
||||||
PFNGLUNIFORM2FPROC glad_glUniform2f = NULL;
|
PFNGLUNIFORM2FPROC glad_glUniform2f = NULL;
|
||||||
PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL;
|
PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL;
|
||||||
PFNGLUNIFORM2IPROC glad_glUniform2i = NULL;
|
PFNGLUNIFORM2IPROC glad_glUniform2i = NULL;
|
||||||
PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL;
|
PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL;
|
||||||
|
PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL;
|
||||||
|
PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL;
|
||||||
PFNGLUNIFORM3FPROC glad_glUniform3f = NULL;
|
PFNGLUNIFORM3FPROC glad_glUniform3f = NULL;
|
||||||
PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL;
|
PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL;
|
||||||
PFNGLUNIFORM3IPROC glad_glUniform3i = NULL;
|
PFNGLUNIFORM3IPROC glad_glUniform3i = NULL;
|
||||||
PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL;
|
PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL;
|
||||||
|
PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL;
|
||||||
|
PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL;
|
||||||
PFNGLUNIFORM4FPROC glad_glUniform4f = NULL;
|
PFNGLUNIFORM4FPROC glad_glUniform4f = NULL;
|
||||||
PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL;
|
PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL;
|
||||||
PFNGLUNIFORM4IPROC glad_glUniform4i = NULL;
|
PFNGLUNIFORM4IPROC glad_glUniform4i = NULL;
|
||||||
PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL;
|
PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL;
|
||||||
|
PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL;
|
||||||
|
PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL;
|
||||||
|
PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL;
|
||||||
PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL;
|
PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL;
|
||||||
PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL;
|
PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL;
|
||||||
PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL;
|
PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL;
|
||||||
@ -795,9 +935,46 @@ PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL;
|
|||||||
PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL;
|
PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL;
|
||||||
PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL;
|
PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL;
|
||||||
PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL;
|
PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL;
|
||||||
|
PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL;
|
||||||
PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL;
|
PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL;
|
||||||
|
PFNGLVERTEXP2UIPROC glad_glVertexP2ui = NULL;
|
||||||
|
PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv = NULL;
|
||||||
|
PFNGLVERTEXP3UIPROC glad_glVertexP3ui = NULL;
|
||||||
|
PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv = NULL;
|
||||||
|
PFNGLVERTEXP4UIPROC glad_glVertexP4ui = NULL;
|
||||||
|
PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv = NULL;
|
||||||
PFNGLVERTEXPOINTERPROC glad_glVertexPointer = NULL;
|
PFNGLVERTEXPOINTERPROC glad_glVertexPointer = NULL;
|
||||||
PFNGLVIEWPORTPROC glad_glViewport = NULL;
|
PFNGLVIEWPORTPROC glad_glViewport = NULL;
|
||||||
|
PFNGLWAITSYNCPROC glad_glWaitSync = NULL;
|
||||||
PFNGLWINDOWPOS2DPROC glad_glWindowPos2d = NULL;
|
PFNGLWINDOWPOS2DPROC glad_glWindowPos2d = NULL;
|
||||||
PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv = NULL;
|
PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv = NULL;
|
||||||
PFNGLWINDOWPOS2FPROC glad_glWindowPos2f = NULL;
|
PFNGLWINDOWPOS2FPROC glad_glWindowPos2f = NULL;
|
||||||
@ -1389,6 +1566,194 @@ static void load_GL_VERSION_2_1(GLADloadproc load) {
|
|||||||
glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
|
glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
|
||||||
glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
|
glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
|
||||||
}
|
}
|
||||||
|
static void load_GL_VERSION_3_0(GLADloadproc load) {
|
||||||
|
if(!GLAD_GL_VERSION_3_0) return;
|
||||||
|
glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski");
|
||||||
|
glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v");
|
||||||
|
glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
|
||||||
|
glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei");
|
||||||
|
glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei");
|
||||||
|
glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi");
|
||||||
|
glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback");
|
||||||
|
glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback");
|
||||||
|
glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
|
||||||
|
glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
|
||||||
|
glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings");
|
||||||
|
glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying");
|
||||||
|
glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor");
|
||||||
|
glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender");
|
||||||
|
glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender");
|
||||||
|
glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer");
|
||||||
|
glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv");
|
||||||
|
glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv");
|
||||||
|
glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i");
|
||||||
|
glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i");
|
||||||
|
glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i");
|
||||||
|
glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i");
|
||||||
|
glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui");
|
||||||
|
glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui");
|
||||||
|
glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui");
|
||||||
|
glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui");
|
||||||
|
glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv");
|
||||||
|
glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv");
|
||||||
|
glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv");
|
||||||
|
glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv");
|
||||||
|
glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv");
|
||||||
|
glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv");
|
||||||
|
glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv");
|
||||||
|
glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv");
|
||||||
|
glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv");
|
||||||
|
glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv");
|
||||||
|
glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv");
|
||||||
|
glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv");
|
||||||
|
glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv");
|
||||||
|
glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation");
|
||||||
|
glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation");
|
||||||
|
glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui");
|
||||||
|
glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui");
|
||||||
|
glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui");
|
||||||
|
glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui");
|
||||||
|
glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv");
|
||||||
|
glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv");
|
||||||
|
glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv");
|
||||||
|
glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv");
|
||||||
|
glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv");
|
||||||
|
glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv");
|
||||||
|
glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv");
|
||||||
|
glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv");
|
||||||
|
glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv");
|
||||||
|
glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv");
|
||||||
|
glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv");
|
||||||
|
glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi");
|
||||||
|
glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi");
|
||||||
|
glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
|
||||||
|
glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
|
||||||
|
glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
|
||||||
|
glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
|
||||||
|
glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
|
||||||
|
glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
|
||||||
|
glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
|
||||||
|
glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
|
||||||
|
glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
|
||||||
|
glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
|
||||||
|
glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
|
||||||
|
glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D");
|
||||||
|
glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
|
||||||
|
glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D");
|
||||||
|
glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
|
||||||
|
glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
|
||||||
|
glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
|
||||||
|
glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
|
||||||
|
glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
|
||||||
|
glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
|
||||||
|
glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
|
||||||
|
glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
|
||||||
|
glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
|
||||||
|
glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
|
||||||
|
glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
|
||||||
|
glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
|
||||||
|
}
|
||||||
|
static void load_GL_VERSION_3_1(GLADloadproc load) {
|
||||||
|
if(!GLAD_GL_VERSION_3_1) return;
|
||||||
|
glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced");
|
||||||
|
glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced");
|
||||||
|
glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer");
|
||||||
|
glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex");
|
||||||
|
glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
|
||||||
|
glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
|
||||||
|
glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
|
||||||
|
glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName");
|
||||||
|
glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
|
||||||
|
glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
|
||||||
|
glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
|
||||||
|
glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
|
||||||
|
glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
|
||||||
|
glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
|
||||||
|
glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
|
||||||
|
}
|
||||||
|
static void load_GL_VERSION_3_2(GLADloadproc load) {
|
||||||
|
if(!GLAD_GL_VERSION_3_2) return;
|
||||||
|
glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex");
|
||||||
|
glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex");
|
||||||
|
glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex");
|
||||||
|
glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex");
|
||||||
|
glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex");
|
||||||
|
glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
|
||||||
|
glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
|
||||||
|
glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
|
||||||
|
glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
|
||||||
|
glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
|
||||||
|
glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
|
||||||
|
glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
|
||||||
|
glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v");
|
||||||
|
glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v");
|
||||||
|
glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture");
|
||||||
|
glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample");
|
||||||
|
glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample");
|
||||||
|
glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv");
|
||||||
|
glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski");
|
||||||
|
}
|
||||||
|
static void load_GL_VERSION_3_3(GLADloadproc load) {
|
||||||
|
if(!GLAD_GL_VERSION_3_3) return;
|
||||||
|
glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed");
|
||||||
|
glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex");
|
||||||
|
glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
|
||||||
|
glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
|
||||||
|
glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
|
||||||
|
glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
|
||||||
|
glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
|
||||||
|
glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
|
||||||
|
glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
|
||||||
|
glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
|
||||||
|
glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv");
|
||||||
|
glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv");
|
||||||
|
glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
|
||||||
|
glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv");
|
||||||
|
glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
|
||||||
|
glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv");
|
||||||
|
glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter");
|
||||||
|
glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v");
|
||||||
|
glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v");
|
||||||
|
glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor");
|
||||||
|
glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui");
|
||||||
|
glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv");
|
||||||
|
glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui");
|
||||||
|
glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv");
|
||||||
|
glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui");
|
||||||
|
glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv");
|
||||||
|
glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui");
|
||||||
|
glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv");
|
||||||
|
glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui");
|
||||||
|
glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv");
|
||||||
|
glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui");
|
||||||
|
glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv");
|
||||||
|
glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui");
|
||||||
|
glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv");
|
||||||
|
glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui");
|
||||||
|
glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv");
|
||||||
|
glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui");
|
||||||
|
glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv");
|
||||||
|
glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui");
|
||||||
|
glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv");
|
||||||
|
glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui");
|
||||||
|
glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv");
|
||||||
|
glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui");
|
||||||
|
glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv");
|
||||||
|
glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui");
|
||||||
|
glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv");
|
||||||
|
glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui");
|
||||||
|
glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv");
|
||||||
|
glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui");
|
||||||
|
glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv");
|
||||||
|
glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui");
|
||||||
|
glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv");
|
||||||
|
glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui");
|
||||||
|
glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv");
|
||||||
|
glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui");
|
||||||
|
glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv");
|
||||||
|
glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui");
|
||||||
|
glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv");
|
||||||
|
}
|
||||||
static int find_extensionsGL(void) {
|
static int find_extensionsGL(void) {
|
||||||
if (!get_exts()) return 0;
|
if (!get_exts()) return 0;
|
||||||
(void)&has_ext;
|
(void)&has_ext;
|
||||||
@ -1440,9 +1805,13 @@ static void find_coreGL(void) {
|
|||||||
GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
|
GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
|
||||||
GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
|
GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
|
||||||
GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
|
GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
|
||||||
if (GLVersion.major > 2 || (GLVersion.major >= 2 && GLVersion.minor >= 1)) {
|
GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
|
||||||
max_loaded_major = 2;
|
GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
|
||||||
max_loaded_minor = 1;
|
GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
|
||||||
|
GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
|
||||||
|
if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 3)) {
|
||||||
|
max_loaded_major = 3;
|
||||||
|
max_loaded_minor = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1460,8 +1829,11 @@ int gladLoadGLLoader(GLADloadproc load) {
|
|||||||
load_GL_VERSION_1_5(load);
|
load_GL_VERSION_1_5(load);
|
||||||
load_GL_VERSION_2_0(load);
|
load_GL_VERSION_2_0(load);
|
||||||
load_GL_VERSION_2_1(load);
|
load_GL_VERSION_2_1(load);
|
||||||
|
load_GL_VERSION_3_0(load);
|
||||||
|
load_GL_VERSION_3_1(load);
|
||||||
|
load_GL_VERSION_3_2(load);
|
||||||
|
load_GL_VERSION_3_3(load);
|
||||||
|
|
||||||
if (!find_extensionsGL()) return 0;
|
if (!find_extensionsGL()) return 0;
|
||||||
return GLVersion.major != 0 || GLVersion.minor != 0;
|
return GLVersion.major != 0 || GLVersion.minor != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,2 +0,0 @@
|
|||||||
src/glad.o: src/glad.c /home/bilbo/advent-of-pixel-shaders/include/glad.h
|
|
||||||
/home/bilbo/advent-of-pixel-shaders/include/glad.h:
|
|
||||||
BIN
src/glad.o
BIN
src/glad.o
Binary file not shown.
188
src/main.c
188
src/main.c
@ -2,27 +2,71 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include "glad.h"
|
#include "glad.h"
|
||||||
|
|
||||||
#include <GLFW/glfw3.h>
|
#include <GLFW/glfw3.h>
|
||||||
|
|
||||||
|
#include "opengl.h"
|
||||||
|
|
||||||
|
#include "shader/test.vs.glsl.h"
|
||||||
|
#include "shader/test.fs.glsl.h"
|
||||||
|
|
||||||
|
#include "shader/day1.vs.glsl.h"
|
||||||
|
#include "shader/day1.fs.glsl.h"
|
||||||
|
|
||||||
|
#include "puzzle/2025/01/input.h"
|
||||||
|
|
||||||
int vp_width = 800;
|
int vp_width = 800;
|
||||||
int vp_height = 600;
|
int vp_height = 600;
|
||||||
|
|
||||||
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
|
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
|
||||||
{
|
{
|
||||||
glViewport(0, 0, width, height);
|
|
||||||
vp_width = width;
|
vp_width = width;
|
||||||
vp_height = height;
|
vp_height = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const float triangle_array[] = {
|
||||||
|
-1, -1,
|
||||||
|
1, -1,
|
||||||
|
-1, 1,
|
||||||
|
1, 1
|
||||||
|
};
|
||||||
|
|
||||||
|
static inline int next_power_of_two(double n)
|
||||||
|
{
|
||||||
|
return pow(2, ceil(log2(n)));
|
||||||
|
}
|
||||||
|
|
||||||
|
uint rectangularize_input(const char * buf, int size, int * width_out)
|
||||||
|
{
|
||||||
|
int width = next_power_of_two(sqrt(size));
|
||||||
|
|
||||||
|
void * tmp = malloc(width * width);
|
||||||
|
memcpy(tmp, buf, size);
|
||||||
|
|
||||||
|
uint texture = make_texture(buf,
|
||||||
|
GL_R8, // internalformat
|
||||||
|
width,
|
||||||
|
width,
|
||||||
|
GL_RED,
|
||||||
|
GL_UNSIGNED_BYTE);
|
||||||
|
*width_out = width;
|
||||||
|
|
||||||
|
free(tmp);
|
||||||
|
|
||||||
|
return texture;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_X11);
|
glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_X11);
|
||||||
glfwInit();
|
glfwInit();
|
||||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
|
glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_API);
|
||||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||||
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
||||||
|
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||||
|
|
||||||
GLFWwindow* window = glfwCreateWindow(vp_width, vp_height, "advent-of-pixel-shaders", NULL, NULL);
|
GLFWwindow* window = glfwCreateWindow(vp_width, vp_height, "advent-of-pixel-shaders", NULL, NULL);
|
||||||
if (window == NULL) {
|
if (window == NULL) {
|
||||||
@ -39,16 +83,146 @@ int main()
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
glViewport(0, 0, vp_width, vp_height);
|
|
||||||
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
|
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
|
||||||
|
|
||||||
|
const int buf_width = 4;
|
||||||
|
const int buf_height = 4;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
// textures
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
int input_width;
|
||||||
|
int input_length = puzzle_2025_01_input_size;
|
||||||
|
uint texture_input = rectangularize_input(puzzle_2025_01_input_start,
|
||||||
|
puzzle_2025_01_input_size,
|
||||||
|
&input_width);
|
||||||
|
int input_height = input_width;
|
||||||
|
|
||||||
|
uint texture_framebuffer = make_texture(NULL,
|
||||||
|
GL_RGBA32F,
|
||||||
|
buf_width,
|
||||||
|
buf_height,
|
||||||
|
GL_RGBA,
|
||||||
|
GL_UNSIGNED_BYTE);
|
||||||
|
|
||||||
|
uint framebuffer = make_framebuffer(&texture_framebuffer, 1);
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
// shaders
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
uint program_test = compile_shader(src_shader_test_vs_glsl_start,
|
||||||
|
src_shader_test_vs_glsl_size,
|
||||||
|
src_shader_test_fs_glsl_start,
|
||||||
|
src_shader_test_fs_glsl_size);
|
||||||
|
uint program_test__tex_sampler = glGetUniformLocation(program_test, "tex_sampler");
|
||||||
|
uint program_test__tex_size = glGetUniformLocation(program_test, "tex_size");
|
||||||
|
|
||||||
|
uint program_day1 = compile_shader(src_shader_day1_vs_glsl_start,
|
||||||
|
src_shader_day1_vs_glsl_size,
|
||||||
|
src_shader_day1_fs_glsl_start,
|
||||||
|
src_shader_day1_fs_glsl_size);
|
||||||
|
uint program_day1__tex_sampler = glGetUniformLocation(program_day1, "tex_sampler");
|
||||||
|
uint program_day1__tex_size = glGetUniformLocation(program_day1, "tex_size");
|
||||||
|
uint program_day1__input_length = glGetUniformLocation(program_day1, "input_length");
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
// buffers
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
uint vertex_buffer = make_buffer(GL_ARRAY_BUFFER,
|
||||||
|
triangle_array,
|
||||||
|
(sizeof (triangle_array)));
|
||||||
|
|
||||||
|
uint vertex_array;
|
||||||
|
glGenVertexArrays(1, &vertex_array);
|
||||||
|
glBindVertexArray(vertex_array);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer);
|
||||||
|
glVertexAttribPointer(0,
|
||||||
|
2,
|
||||||
|
GL_FLOAT,
|
||||||
|
GL_FALSE,
|
||||||
|
(sizeof (float)) * 2,
|
||||||
|
(void*)0
|
||||||
|
);
|
||||||
|
glEnableVertexAttribArray(0);
|
||||||
|
glBindVertexArray(0);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||||
|
|
||||||
|
int max_texture_size;
|
||||||
|
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size);
|
||||||
|
printf("max_texture_size %d\n", max_texture_size);
|
||||||
|
|
||||||
while(!glfwWindowShouldClose(window)) {
|
while(!glfwWindowShouldClose(window)) {
|
||||||
if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
|
if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
|
||||||
glfwSetWindowShouldClose(window, true);
|
glfwSetWindowShouldClose(window, true);
|
||||||
|
|
||||||
glClearColor(0.1, 0.2, 0.3, 1.0);
|
//
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
|
||||||
|
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
|
||||||
|
glViewport(0, 0, buf_width, buf_height);
|
||||||
|
|
||||||
|
glClearColor(0.78, 0.56, 0.34, 0.12);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texture_input);
|
||||||
|
uint draw_buffers[1] = {GL_COLOR_ATTACHMENT0};
|
||||||
|
glDrawBuffers(1, draw_buffers);
|
||||||
|
/*
|
||||||
|
glUseProgram(program_test);
|
||||||
|
glUniform1i(program_test__tex_sampler, 0);
|
||||||
|
glUniform4f(program_test__tex_size,
|
||||||
|
input_width, input_height,
|
||||||
|
0.5f / input_width,
|
||||||
|
0.5f / input_height);
|
||||||
|
*/
|
||||||
|
glUseProgram(program_day1);
|
||||||
|
glUniform1i(program_day1__tex_sampler, 0);
|
||||||
|
glUniform4f(program_day1__tex_size,
|
||||||
|
input_width, input_height,
|
||||||
|
0.5f / input_width,
|
||||||
|
0.5f / input_height);
|
||||||
|
glUniform1f(program_day1__input_length, input_length);
|
||||||
|
glBindVertexArray(vertex_array);
|
||||||
|
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||||
|
|
||||||
|
float out[4 * buf_width * buf_height] = {};
|
||||||
|
glReadPixels(0, 0,
|
||||||
|
buf_width, buf_height,
|
||||||
|
GL_RGBA,
|
||||||
|
GL_FLOAT,
|
||||||
|
out);
|
||||||
|
|
||||||
|
for (int y = 0; y < buf_height; y++) {
|
||||||
|
for (int x = 0; x < buf_width; x++) {
|
||||||
|
printf("[% 2.3f % 2.3f % 2.3f % 2.3f ] ",
|
||||||
|
out[(y * buf_width + x) * 4 + 0],
|
||||||
|
out[(y * buf_width + x) * 4 + 1],
|
||||||
|
out[(y * buf_width + x) * 4 + 2],
|
||||||
|
out[(y * buf_width + x) * 4 + 3]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
/*
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
|
glViewport(0, 0, vp_width, vp_height);
|
||||||
|
|
||||||
|
glClearColor(0.1, 0.2, 0.0, 0.4);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
|
glUseProgram(program_test);
|
||||||
|
glBindVertexArray(vertex_array);
|
||||||
|
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||||
|
*/
|
||||||
|
|
||||||
|
//glFlush();
|
||||||
|
//glFinish();
|
||||||
|
|
||||||
|
glfwSwapBuffers(window);
|
||||||
glfwPollEvents();
|
glfwPollEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,2 +0,0 @@
|
|||||||
src/main.o: src/main.c /home/bilbo/advent-of-pixel-shaders/include/glad.h
|
|
||||||
/home/bilbo/advent-of-pixel-shaders/include/glad.h:
|
|
||||||
BIN
src/main.o
BIN
src/main.o
Binary file not shown.
37
src/opengl.c
37
src/opengl.c
@ -1,9 +1,11 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
#include "glad.h"
|
#include "glad.h"
|
||||||
|
#include "opengl.h"
|
||||||
|
|
||||||
unsigned int compile_shader(const void * vp,
|
uint compile_shader(const void * vp,
|
||||||
const int vp_length,
|
const int vp_length,
|
||||||
const void * fp,
|
const void * fp,
|
||||||
const int fp_length)
|
const int fp_length)
|
||||||
@ -59,7 +61,7 @@ unsigned int compile_shader(const void * vp,
|
|||||||
return shader_program;
|
return shader_program;
|
||||||
}
|
}
|
||||||
|
|
||||||
int make_buffer(unsigned int target,
|
uint make_buffer(unsigned int target,
|
||||||
const void * data,
|
const void * data,
|
||||||
size_t size)
|
size_t size)
|
||||||
{
|
{
|
||||||
@ -67,25 +69,46 @@ int make_buffer(unsigned int target,
|
|||||||
glGenBuffers(1, &buffer);
|
glGenBuffers(1, &buffer);
|
||||||
glBindBuffer(target, buffer);
|
glBindBuffer(target, buffer);
|
||||||
glBufferData(target, size, data, GL_STATIC_DRAW);
|
glBufferData(target, size, data, GL_STATIC_DRAW);
|
||||||
|
|
||||||
|
glBindBuffer(target, 0);
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
int make_texture(const void * data,
|
uint make_texture(const void * data,
|
||||||
int internalformat,
|
int internalformat,
|
||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
int format)
|
int format,
|
||||||
|
int type)
|
||||||
{
|
{
|
||||||
unsigned int texture;
|
unsigned int texture;
|
||||||
glGenTextures(1, &texture);
|
glGenTextures(1, &texture);
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, texture);
|
glBindTexture(GL_TEXTURE_2D, texture);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, internalformat, width, height, 0, format, GL_UNSIGNED_BYTE, data);
|
glTexImage2D(GL_TEXTURE_2D, 0, internalformat, width, height, 0, format, type, data);
|
||||||
|
|
||||||
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint make_framebuffer(uint * texture, int length)
|
||||||
|
{
|
||||||
|
uint framebuffer;
|
||||||
|
glGenFramebuffers(1, &framebuffer);
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++) {
|
||||||
|
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + i, GL_TEXTURE_2D, texture[i], 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||||
|
assert(status == GL_FRAMEBUFFER_COMPLETE);
|
||||||
|
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
|
return framebuffer;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
src/opengl.o: src/opengl.c \
|
|
||||||
/home/bilbo/advent-of-pixel-shaders/include/glad.h
|
|
||||||
/home/bilbo/advent-of-pixel-shaders/include/glad.h:
|
|
||||||
BIN
src/opengl.o
BIN
src/opengl.o
Binary file not shown.
85
src/shader/day1.fs.glsl
Normal file
85
src/shader/day1.fs.glsl
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
out vec4 fragment_color;
|
||||||
|
|
||||||
|
uniform sampler2D tex_sampler;
|
||||||
|
uniform vec4 tex_size; // w h halfpx_w halfpx_h
|
||||||
|
uniform float input_length;
|
||||||
|
|
||||||
|
vec2 rectangular_position(float ix)
|
||||||
|
{
|
||||||
|
float y = floor(ix * tex_size.z * 2.0);
|
||||||
|
float x = ix - tex_size.x * y;
|
||||||
|
|
||||||
|
return vec2((x * 2.0 + 1) * tex_size.z,
|
||||||
|
(y * 2.0 + 1) * tex_size.w);
|
||||||
|
}
|
||||||
|
|
||||||
|
const float ascii_zero = 48.0;
|
||||||
|
const float ascii_nine = 57.0;
|
||||||
|
const float ascii_l = 76.0;
|
||||||
|
|
||||||
|
float get_input(float ix)
|
||||||
|
{
|
||||||
|
return texture(tex_sampler, rectangular_position(ix)).x * 255.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
vec2 parse_integer(float ix)
|
||||||
|
{
|
||||||
|
float number = 0;
|
||||||
|
|
||||||
|
while (ix < input_length) {
|
||||||
|
float c = get_input(ix);
|
||||||
|
if (c < ascii_zero || c > ascii_nine) {
|
||||||
|
return vec2(ix + 1.0, number);
|
||||||
|
}
|
||||||
|
float digit = c - ascii_zero;
|
||||||
|
number = number * 10.0 + digit;
|
||||||
|
ix += 1.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
vec2 parse_direction(float ix)
|
||||||
|
{
|
||||||
|
float c = get_input(ix);
|
||||||
|
float left = (c == ascii_l) ? 1.0 : 0.0;
|
||||||
|
return vec2(ix + 1.0, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
vec2 simulate_movement(float ix, float position)
|
||||||
|
{
|
||||||
|
vec2 dir_result = parse_direction(ix);
|
||||||
|
ix = dir_result.x;
|
||||||
|
float left = dir_result.y;
|
||||||
|
|
||||||
|
vec2 int_result = parse_integer(ix);
|
||||||
|
ix = int_result.x;
|
||||||
|
float number = int_result.y;
|
||||||
|
|
||||||
|
if (left == 1.0) {
|
||||||
|
position = position - number;
|
||||||
|
} else {
|
||||||
|
position = position + number;
|
||||||
|
}
|
||||||
|
position = mod(position, 100);
|
||||||
|
return vec2(ix, position);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
float ix = 0.0;
|
||||||
|
float position = 50.0;
|
||||||
|
float zeros = 0.0;
|
||||||
|
|
||||||
|
while (ix < input_length) {
|
||||||
|
vec2 result = simulate_movement(ix, position);
|
||||||
|
ix = result.x;
|
||||||
|
position = result.y;
|
||||||
|
|
||||||
|
if (position == 0.0) {
|
||||||
|
zeros += 1.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment_color = vec4(position, zeros, 0, 0);
|
||||||
|
}
|
||||||
8
src/shader/day1.vs.glsl
Normal file
8
src/shader/day1.vs.glsl
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
layout (location = 0) in vec2 position;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position = vec4(position, 0, 1);
|
||||||
|
}
|
||||||
25
src/shader/test.fs.glsl
Normal file
25
src/shader/test.fs.glsl
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
out vec4 fragment_color;
|
||||||
|
|
||||||
|
uniform sampler2D tex_sampler;
|
||||||
|
uniform vec4 tex_size;
|
||||||
|
|
||||||
|
in vec2 f_position;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 p = texture(tex_sampler, f_position);
|
||||||
|
|
||||||
|
float sum = 0;
|
||||||
|
for (float y = 0; y < tex_size.y; y++) {
|
||||||
|
for (float x = 0; x < tex_size.x; x++) {
|
||||||
|
vec2 coord = vec2((x * 2 + 1) * tex_size.z,
|
||||||
|
(y * 2 + 1) * tex_size.w);
|
||||||
|
|
||||||
|
sum += texture(tex_sampler, coord).x * 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment_color = vec4(p.x * 255, sum, f_position);
|
||||||
|
}
|
||||||
12
src/shader/test.vs.glsl
Normal file
12
src/shader/test.vs.glsl
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
layout (location = 0) in vec2 position;
|
||||||
|
|
||||||
|
out vec2 f_position;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
f_position = position * 0.5 + 0.5;
|
||||||
|
|
||||||
|
gl_Position = vec4(position, 0, 1);
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user