--lualoader, R"EOF(-- --OpenGL binding, taken and modified from https://github.com/malkia/luajit-opencl ffi.cdef[[ enum { GL_ACCUM = 0x0100, GL_LOAD = 0x0101, GL_RETURN = 0x0102, GL_MULT = 0x0103, GL_ADD = 0x0104, GL_NEVER = 0x0200, GL_LESS = 0x0201, GL_EQUAL = 0x0202, GL_LEQUAL = 0x0203, GL_GREATER = 0x0204, GL_NOTEQUAL = 0x0205, GL_GEQUAL = 0x0206, GL_ALWAYS = 0x0207, GL_CURRENT_BIT = 0x00000001, GL_POINT_BIT = 0x00000002, GL_LINE_BIT = 0x00000004, GL_POLYGON_BIT = 0x00000008, GL_POLYGON_STIPPLE_BIT = 0x00000010, GL_PIXEL_MODE_BIT = 0x00000020, GL_LIGHTING_BIT = 0x00000040, GL_FOG_BIT = 0x00000080, GL_DEPTH_BUFFER_BIT = 0x00000100, GL_ACCUM_BUFFER_BIT = 0x00000200, GL_STENCIL_BUFFER_BIT = 0x00000400, GL_VIEWPORT_BIT = 0x00000800, GL_TRANSFORM_BIT = 0x00001000, GL_ENABLE_BIT = 0x00002000, GL_COLOR_BUFFER_BIT = 0x00004000, GL_HINT_BIT = 0x00008000, GL_EVAL_BIT = 0x00010000, GL_LIST_BIT = 0x00020000, GL_TEXTURE_BIT = 0x00040000, GL_SCISSOR_BIT = 0x00080000, GL_ALL_ATTRIB_BITS = 0x000fffff, GL_POINTS = 0x0000, GL_LINES = 0x0001, GL_LINE_LOOP = 0x0002, GL_LINE_STRIP = 0x0003, GL_TRIANGLES = 0x0004, GL_TRIANGLE_STRIP = 0x0005, GL_TRIANGLE_FAN = 0x0006, GL_QUADS = 0x0007, GL_QUAD_STRIP = 0x0008, GL_POLYGON = 0x0009, GL_ZERO = 0, GL_ONE = 1, GL_SRC_COLOR = 0x0300, GL_ONE_MINUS_SRC_COLOR = 0x0301, GL_SRC_ALPHA = 0x0302, GL_ONE_MINUS_SRC_ALPHA = 0x0303, GL_DST_ALPHA = 0x0304, GL_ONE_MINUS_DST_ALPHA = 0x0305, GL_DST_COLOR = 0x0306, GL_ONE_MINUS_DST_COLOR = 0x0307, GL_SRC_ALPHA_SATURATE = 0x0308, GL_TRUE = 1, GL_FALSE = 0, GL_CLIP_PLANE0 = 0x3000, GL_CLIP_PLANE1 = 0x3001, GL_CLIP_PLANE2 = 0x3002, GL_CLIP_PLANE3 = 0x3003, GL_CLIP_PLANE4 = 0x3004, GL_CLIP_PLANE5 = 0x3005, GL_BYTE = 0x1400, GL_UNSIGNED_BYTE = 0x1401, GL_SHORT = 0x1402, GL_UNSIGNED_SHORT = 0x1403, GL_INT = 0x1404, GL_UNSIGNED_INT = 0x1405, GL_FLOAT = 0x1406, GL_2_BYTES = 0x1407, GL_3_BYTES = 0x1408, GL_4_BYTES = 0x1409, GL_DOUBLE = 0x140A, GL_NONE = 0, GL_FRONT_LEFT = 0x0400, GL_FRONT_RIGHT = 0x0401, GL_BACK_LEFT = 0x0402, GL_BACK_RIGHT = 0x0403, GL_FRONT = 0x0404, GL_BACK = 0x0405, GL_LEFT = 0x0406, GL_RIGHT = 0x0407, GL_FRONT_AND_BACK = 0x0408, GL_AUX0 = 0x0409, GL_AUX1 = 0x040A, GL_AUX2 = 0x040B, GL_AUX3 = 0x040C, GL_NO_ERROR = 0, GL_INVALID_ENUM = 0x0500, GL_INVALID_VALUE = 0x0501, GL_INVALID_OPERATION = 0x0502, GL_STACK_OVERFLOW = 0x0503, GL_STACK_UNDERFLOW = 0x0504, GL_OUT_OF_MEMORY = 0x0505, GL_2D = 0x0600, GL_3D = 0x0601, GL_3D_COLOR = 0x0602, GL_3D_COLOR_TEXTURE = 0x0603, GL_4D_COLOR_TEXTURE = 0x0604, GL_PASS_THROUGH_TOKEN = 0x0700, GL_POINT_TOKEN = 0x0701, GL_LINE_TOKEN = 0x0702, GL_POLYGON_TOKEN = 0x0703, GL_BITMAP_TOKEN = 0x0704, GL_DRAW_PIXEL_TOKEN = 0x0705, GL_COPY_PIXEL_TOKEN = 0x0706, GL_LINE_RESET_TOKEN = 0x0707, GL_EXP = 0x0800, GL_EXP2 = 0x0801, GL_CW = 0x0900, GL_CCW = 0x0901, GL_COEFF = 0x0A00, GL_ORDER = 0x0A01, GL_DOMAIN = 0x0A02, GL_CURRENT_COLOR = 0x0B00, GL_CURRENT_INDEX = 0x0B01, GL_CURRENT_NORMAL = 0x0B02, GL_CURRENT_TEXTURE_COORDS = 0x0B03, GL_CURRENT_RASTER_COLOR = 0x0B04, GL_CURRENT_RASTER_INDEX = 0x0B05, GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06, GL_CURRENT_RASTER_POSITION = 0x0B07, GL_CURRENT_RASTER_POSITION_VALID = 0x0B08, GL_CURRENT_RASTER_DISTANCE = 0x0B09, GL_POINT_SMOOTH = 0x0B10, GL_POINT_SIZE = 0x0B11, GL_POINT_SIZE_RANGE = 0x0B12, GL_POINT_SIZE_GRANULARITY = 0x0B13, GL_LINE_SMOOTH = 0x0B20, GL_LINE_WIDTH = 0x0B21, GL_LINE_WIDTH_RANGE = 0x0B22, GL_LINE_WIDTH_GRANULARITY = 0x0B23, GL_LINE_STIPPLE = 0x0B24, GL_LINE_STIPPLE_PATTERN = 0x0B25, GL_LINE_STIPPLE_REPEAT = 0x0B26, GL_LIST_MODE = 0x0B30, GL_MAX_LIST_NESTING = 0x0B31, GL_LIST_BASE = 0x0B32, GL_LIST_INDEX = 0x0B33, GL_POLYGON_MODE = 0x0B40, GL_POLYGON_SMOOTH = 0x0B41, GL_POLYGON_STIPPLE = 0x0B42, GL_EDGE_FLAG = 0x0B43, GL_CULL_FACE = 0x0B44, GL_CULL_FACE_MODE = 0x0B45, GL_FRONT_FACE = 0x0B46, GL_LIGHTING = 0x0B50, GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51, GL_LIGHT_MODEL_TWO_SIDE = 0x0B52, GL_LIGHT_MODEL_AMBIENT = 0x0B53, GL_SHADE_MODEL = 0x0B54, GL_COLOR_MATERIAL_FACE = 0x0B55, GL_COLOR_MATERIAL_PARAMETER = 0x0B56, GL_COLOR_MATERIAL = 0x0B57, GL_FOG = 0x0B60, GL_FOG_INDEX = 0x0B61, GL_FOG_DENSITY = 0x0B62, GL_FOG_START = 0x0B63, GL_FOG_END = 0x0B64, GL_FOG_MODE = 0x0B65, GL_FOG_COLOR = 0x0B66, GL_DEPTH_RANGE = 0x0B70, GL_DEPTH_TEST = 0x0B71, GL_DEPTH_WRITEMASK = 0x0B72, GL_DEPTH_CLEAR_VALUE = 0x0B73, GL_DEPTH_FUNC = 0x0B74, GL_ACCUM_CLEAR_VALUE = 0x0B80, GL_STENCIL_TEST = 0x0B90, GL_STENCIL_CLEAR_VALUE = 0x0B91, GL_STENCIL_FUNC = 0x0B92, GL_STENCIL_VALUE_MASK = 0x0B93, GL_STENCIL_FAIL = 0x0B94, GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95, GL_STENCIL_PASS_DEPTH_PASS = 0x0B96, GL_STENCIL_REF = 0x0B97, GL_STENCIL_WRITEMASK = 0x0B98, GL_MATRIX_MODE = 0x0BA0, GL_NORMALIZE = 0x0BA1, GL_VIEWPORT = 0x0BA2, GL_MODELVIEW_STACK_DEPTH = 0x0BA3, GL_PROJECTION_STACK_DEPTH = 0x0BA4, GL_TEXTURE_STACK_DEPTH = 0x0BA5, GL_MODELVIEW_MATRIX = 0x0BA6, GL_PROJECTION_MATRIX = 0x0BA7, GL_TEXTURE_MATRIX = 0x0BA8, GL_ATTRIB_STACK_DEPTH = 0x0BB0, GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1, GL_ALPHA_TEST = 0x0BC0, GL_ALPHA_TEST_FUNC = 0x0BC1, GL_ALPHA_TEST_REF = 0x0BC2, GL_DITHER = 0x0BD0, GL_BLEND_DST = 0x0BE0, GL_BLEND_SRC = 0x0BE1, GL_BLEND = 0x0BE2, GL_LOGIC_OP_MODE = 0x0BF0, GL_INDEX_LOGIC_OP = 0x0BF1, GL_COLOR_LOGIC_OP = 0x0BF2, GL_AUX_BUFFERS = 0x0C00, GL_DRAW_BUFFER = 0x0C01, GL_READ_BUFFER = 0x0C02, GL_SCISSOR_BOX = 0x0C10, GL_SCISSOR_TEST = 0x0C11, GL_INDEX_CLEAR_VALUE = 0x0C20, GL_INDEX_WRITEMASK = 0x0C21, GL_COLOR_CLEAR_VALUE = 0x0C22, GL_COLOR_WRITEMASK = 0x0C23, GL_INDEX_MODE = 0x0C30, GL_RGBA_MODE = 0x0C31, GL_DOUBLEBUFFER = 0x0C32, GL_STEREO = 0x0C33, GL_RENDER_MODE = 0x0C40, GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50, GL_POINT_SMOOTH_HINT = 0x0C51, GL_LINE_SMOOTH_HINT = 0x0C52, GL_POLYGON_SMOOTH_HINT = 0x0C53, GL_FOG_HINT = 0x0C54, GL_TEXTURE_GEN_S = 0x0C60, GL_TEXTURE_GEN_T = 0x0C61, GL_TEXTURE_GEN_R = 0x0C62, GL_TEXTURE_GEN_Q = 0x0C63, GL_PIXEL_MAP_I_TO_I = 0x0C70, GL_PIXEL_MAP_S_TO_S = 0x0C71, GL_PIXEL_MAP_I_TO_R = 0x0C72, GL_PIXEL_MAP_I_TO_G = 0x0C73, GL_PIXEL_MAP_I_TO_B = 0x0C74, GL_PIXEL_MAP_I_TO_A = 0x0C75, GL_PIXEL_MAP_R_TO_R = 0x0C76, GL_PIXEL_MAP_G_TO_G = 0x0C77, GL_PIXEL_MAP_B_TO_B = 0x0C78, GL_PIXEL_MAP_A_TO_A = 0x0C79, GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0, GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1, GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2, GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3, GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4, GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5, GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6, GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7, GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8, GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9, GL_UNPACK_SWAP_BYTES = 0x0CF0, GL_UNPACK_LSB_FIRST = 0x0CF1, GL_UNPACK_ROW_LENGTH = 0x0CF2, GL_UNPACK_SKIP_ROWS = 0x0CF3, GL_UNPACK_SKIP_PIXELS = 0x0CF4, GL_UNPACK_ALIGNMENT = 0x0CF5, GL_PACK_SWAP_BYTES = 0x0D00, GL_PACK_LSB_FIRST = 0x0D01, GL_PACK_ROW_LENGTH = 0x0D02, GL_PACK_SKIP_ROWS = 0x0D03, GL_PACK_SKIP_PIXELS = 0x0D04, GL_PACK_ALIGNMENT = 0x0D05, GL_MAP_COLOR = 0x0D10, GL_MAP_STENCIL = 0x0D11, GL_INDEX_SHIFT = 0x0D12, GL_INDEX_OFFSET = 0x0D13, GL_RED_SCALE = 0x0D14, GL_RED_BIAS = 0x0D15, GL_ZOOM_X = 0x0D16, GL_ZOOM_Y = 0x0D17, GL_GREEN_SCALE = 0x0D18, GL_GREEN_BIAS = 0x0D19, GL_BLUE_SCALE = 0x0D1A, GL_BLUE_BIAS = 0x0D1B, GL_ALPHA_SCALE = 0x0D1C, GL_ALPHA_BIAS = 0x0D1D, GL_DEPTH_SCALE = 0x0D1E, GL_DEPTH_BIAS = 0x0D1F, GL_MAX_EVAL_ORDER = 0x0D30, GL_MAX_LIGHTS = 0x0D31, GL_MAX_CLIP_PLANES = 0x0D32, GL_MAX_TEXTURE_SIZE = 0x0D33, GL_MAX_PIXEL_MAP_TABLE = 0x0D34, GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35, GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36, GL_MAX_NAME_STACK_DEPTH = 0x0D37, GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38, GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39, GL_MAX_VIEWPORT_DIMS = 0x0D3A, GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B, GL_SUBPIXEL_BITS = 0x0D50, GL_INDEX_BITS = 0x0D51, GL_RED_BITS = 0x0D52, GL_GREEN_BITS = 0x0D53, GL_BLUE_BITS = 0x0D54, GL_ALPHA_BITS = 0x0D55, GL_DEPTH_BITS = 0x0D56, GL_STENCIL_BITS = 0x0D57, GL_ACCUM_RED_BITS = 0x0D58, GL_ACCUM_GREEN_BITS = 0x0D59, GL_ACCUM_BLUE_BITS = 0x0D5A, GL_ACCUM_ALPHA_BITS = 0x0D5B, GL_NAME_STACK_DEPTH = 0x0D70, GL_AUTO_NORMAL = 0x0D80, GL_MAP1_COLOR_4 = 0x0D90, GL_MAP1_INDEX = 0x0D91, GL_MAP1_NORMAL = 0x0D92, GL_MAP1_TEXTURE_COORD_1 = 0x0D93, GL_MAP1_TEXTURE_COORD_2 = 0x0D94, GL_MAP1_TEXTURE_COORD_3 = 0x0D95, GL_MAP1_TEXTURE_COORD_4 = 0x0D96, GL_MAP1_VERTEX_3 = 0x0D97, GL_MAP1_VERTEX_4 = 0x0D98, GL_MAP2_COLOR_4 = 0x0DB0, GL_MAP2_INDEX = 0x0DB1, GL_MAP2_NORMAL = 0x0DB2, GL_MAP2_TEXTURE_COORD_1 = 0x0DB3, GL_MAP2_TEXTURE_COORD_2 = 0x0DB4, GL_MAP2_TEXTURE_COORD_3 = 0x0DB5, GL_MAP2_TEXTURE_COORD_4 = 0x0DB6, GL_MAP2_VERTEX_3 = 0x0DB7, GL_MAP2_VERTEX_4 = 0x0DB8, GL_MAP1_GRID_DOMAIN = 0x0DD0, GL_MAP1_GRID_SEGMENTS = 0x0DD1, GL_MAP2_GRID_DOMAIN = 0x0DD2, GL_MAP2_GRID_SEGMENTS = 0x0DD3, GL_TEXTURE_1D = 0x0DE0, GL_TEXTURE_2D = 0x0DE1, GL_FEEDBACK_BUFFER_POINTER = 0x0DF0, GL_FEEDBACK_BUFFER_SIZE = 0x0DF1, GL_FEEDBACK_BUFFER_TYPE = 0x0DF2, GL_SELECTION_BUFFER_POINTER = 0x0DF3, GL_SELECTION_BUFFER_SIZE = 0x0DF4, GL_TEXTURE_WIDTH = 0x1000, GL_TEXTURE_HEIGHT = 0x1001, GL_TEXTURE_INTERNAL_FORMAT = 0x1003, GL_TEXTURE_BORDER_COLOR = 0x1004, GL_TEXTURE_BORDER = 0x1005, GL_DONT_CARE = 0x1100, GL_FASTEST = 0x1101, GL_NICEST = 0x1102, GL_LIGHT0 = 0x4000, GL_LIGHT1 = 0x4001, GL_LIGHT2 = 0x4002, GL_LIGHT3 = 0x4003, GL_LIGHT4 = 0x4004, GL_LIGHT5 = 0x4005, GL_LIGHT6 = 0x4006, GL_LIGHT7 = 0x4007, }; ]] -- )EOF"