Files
OpenRA/api/lua/luxgfx.lua
2011-09-04 19:01:25 +02:00

2340 lines
114 KiB
Lua

--[[// lxg | Lux Graphics
typedef struct lxgContext_s * lxgContextPTR ;
typedef struct lxgBuffer_s * lxgBufferPTR ;
typedef struct lxgStreamHost_s * lxgStreamHostPTR ;
typedef struct lxgVertexDecl_s * lxgVertexDeclPTR ;
typedef struct lxgFeedbackState_s * lxgFeedbackStatePTR ;
typedef struct lxgTextureImage_s * lxgTextureImagePTR ;
typedef struct lxgSampler_s * lxgSamplerPTR ;
typedef struct lxgTexture_s * lxgTexturePTR ;
typedef struct lxgRenderBuffer_s * lxgRenderBufferPTR ;
typedef struct lxgTextureUpdate_s * lxgTextureUpdatePTR ;
typedef struct lxgProgramParameter_s * lxgProgramParameterPTR ;
typedef struct lxgStageProgram_s * lxgStageProgramPTR ;
typedef struct lxgProgram_s * lxgProgramPTR ;
typedef struct lxgRenderTarget_s * lxgRenderTargetPTR ;
typedef struct lxgViewPort_s * lxgViewPortPTR ;
typedef struct lxgViewPortMrt_s * lxgViewPortMrtPTR ;
typedef struct lxgFrameBounds_s * lxgFrameBoundsPTR ;
typedef struct lxgRenderAssign_s * lxgRenderAssignPTR ;
typedef struct lxgBlend_s * lxgBlendPTR ;
typedef struct lxgStencil_s * lxgStencilPTR ;
typedef struct lxgLogic_s * lxgLogicPTR ;
typedef struct lxgDepth_s * lxgDepthPTR ;
typedef struct lxgColor_s * lxgColorPTR ;
typedef struct lxgRasterizer_s * lxgRasterizerPTR ;
typedef const struct lxgContext_s * lxgContextCPTR ;
typedef const struct lxgBuffer_s * lxgBufferCPTR ;
typedef const struct lxgStreamHost_s * lxgStreamHostCPTR ;
typedef const struct lxgVertexDecl_s * lxgVertexDeclCPTR ;
typedef const struct lxgFeedbackState_s * lxgFeedbackStateCPTR ;
typedef const struct lxgTextureImage_s * lxgTextureImageCPTR ;
typedef const struct lxgSampler_s * lxgSamplerCPTR ;
typedef const struct lxgTexture_s * lxgTextureCPTR ;
typedef const struct lxgRenderBuffer_s * lxgRenderBufferCPTR ;
typedef const struct lxgTextureUpdate_s * lxgTextureUpdateCPTR ;
typedef const struct lxgProgramParameter_s * lxgProgramParameterCPTR ;
typedef const struct lxgStageProgram_s * lxgStageProgramCPTR ;
typedef const struct lxgProgram_s * lxgProgramCPTR ;
typedef const struct lxgRenderTarget_s * lxgRenderTargetCPTR ;
typedef const struct lxgViewPort_s * lxgViewPortCPTR ;
typedef const struct lxgViewPortMrt_s * lxgViewPortMrtCPTR ;
typedef const struct lxgFrameBounds_s * lxgFrameBoundsCPTR ;
typedef const struct lxgRenderAssign_s * lxgRenderAssignCPTR ;
typedef const struct lxgBlend_s * lxgBlendCPTR ;
typedef const struct lxgColor_s * lxgColorCPTR ;
typedef const struct lxgStencil_s * lxgStencilCPTR ;
typedef const struct lxgLogic_s * lxgLogicCPTR ;
typedef const struct lxgDepth_s * lxgDepthCPTR ;
typedef const struct lxgRasterizer_s * lxgRasterizerCPTR ;
typedef flags32 lxgRenderFlag_t ;
typedef enum lxgAccessMode_e
{
LUXGFX_ACCESS_READ , LUXGFX_ACCESS_WRITE , LUXGFX_ACCESS_READWRITE , LUXGFX_ACCESS_WRITEDISCARD , LUXGFX_ACCESS_WRITEDISCARDALL , LUXGFX_ACCESSES , }
lxgAccessMode_t ;
enum
{
LUXGFX_MAX_TEXTURE_IMAGES = 32 , LUXGFX_MAX_RENDERTARGETS = 16 , LUXGFX_MAX_RWTEXTURE_IMAGES = 8 , LUXGFX_MAX_STAGE_BUFFERS = 12 , LUXGFX_MAX_TEXTURE_MIPMAPS = 16 , LUXGFX_MAX_VERTEX_STREAMS = 8 , LUXGFX_MAX_STAGE_SUBROUTINES = 1024 , }
;
typedef enum lxGLCompareMode_e
{
LUXGL_COMPARE_NEVER = GL_NEVER , LUXGL_COMPARE_LESS = GL_LESS , LUXGL_COMPARE_EQUAL = GL_EQUAL , LUXGL_COMPARE_LEQUAL = GL_LEQUAL , LUXGL_COMPARE_GREATER = GL_GREATER , LUXGL_COMPARE_NOTEQUAL = GL_NOTEQUAL , LUXGL_COMPARE_GEQUAL = GL_GEQUAL , LUXGL_COMPARE_ALWAYS = GL_ALWAYS , LUXGL_COMPARE_DONTEXECUTE = 0xFFFFFFFFu , }
lxGLCompareMode_t ;
typedef enum lxGLBufferHint_e
{
LUXGL_STATIC_DRAW = GL_STATIC_DRAW , LUXGL_STATIC_READ = GL_STATIC_READ , LUXGL_STATIC_COPY = GL_STATIC_COPY , LUXGL_DYNAMIC_DRAW = GL_DYNAMIC_DRAW , LUXGL_DYNAMIC_READ = GL_DYNAMIC_READ , LUXGL_DYNAMIC_COPY = GL_DYNAMIC_COPY , LUXGL_STREAM_DRAW = GL_STREAM_DRAW , LUXGL_STREAM_READ = GL_STREAM_READ , LUXGL_STREAM_COPY = GL_STREAM_COPY , }
lxGLBufferHint_t ;
typedef enum lxGLStencilMode_e
{
LUXGL_STENCIL_KEEP = GL_KEEP , LUXGL_STENCIL_ZERO = GL_ZERO , LUXGL_STENCIL_REPLACE = GL_REPLACE , LUXGL_STENCIL_INCR_SAT = GL_INCR , LUXGL_STENCIL_DECR_SAT = GL_DECR , LUXGL_STENCIL_INVERT = GL_INVERT , LUXGL_STENCIL_INCR = GL_INCR_WRAP , LUXGL_STENCIL_DECR = GL_DECR_WRAP , }
lxGLStencilMode_t ;
typedef enum lxGLBlendWeight_e
{
LUXGL_BLENDW_ZERO = GL_ZERO , LUXGL_BLENDW_ONE = GL_ONE , LUXGL_BLENDW_RGB_SRC = GL_SRC_COLOR , LUXGL_BLENDW_RGB_DST = GL_DST_COLOR , LUXGL_BLENDW_A_SRC = GL_SRC_ALPHA , LUXGL_BLENDW_A_DST = GL_DST_ALPHA , LUXGL_BLENDW_INVRGB_SRC = GL_ONE_MINUS_SRC_COLOR , LUXGL_BLENDW_INVRGB_DST = GL_ONE_MINUS_DST_COLOR , LUXGL_BLENDW_INVA_SRC = GL_ONE_MINUS_SRC_ALPHA , LUXGL_BLENDW_INVA_DST = GL_ONE_MINUS_DST_ALPHA , LUXGL_BLENDW_UNKOWN = 0xFFFFABCD , }
lxGLBlendWeight_t ;
typedef enum lxGLBlendEquation_e
{
LUXGL_BLENDE_ADD = GL_FUNC_ADD , LUXGL_BLENDE_SUB = GL_FUNC_SUBTRACT , LUXGL_BLENDE_SUB_REV = GL_FUNC_REVERSE_SUBTRACT , LUXGL_BLENDE_MIN = GL_MIN , LUXGL_BLENDE_MAX = GL_MAX , LUXGL_BLENDE_UNKOWN = 0xFFFFABCD , }
lxGLBlendEquation_t ;
typedef enum lxGLLogicOp_e
{
LUXGL_LOGICOP_CLEAR = GL_CLEAR , LUXGL_LOGICOP_SET = GL_SET , LUXGL_LOGICOP_COPY = GL_COPY , LUXGL_LOGICOP_INVERTED = GL_COPY_INVERTED , LUXGL_LOGICOP_NOOP = GL_NOOP , LUXGL_LOGICOP_INVERT = GL_INVERT , LUXGL_LOGICOP_AND = GL_AND , LUXGL_LOGICOP_NAND = GL_NAND , LUXGL_LOGICOP_OR = GL_OR , LUXGL_LOGICOP_NOR = GL_NOR , LUXGL_LOGICOP_XOR = GL_XOR , LUXGL_LOGICOP_EQUIV = GL_EQUIV , LUXGL_LOGICOP_AND_REVERSE = GL_AND_REVERSE , LUXGL_LOGICOP_AND_INVERTED = GL_AND_INVERTED , LUXGL_LOGICOP_OR_REVERSE = GL_OR_REVERSE , LUXGL_LOGICOP_OR_INVERTED = GL_OR_INVERTED , LUXGL_LOGICOP_ILLEGAL = 0 , }
lxGLLogicOp_t ;
typedef enum lxGLPrimitiveType_e
{
LUXGL_POINTS = GL_POINTS , LUXGL_TRIANGLES = GL_TRIANGLES , LUXGL_TRIANGLE_STRIP = GL_TRIANGLE_STRIP , LUXGL_TRIANGLE_FAN = GL_TRIANGLE_FAN , LUXGL_LINES = GL_LINES , LUXGL_LINE_LOOP = GL_LINE_LOOP , LUXGL_LINE_STRIP = GL_LINE_STRIP , LUXGL_QUADS = GL_QUADS , LUXGL_QUAD_STRIP = GL_QUAD_STRIP , LUXGL_LINE_ADJ = GL_LINES_ADJACENCY , LUXGL_LINE_STRIP_ADJ = GL_LINE_STRIP_ADJACENCY , LUXGL_TRIANGLE_STRIP_ADJ = GL_TRIANGLE_STRIP_ADJACENCY , LUXGL_TRIANGLE_ADJ = GL_TRIANGLES_ADJACENCY , LUXGL_PATCHES = GL_PATCHES , LUXGL_POLYGON = GL_POLYGON , }
lxGLPrimitiveType_t ;
typedef enum lxGLTextureTarget_e
{
LUXGL_TEXTURE_1D = GL_TEXTURE_1D , LUXGL_TEXTURE_2D = GL_TEXTURE_2D , LUXGL_TEXTURE_3D = GL_TEXTURE_3D , LUXGL_TEXTURE_RECT = GL_TEXTURE_RECTANGLE , LUXGL_TEXTURE_1DARRAY = GL_TEXTURE_1D_ARRAY , LUXGL_TEXTURE_2DARRAY = GL_TEXTURE_2D_ARRAY , LUXGL_TEXTURE_CUBE = GL_TEXTURE_CUBE_MAP , LUXGL_TEXTURE_CUBEARRAY = GL_TEXTURE_CUBE_MAP_ARRAY , LUXGL_TEXTURE_2DMS = GL_TEXTURE_2D_MULTISAMPLE , LUXGL_TEXTURE_2DMSARRAY = GL_TEXTURE_2D_MULTISAMPLE_ARRAY , LUXGL_TEXTURE_BUFFER = GL_TEXTURE_BUFFER , LUXGL_TEXTURE_RENDERBUFFER = GL_TEXTURE_RENDERBUFFER_NV , LUXGL_TEXTURE_INVALID = 0 , }
lxGLTextureTarget_t ;
typedef enum lxGLBufferTarget_e
{
LUXGL_BUFFER_VERTEX = GL_ARRAY_BUFFER , LUXGL_BUFFER_INDEX = GL_ELEMENT_ARRAY_BUFFER , LUXGL_BUFFER_PIXELWRITE = GL_PIXEL_PACK_BUFFER , LUXGL_BUFFER_PIXELREAD = GL_PIXEL_UNPACK_BUFFER , LUXGL_BUFFER_UNIFORM = GL_UNIFORM_BUFFER , LUXGL_BUFFER_TEXTURE = GL_TEXTURE_BUFFER , LUXGL_BUFFER_FEEDBACK = GL_TRANSFORM_FEEDBACK_BUFFER , LUXGL_BUFFER_CPYWRITE = GL_COPY_WRITE_BUFFER , LUXGL_BUFFER_CPYREAD = GL_COPY_READ_BUFFER , LUXGL_BUFFER_DRAWINDIRECT = GL_DRAW_INDIRECT_BUFFER , LUXGL_BUFFER_NVVIDEO = 0x9020 , LUXGL_BUFFER_NVPARAM_VERTEX = GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV , LUXGL_BUFFER_NVPARAM_GEOMETRY = GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV , LUXGL_BUFFER_NVPARAM_FRAGMENT = GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV , LUXGL_BUFFER_NVPARAM_TESSCTRL = GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV , LUXGL_BUFFER_NVPARAM_TESSEVAL = GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV , LUXGL_BUFFER_INVALID = 0 , }
lxGLBufferTarget_t ;
typedef enum lxGLShaderType_e
{
LUXGL_SHADER_VERTEX = GL_VERTEX_SHADER , LUXGL_SHADER_FRAGMENT = GL_FRAGMENT_SHADER , LUXGL_SHADER_GEOMETRY = GL_GEOMETRY_SHADER , LUXGL_SHADER_TESSCTRL = GL_TESS_CONTROL_SHADER , LUXGL_SHADER_TESSEVAL = GL_TESS_EVALUATION_SHADER , }
lxGLShaderType_t ;
typedef enum lxGLProgramType_e
{
LUXGL_PROGRAM_VERTEX = GL_VERTEX_PROGRAM_ARB , LUXGL_PROGRAM_FRAGMENT = GL_FRAGMENT_PROGRAM_ARB , LUXGL_PROGRAM_GEOMETRY = GL_GEOMETRY_PROGRAM_NV , LUXGL_PROGRAM_TESSCTRL = GL_TESS_CONTROL_PROGRAM_NV , LUXGL_PROGRAM_TESSEVAL = GL_TESS_EVALUATION_PROGRAM_NV , }
lxGLProgramType_t ;
typedef enum lxGLAccessFormat_e
{
LUXGL_ACCESSFORMAT_R8UI = GL_R8UI , LUXGL_ACCESSFORMAT_R8I = GL_R8I , LUXGL_ACCESSFORMAT_R16UI = GL_R16UI , LUXGL_ACCESSFORMAT_R16I = GL_R16I , LUXGL_ACCESSFORMAT_R32UI = GL_R32UI , LUXGL_ACCESSFORMAT_R32I = GL_R32I , LUXGL_ACCESSFORMAT_R32F = GL_R32F , LUXGL_ACCESSFORMAT_RG32UI = GL_RG32UI , LUXGL_ACCESSFORMAT_RG32I = GL_RG32I , LUXGL_ACCESSFORMAT_RG32F = GL_RG32F , LUXGL_ACCESSFORMAT_RGBA32UI = GL_RGBA32UI , LUXGL_ACCESSFORMAT_RGBA32I = GL_RGBA32I , LUXGL_ACCESSFORMAT_RGBA32F = GL_RGBA32F , }
lxGLAccessFormat_t ;
typedef enum lxGLAccessMode_e
{
LUXGL_ACCESS_READ_ONLY = GL_READ_ONLY , LUXGL_ACCESS_WRITE_ONLY = GL_WRITE_ONLY , LUXGL_ACCESS_READ_WRITE = GL_READ_WRITE , }
lxGLAccessMode_t ;
typedef enum lxGLParameterType_e
{
LUXGL_PARAM_FLOAT = GL_FLOAT , LUXGL_PARAM_FLOAT2 = GL_FLOAT_VEC2 , LUXGL_PARAM_FLOAT3 = GL_FLOAT_VEC3 , LUXGL_PARAM_FLOAT4 = GL_FLOAT_VEC4 , LUXGL_PARAM_INT = GL_INT , LUXGL_PARAM_INT2 = GL_INT_VEC2 , LUXGL_PARAM_INT3 = GL_INT_VEC3 , LUXGL_PARAM_INT4 = GL_INT_VEC4 , LUXGL_PARAM_UINT = GL_UNSIGNED_INT , LUXGL_PARAM_UINT2 = GL_UNSIGNED_INT_VEC2 , LUXGL_PARAM_UINT3 = GL_UNSIGNED_INT_VEC3 , LUXGL_PARAM_UINT4 = GL_UNSIGNED_INT_VEC4 , LUXGL_PARAM_BOOL = GL_BOOL , LUXGL_PARAM_BOOL2 = GL_BOOL_VEC2 , LUXGL_PARAM_BOOL3 = GL_BOOL_VEC3 , LUXGL_PARAM_BOOL4 = GL_BOOL_VEC4 , LUXGL_PARAM_MAT2 = GL_FLOAT_MAT2 , LUXGL_PARAM_MAT3 = GL_FLOAT_MAT3 , LUXGL_PARAM_MAT4 = GL_FLOAT_MAT4 , LUXGL_PARAM_MAT2x3 = GL_FLOAT_MAT2x3 , LUXGL_PARAM_MAT2x4 = GL_FLOAT_MAT2x4 , LUXGL_PARAM_MAT3x2 = GL_FLOAT_MAT3x2 , LUXGL_PARAM_MAT3x4 = GL_FLOAT_MAT3x4 , LUXGL_PARAM_MAT4x2 = GL_FLOAT_MAT4x2 , LUXGL_PARAM_MAT4x3 = GL_FLOAT_MAT4x3 , LUXGL_PARAM_SAMPLER_1D = GL_SAMPLER_1D , LUXGL_PARAM_SAMPLER_2D = GL_SAMPLER_2D , LUXGL_PARAM_SAMPLER_3D = GL_SAMPLER_3D , LUXGL_PARAM_SAMPLER_CUBE = GL_SAMPLER_CUBE , LUXGL_PARAM_SAMPLER_2DRECT = GL_SAMPLER_2D_RECT , LUXGL_PARAM_SAMPLER_2DMS = GL_SAMPLER_2D_MULTISAMPLE , LUXGL_PARAM_SAMPLER_1DARRAY = GL_SAMPLER_1D_ARRAY , LUXGL_PARAM_SAMPLER_2DARRAY = GL_SAMPLER_2D_ARRAY , LUXGL_PARAM_SAMPLER_CUBEARRAY = GL_SAMPLER_CUBE_MAP_ARRAY , LUXGL_PARAM_SAMPLER_2DMSARRAY = GL_SAMPLER_2D_MULTISAMPLE_ARRAY , LUXGL_PARAM_SAMPLER_BUFFER = GL_SAMPLER_BUFFER , LUXGL_PARAM_ISAMPLER_1D = GL_INT_SAMPLER_1D , LUXGL_PARAM_ISAMPLER_2D = GL_INT_SAMPLER_2D , LUXGL_PARAM_ISAMPLER_3D = GL_INT_SAMPLER_3D , LUXGL_PARAM_ISAMPLER_CUBE = GL_INT_SAMPLER_CUBE , LUXGL_PARAM_ISAMPLER_2DRECT = GL_INT_SAMPLER_2D_RECT , LUXGL_PARAM_ISAMPLER_2DMS = GL_INT_SAMPLER_2D_MULTISAMPLE , LUXGL_PARAM_ISAMPLER_1DARRAY = GL_INT_SAMPLER_1D_ARRAY , LUXGL_PARAM_ISAMPLER_2DARRAY = GL_INT_SAMPLER_2D_ARRAY , LUXGL_PARAM_ISAMPLER_CUBEARRAY = GL_INT_SAMPLER_CUBE_MAP_ARRAY , LUXGL_PARAM_ISAMPLER_2DMSARRAY = GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY , LUXGL_PARAM_ISAMPLER_BUFFER = GL_INT_SAMPLER_BUFFER , LUXGL_PARAM_USAMPLER_1D = GL_UNSIGNED_INT_SAMPLER_1D , LUXGL_PARAM_USAMPLER_2D = GL_UNSIGNED_INT_SAMPLER_2D , LUXGL_PARAM_USAMPLER_3D = GL_UNSIGNED_INT_SAMPLER_3D , LUXGL_PARAM_USAMPLER_CUBE = GL_UNSIGNED_INT_SAMPLER_CUBE , LUXGL_PARAM_USAMPLER_2DRECT = GL_UNSIGNED_INT_SAMPLER_2D_RECT , LUXGL_PARAM_USAMPLER_2DMS = GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE , LUXGL_PARAM_USAMPLER_1DARRAY = GL_UNSIGNED_INT_SAMPLER_1D_ARRAY , LUXGL_PARAM_USAMPLER_2DARRAY = GL_UNSIGNED_INT_SAMPLER_2D_ARRAY , LUXGL_PARAM_USAMPLER_CUBEARRAY = GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY , LUXGL_PARAM_USAMPLER_2DMSARRAY = GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY , LUXGL_PARAM_USAMPLER_BUFFER = GL_UNSIGNED_INT_SAMPLER_BUFFER , LUXGL_PARAM_SAMPLER_1D_SHADOW = GL_SAMPLER_1D_SHADOW , LUXGL_PARAM_SAMPLER_2D_SHADOW = GL_SAMPLER_2D_SHADOW , LUXGL_PARAM_SAMPLER_CUBE_SHADOW = GL_SAMPLER_CUBE_SHADOW , LUXGL_PARAM_SAMPLER_2DRECT_SHADOW = GL_SAMPLER_2D_RECT_SHADOW , LUXGL_PARAM_SAMPLER_1DARRAY_SHADOW = GL_SAMPLER_1D_ARRAY_SHADOW , LUXGL_PARAM_SAMPLER_2DARRAY_SHADOW = GL_SAMPLER_2D_ARRAY_SHADOW , LUXGL_PARAM_SAMPLER_CUBEARRAY_SHADOW = GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW , LUXGL_PARAM_IMAGE_1D = GL_IMAGE_1D_EXT , LUXGL_PARAM_IMAGE_2D = GL_IMAGE_2D_EXT , LUXGL_PARAM_IMAGE_3D = GL_IMAGE_3D_EXT , LUXGL_PARAM_IMAGE_CUBE = GL_IMAGE_CUBE_EXT , LUXGL_PARAM_IMAGE_2DRECT = GL_IMAGE_2D_RECT_EXT , LUXGL_PARAM_IMAGE_2DMS = GL_IMAGE_2D_MULTISAMPLE_EXT , LUXGL_PARAM_IMAGE_1DARRAY = GL_IMAGE_1D_ARRAY_EXT , LUXGL_PARAM_IMAGE_2DARRAY = GL_IMAGE_2D_ARRAY_EXT , LUXGL_PARAM_IMAGE_CUBEARRAY = GL_IMAGE_CUBE_MAP_ARRAY_EXT , LUXGL_PARAM_IMAGE_2DMSARRAY = GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT , LUXGL_PARAM_IMAGE_BUFFER = GL_IMAGE_BUFFER_EXT , LUXGL_PARAM_IIMAGE_1D = GL_INT_IMAGE_1D_EXT , LUXGL_PARAM_IIMAGE_2D = GL_INT_IMAGE_2D_EXT , LUXGL_PARAM_IIMAGE_3D = GL_INT_IMAGE_3D_EXT , LUXGL_PARAM_IIMAGE_CUBE = GL_INT_IMAGE_CUBE_EXT , LUXGL_PARAM_IIMAGE_2DRECT = GL_INT_IMAGE_2D_RECT_EXT , LUXGL_PARAM_IIMAGE_2DMS = GL_INT_IMAGE_2D_MULTISAMPLE_EXT , LUXGL_PARAM_IIMAGE_1DARRAY = GL_INT_IMAGE_1D_ARRAY_EXT , LUXGL_PARAM_IIMAGE_2DARRAY = GL_INT_IMAGE_2D_ARRAY_EXT , LUXGL_PARAM_IIMAGE_CUBEARRAY = GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT , LUXGL_PARAM_IIMAGE_2DMSARRAY = GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT , LUXGL_PARAM_IIMAGE_BUFFER = GL_INT_IMAGE_BUFFER_EXT , LUXGL_PARAM_UIMAGE_1D = GL_UNSIGNED_INT_IMAGE_1D_EXT , LUXGL_PARAM_UIMAGE_2D = GL_UNSIGNED_INT_IMAGE_2D_EXT , LUXGL_PARAM_UIMAGE_3D = GL_UNSIGNED_INT_IMAGE_3D_EXT , LUXGL_PARAM_UIMAGE_CUBE = GL_UNSIGNED_INT_IMAGE_CUBE_EXT , LUXGL_PARAM_UIMAGE_2DRECT = GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT , LUXGL_PARAM_UIMAGE_2DMS = GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT , LUXGL_PARAM_UIMAGE_1DARRAY = GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT , LUXGL_PARAM_UIMAGE_2DARRAY = GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT , LUXGL_PARAM_UIMAGE_CUBEARRAY = GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT , LUXGL_PARAM_UIMAGE_2DMSARRAY = GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT , LUXGL_PARAM_UIMAGE_BUFFER = GL_UNSIGNED_INT_IMAGE_BUFFER_EXT , LUXGL_PARAM_GPU_ADDRESS = GL_GPU_ADDRESS_NV , LUXGL_PARAM_BUFFER = 0x7FFFFFF0 , LUXGL_PARAM_SUBROUTINE = 0x7FFFFFF1 , LUXGL_PARAM_USER = 0x7FFFFFFF , }
lxGLParameterType_t ;
typedef enum lxGLError_e
{
LUXGL_ERROR_NONE = GL_NO_ERROR , LUXGL_ERROR_OP = GL_INVALID_OPERATION , LUXGL_ERROR_ENUM = GL_INVALID_ENUM , LUXGL_ERROR_VALUE = GL_INVALID_VALUE , LUXGL_ERROR_INDEX = GL_INVALID_INDEX , LUXGL_ERROR_FBOP = GL_INVALID_FRAMEBUFFER_OPERATION , }
lxGLError_t ;
typedef struct lxgBuffer_s
{
lxGLBufferTarget_t gltarget ;
GLuint glid ;
GLuint64 address ;
flags32 ctxcapbits ;
void * user ;
void * mapped ;
lxgAccessMode_t maptype ;
uint mapstart ;
uint maplength ;
uint size ;
uint used ;
lxGLBufferHint_t hint ;
lxgContextPTR ctx ;
}
lxgBuffer_t ;
uint lxgBuffer_alloc ( lxgBufferPTR buffer , uint needed , uint padsize ) ;
void lxgBuffer_bind ( lxgBufferCPTR buffer , lxGLBufferTarget_t type ) ;
void lxgBuffer_bindIndexed ( lxgBufferCPTR buffer , lxGLBufferTarget_t type , uint idx ) ;
void lxgBuffer_bindRanged ( lxgBufferCPTR buffer , lxGLBufferTarget_t type , uint idx , size_t offset , size_t size ) ;
void * lxgBuffer_map ( lxgBufferPTR buffer , lxgAccessMode_t type , booln * succ ) ;
void * lxgBuffer_mapRange ( lxgBufferPTR buffer , uint from , uint length , lxgAccessMode_t type , booln manualflush , booln unsynch , booln * succ ) ;
booln lxgBuffer_flushRange ( lxgBufferPTR buffer , uint from , uint length ) ;
booln lxgBuffer_unmap ( lxgBufferPTR buffer ) ;
booln lxgBuffer_copy ( lxgBufferPTR buffer , uint bufferoffset , lxgBufferPTR src , uint srcoffset , uint size ) ;
GLuint64 lxgBuffer_addressNV ( lxgBufferPTR buffer ) ;
void lxgBuffer_residentNV ( lxgBufferPTR buffer , lxgAccessMode_t mode ) ;
void lxgBuffer_unresidentNV ( lxgBufferPTR buffer ) ;
void lxgBuffer_deinit ( lxgBufferPTR buffer , lxgContextPTR ctx ) ;
void lxgBuffer_reset ( lxgBufferPTR buffer , void * data ) ;
void lxgBuffer_init ( lxgBufferPTR buffer , lxgContextPTR ctx , lxGLBufferHint_t hint , uint size , void * data ) ;
typedef enum lxgVertexAttrib_e
{
LUXGFX_VERTEX_ATTRIB_POS , LUXGFX_VERTEX_ATTRIB_ATTR1 , LUXGFX_VERTEX_ATTRIB_NORMAL , LUXGFX_VERTEX_ATTRIB_COLOR , LUXGFX_VERTEX_ATTRIB_ATTR4 , LUXGFX_VERTEX_ATTRIB_ATTR5 , LUXGFX_VERTEX_ATTRIB_ATTR6 , LUXGFX_VERTEX_ATTRIB_ATTR7 , LUXGFX_VERTEX_ATTRIB_TEXCOORD0 , LUXGFX_VERTEX_ATTRIB_TEXCOORD1 , LUXGFX_VERTEX_ATTRIB_TEXCOORD2 , LUXGFX_VERTEX_ATTRIB_TEXCOORD3 , LUXGFX_VERTEX_ATTRIB_ATTR12 , LUXGFX_VERTEX_ATTRIB_ATTR13 , LUXGFX_VERTEX_ATTRIB_ATTR14 , LUXGFX_VERTEX_ATTRIB_ATTR15 , LUXGFX_VERTEX_ATTRIBS , }
lxgVertexAttrib_t ;
typedef struct lxgVertexElement_s
{
unsigned normalize : 1 ;
unsigned integer : 1 ;
unsigned cnt : 2 ;
unsigned stream : 4 ;
unsigned scalartype : 8 ;
unsigned stridehalf : 8 ;
unsigned offset : 8 ;
}
lxgVertexElement_t ;
typedef struct lxgVertexDecl_s
{
flags32 available ;
uint streams ;
lxgVertexElement_t table [ LUXGFX_VERTEX_ATTRIBS ] ;
}
lxgVertexDecl_t ;
typedef struct lxgStreamHost_s
{
lxgBufferPTR buffer ;
union
{
void * ptr ;
size_t offset ;
}
;
size_t len ;
}
lxgStreamHost_t ;
typedef struct lxgVertexPointer_s
{
lxgVertexElement_t element [ LUXGFX_VERTEX_ATTRIBS ] ;
lxgStreamHost_t streams [ LUXGFX_MAX_VERTEX_STREAMS ] ;
}
lxgVertexPointer_t ;
typedef struct lxgVertexState_s
{
lxgVertexDeclCPTR decl ;
flags32 active ;
flags32 declvalid ;
flags32 declstreams ;
flags32 streamvalid ;
flags32 declchange ;
flags32 streamchange ;
lxgVertexPointer_t setup ;
}
lxgVertexState_t ;
typedef struct lxgFeedbackState_s
{
lxGLPrimitiveType_t capture ;
int active ;
flags32 usedvalid ;
flags32 streamvalid ;
flags32 streamchange ;
lxgStreamHost_t streams [ LUXGFX_MAX_VERTEX_STREAMS ] ;
}
lxgFeedbackState_t ;
flags32 lxgVertexAttrib_bit ( lxgVertexAttrib_t attrib ) ;
lxgVertexElement_t lxgVertexElement_set ( uint cnt , enum lxScalarType_e type , booln normalize , booln integer , uint stride , uint offset , uint stream ) ;
void lxgVertexAttrib_applyFloat ( lxgVertexAttrib_t attrib , const float * vec4 ) ;
void lxgVertexAttrib_applyInteger ( lxgVertexAttrib_t attrib , const int * vec4 ) ;
void lxgVertexAttrib_applyFloatFIXED ( lxgVertexAttrib_t attrib , const float * vec4 ) ;
void lxgContext_applyVertexAttribs ( lxgContextPTR ctx , flags32 attribs , flags32 changed ) ;
void lxgContext_applyVertexAttribsFIXED ( lxgContextPTR ctx , flags32 attribs , flags32 changed ) ;
void lxgContext_clearVertexState ( lxgContextPTR ctx ) ;
void lxgContext_setVertexDecl ( lxgContextPTR ctx , lxgVertexDeclCPTR decl ) ;
void lxgContext_setVertexDeclStreams ( lxgContextPTR ctx , lxgVertexDeclCPTR decl , lxgStreamHostCPTR hosts ) ;
void lxgContext_setVertexStream ( lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host ) ;
void lxgContext_invalidateVertexStreams ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexState ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexStateFIXED ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexStateNV ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexStateFIXEDNV ( lxgContextPTR ctx ) ;
void lxgContext_clearFeedbackState ( lxgContextPTR ctx ) ;
void lxgContext_applyFeedbackStreams ( lxgContextPTR ctx ) ;
void lxgContext_setFeedbackStreams ( lxgContextPTR ctx , lxgStreamHostCPTR hosts , int numStreams ) ;
void lxgContext_setFeedbackStream ( lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host ) ;
void lxgContext_enableFeedback ( lxgContextPTR ctx , lxGLPrimitiveType_t type , int numStreams ) ;
void lxgContext_disableFeedback ( lxgContextPTR ctx ) ;
typedef enum lxgSamplerFilter_e
{
LUXGFX_SAMPLERFILTER_NEAREST , LUXGFX_SAMPLERFILTER_LINEAR , LUXGFX_SAMPLERFILTER_MIPMAP_NEAREST , LUXGFX_SAMPLERFILTER_MIPMAP_LINEAR , LUXGFX_SAMPLERFILTERS , }
lxgSamplerFilter_t ;
typedef enum lxgSamplerAddress_e
{
LUXGFX_SAMPLERADDRESS_REPEAT , LUXGFX_SAMPLERADDRESS_MIRROR , LUXGFX_SAMPLERADDRESS_CLAMP , LUXGFX_SAMPLERADDRESS_BORDER , LUXGFX_SAMPLERADDRESSES , }
lxgSamplerAddress_t ;
enum lxgSamplerAttrib_e
{
LUXGFX_SAMPLERATTRIB_FILTER = 1 << 0 , LUXGFX_SAMPLERATTRIB_CMP = 1 << 1 , LUXGFX_SAMPLERATTRIB_ADDRESS = 1 << 2 , LUXGFX_SAMPLERATTRIB_ANISO = 1 << 3 , LUXGFX_SAMPLERATTRIB_LOD = 1 << 4 , LUXGFX_SAMPLERATTRIB_BORDER = 1 << 5 , LUXGFX_SAMPLERATTRIB_ALL = ( 1 << 6 ) - 1 , }
;
typedef struct lxgSamplerLod_s
{
float bias ;
float min ;
float max ;
}
lxgSamplerLod_t ;
typedef struct lxgSampler_s
{
GLuint glid ;
uint32 incarnation ;
lxGLCompareMode_t cmpfunc ;
lxgSamplerFilter_t filter ;
lxgSamplerAddress_t addru ;
lxgSamplerAddress_t addrv ;
lxgSamplerAddress_t addrw ;
uint aniso ;
lxgSamplerLod_t lod ;
float border [ 4 ] ;
}
lxgSampler_t ;
typedef enum lxgTextureFlags_e
{
LUXGFX_TEXTUREFLAG_AUTOMIPMAP = 1 << 0 , LUXGFX_TEXTUREFLAG_MANMIPMAP = 1 << 1 , LUXGFX_TEXTUREFLAG_COMPRESS = 1 << 2 , LUXGFX_TEXTUREFLAG_COMPRESSED = 1 << 3 , LUXGFX_TEXTUREFLAG_SAMPLESFIXED = 1 << 4 , LUXGFX_TEXTUREFLAG_HASLOD = 1 << 30 , LUXGFX_TEXTUREFLAG_HASCOMPARE = 1 << 31 , }
lxgTextureFlags_t ;
typedef enum lxgTextureChannel_e
{
LUXGFX_TEXTURECHANNEL_RGB , LUXGFX_TEXTURECHANNEL_RGBA , LUXGFX_TEXTURECHANNEL_R , LUXGFX_TEXTURECHANNEL_RG , LUXGFX_TEXTURECHANNEL_SRGB , LUXGFX_TEXTURECHANNEL_SRGBA , LUXGFX_TEXTURECHANNEL_DEPTH , LUXGFX_TEXTURECHANNEL_DEPTHSTENCIL , LUXGFX_TEXTURECHANNEL_CUSTOM , LUXGFX_TEXTURECHANNEL_NATIVE , }
lxgTextureChannel_t ;
typedef enum lxgTextureDataType_e
{
LUXGFX_TEXTUREDATA_BASE , LUXGFX_TEXTUREDATA_UNORM8 , LUXGFX_TEXTUREDATA_UNORM16 , LUXGFX_TEXTUREDATA_SNORM8 , LUXGFX_TEXTUREDATA_SNORM16 , LUXGFX_TEXTUREDATA_FLOAT16 , LUXGFX_TEXTUREDATA_FLOAT32 , LUXGFX_TEXTUREDATA_SINT8 , LUXGFX_TEXTUREDATA_UINT8 , LUXGFX_TEXTUREDATA_SINT16 , LUXGFX_TEXTUREDATA_UINT16 , LUXGFX_TEXTUREDATA_SINT32 , LUXGFX_TEXTUREDATA_UINT32 , LUXGFX_TEXTUREDATAS , LUXGFX_TEXTUREDATA_DEPTH16 , LUXGFX_TEXTUREDATA_DEPTH24 , LUXGFX_TEXTUREDATA_DEPTH32 , LUXGFX_TEXTUREDATA_DEPTH32F , LUXGFX_TEXTUREDATA_UNORM1010102 , LUXGFX_TEXTUREDATA_UINT1010102 , LUXGFX_TEXTUREDATA_FLOAT111110 , LUXGFX_TEXTUREDATA_EXP999 , LUXGFX_TEXTUREDATA_COMPRESSED , LUXGFX_TEXTUREDATA_COMPRESSED_DXT1 , LUXGFX_TEXTUREDATA_COMPRESSED_DXT3 , LUXGFX_TEXTUREDATA_COMPRESSED_DXT5 , LUXGFX_TEXTUREDATA_COMPRESSED_TC , LUXGFX_TEXTUREDATA_COMPRESSED_SIGNED_TC , LUXGFX_TEXTUREDATA_COMPRESSED_UNORM_BPTC , LUXGFX_TEXTUREDATA_COMPRESSED_FLOAT_BPTC , LUXGFX_TEXTUREDATA_COMPRESSED_SIGNED_FLOAT_BPTC , LUXGFX_TEXTUREDATA_CUSTOM , }
lxgTextureDataType_t ;
typedef struct lxgTexture_s
{
lxGLTextureTarget_t gltarget ;
GLuint glid ;
lxgSamplerCPTR lastSampler ;
uint32 lastSamplerIncarnation ;
lxgContextPTR ctx ;
lxgTextureChannel_t formattype ;
lxgTextureDataType_t datatype ;
flags32 flags ;
int width ;
int height ;
int depth ;
int arraysize ;
int samples ;
flags32 mipsdefined ;
uint miplevels ;
lxVec3i_t mipsizes [ LUXGFX_MAX_TEXTURE_MIPMAPS ] ;
uint pixelsizes [ LUXGFX_MAX_TEXTURE_MIPMAPS ] ;
size_t nativesizes [ LUXGFX_MAX_TEXTURE_MIPMAPS ] ;
uint components ;
uint componentsize ;
lxgSampler_t sampler ;
GLenum glinternalformat ;
GLenum gldatatype ;
GLenum gldataformat ;
}
lxgTexture_t ;
typedef struct lxgRenderBuffer_s
{
GLuint glid ;
lxgContextPTR ctx ;
lxgTextureChannel_t formattype ;
int width ;
int height ;
uint samples ;
}
lxgRenderBuffer_t ;
typedef struct lxgTextureUpdate_s
{
lxVec3i_t from ;
lxVec3i_t to ;
lxVec3i_t size ;
}
lxgTextureUpdate_t ;
typedef struct lxgTextureImage_s
{
lxgTexturePTR tex ;
int level ;
booln layered ;
int layer ;
lxGLAccessFormat_t glformat ;
lxGLAccessMode_t glaccess ;
}
lxgTextureImage_t ;
void lxgContext_clearTextureState ( lxgContextPTR ctx ) ;
void lxgContext_setTextureSampler ( lxgContextPTR ctx , uint imageunit , flags32 what ) ;
void lxgContext_changedTextureSampler ( lxgContextPTR ctx , uint imageunit , flags32 what ) ;
void lxgContext_applyTexture ( lxgContextPTR ctx , lxgTexturePTR obj , uint imageunit ) ;
void lxgContext_applyTextures ( lxgContextPTR ctx , lxgTexturePTR * texs , uint start , uint num ) ;
void lxgContext_applySampler ( lxgContextPTR ctx , lxgSamplerCPTR obj , uint imageunit ) ;
void lxgContext_applySamplers ( lxgContextPTR ctx , lxgSamplerCPTR * samps , uint start , uint num ) ;
void lxgContext_applyTextureImages ( lxgContextPTR ctx , lxgTextureImageCPTR * imgs , uint start , uint num ) ;
void lxgContext_applyTextureImage ( lxgContextPTR ctx , lxgTextureImageCPTR img , uint imageunit ) ;
booln lxgTextureChannel_valid ( lxgContextPTR ctx , lxgTextureChannel_t channel ) ;
booln lxgTextureTarget_valid ( lxgContextPTR ctx , lxGLTextureTarget_t type ) ;
GLenum lxgTextureDataType_getData ( lxgTextureDataType_t data , booln rev , booln depthstencil ) ;
GLenum lxgTextureChannel_getFormat ( lxgTextureChannel_t type , booln rev , booln integer ) ;
GLenum lxgTextureChannel_getInternal ( lxgTextureChannel_t type , lxgTextureDataType_t data ) ;
void lxgTexture_init ( lxgTexturePTR tex , lxgContextPTR ctx ) ;
void lxgTexture_deinit ( lxgTexturePTR tex , lxgContextPTR ctx ) ;
booln lxgTexture_setup ( lxgTexturePTR tex , lxGLTextureTarget_t type , lxgTextureChannel_t format , lxgTextureDataType_t data , int width , int height , int depth , int arraysize , flags32 flags ) ;
booln lxgTexture_resize ( lxgTexturePTR tex , int width , int height , int depth , int arraysize ) ;
booln lxgTexture_readFrame ( lxgTexturePTR tex , lxgContextPTR ctx , const lxgTextureUpdate_t * update , uint miplevel ) ;
booln lxgTexture_readData ( lxgTexturePTR tex , const lxgTextureUpdate_t * update , uint miplevel , GLenum datatype , GLenum dataformat , const void * buffer , uint buffersize ) ;
booln lxgTexture_readBuffer ( lxgTexturePTR tex , const lxgTextureUpdate_t * update , uint miplevel , GLenum datatype , GLenum dataformat , const struct lxgBuffer_s * buffer , uint bufferoffset ) ;
booln lxgTexture_writeData ( lxgTexturePTR tex , uint side , booln ascompressed , uint mip , GLenum datatype , GLenum dataformat , void * buffer , uint buffersize ) ;
booln lxgTexture_writeBuffer ( lxgTexturePTR tex , uint side , booln ascompressed , uint mip , GLenum datatype , GLenum dataformat , lxgBufferPTR buffer , uint bufferoffset ) ;
void lxgTexture_getSampler ( lxgTextureCPTR tex , lxgSamplerPTR sampler ) ;
void lxgTexture_boundSetSampler ( lxgTexturePTR tex , lxgSamplerCPTR sampler , flags32 what ) ;
lxVec3iCPTR lxgTexture_getMipSize ( lxgTextureCPTR tex , uint mipLevel ) ;
void lxgSampler_init ( lxgSamplerPTR sampler , lxgContextPTR ctx ) ;
void lxgSampler_deinit ( lxgSamplerPTR sampler , lxgContextPTR ctx ) ;
void lxgSampler_setAddress ( lxgSamplerPTR sampler , uint n , lxgSamplerAddress_t address ) ;
void lxgSampler_setCompare ( lxgSamplerPTR sampler , enum lxGLCompareMode_t cmp ) ;
void lxgSampler_update ( lxgSamplerPTR sampler ) ;
booln lxgRenderBuffer_init ( lxgRenderBufferPTR rb , lxgContextPTR ctx , lxgTextureChannel_t format , int width , int height , int samples ) ;
booln lxgRenderBuffer_change ( lxgRenderBufferPTR rb , lxgTextureChannel_t format , int width , int height , int samples ) ;
void lxgRenderBuffer_deinit ( lxgRenderBufferPTR rb , lxgContextPTR ctx ) ;
booln lxgTextureImage_init ( lxgTextureImagePTR img , lxgContextPTR ctx , lxgTexturePTR tex , lxgAccessMode_t acces , uint level , booln layered , int layer ) ;
typedef struct lxgDepth_s
{
bool16 enabled ;
bool16 write ;
lxGLCompareMode_t func ;
}
lxgDepth_t ;
typedef struct lxgLogic_s
{
bool32 enabled ;
lxGLLogicOp_t op ;
}
lxgLogic_t ;
typedef enum lxgColorChannel_e
{
LUXGFX_COLOR_RED , LUXGFX_COLOR_GREEN , LUXGFX_COLOR_BLUE , LUXGFX_COLOR_ALPHA , LUXGFX_COLORS , }
lxgColorChannel_t ;
typedef struct lxgColor_s
{
bool32 individual ;
bool8 write [ LUXGFX_MAX_RENDERTARGETS ] [ LUXGFX_COLORS ] ;
}
lxgColor_t ;
typedef enum lxgFaceSide_e
{
LUXGFX_FACE_FRONT , LUXGFX_FACE_BACK , LUXGFX_FACES , }
lxgFaceSide_t ;
typedef struct lxgStencilOp_s
{
lxGLStencilMode_t fail ;
lxGLStencilMode_t zfail ;
lxGLStencilMode_t zpass ;
lxGLCompareMode_t func ;
}
lxgStencilOp_t ;
typedef struct lxgStencil_s
{
bool8 enabled ;
flags32 write ;
flags32 mask ;
uint32 refvalue ;
lxgStencilOp_t ops [ LUXGFX_FACES ] ;
}
lxgStencil_t ;
typedef struct lxgBlendMode_s
{
lxGLBlendWeight_t srcw ;
lxGLBlendWeight_t dstw ;
lxGLBlendEquation_t equ ;
}
lxgBlendMode_t ;
typedef struct lxgBlendStage_s
{
bool32 enabled ;
lxgBlendMode_t colormode ;
lxgBlendMode_t alphamode ;
}
lxgBlendStage_t ;
typedef struct lxgBlend_s
{
bool16 individual ;
bool16 separateStages ;
lxgBlendStage_t blends [ LUXGFX_MAX_RENDERTARGETS ] ;
}
lxgBlend_t ;
typedef struct lxgRasterizer_s
{
bool8 cull ;
bool8 cullfront ;
bool8 ccw ;
enum32 fill ;
}
lxgRasterizer_t ;
typedef struct lxgRasterState_s
{
lxgRasterizerCPTR rasterizerObj ;
lxgColorCPTR colorObj ;
lxgBlendCPTR blendObj ;
lxgDepthCPTR depthObj ;
lxgStencilCPTR stencilObj ;
lxgLogicCPTR logicObj ;
lxgRasterizer_t rasterizer ;
lxgColor_t color ;
lxgBlend_t blend ;
lxgDepth_t depth ;
lxgStencil_t stencil ;
lxgLogic_t logic ;
}
lxgRasterState_t ;
void lxgRasterizer_init ( lxgRasterizerPTR obj ) ;
void lxgRasterizer_sync ( lxgRasterizerPTR obj , lxgContextPTR ctx ) ;
void lxgColor_init ( lxgColorPTR obj ) ;
void lxgColor_sync ( lxgColorPTR obj , lxgContextPTR ctx ) ;
void lxgDepth_init ( lxgDepthPTR obj ) ;
void lxgDepth_sync ( lxgDepthPTR obj , lxgContextPTR ctx ) ;
void lxgLogic_init ( lxgLogicPTR obj ) ;
void lxgLogic_sync ( lxgLogicPTR obj , lxgContextPTR ctx ) ;
void lxgStencil_init ( lxgStencilPTR obj ) ;
void lxgStencil_sync ( lxgStencilPTR obj , lxgContextPTR ctx ) ;
void lxgBlend_init ( lxgBlendPTR obj ) ;
void lxgBlend_sync ( lxgBlendPTR obj , lxgContextPTR ctx ) ;
void lxgContext_applyColor ( lxgContextPTR ctx , lxgColorCPTR obj ) ;
void lxgContext_applyDepth ( lxgContextPTR ctx , lxgDepthCPTR obj ) ;
void lxgContext_applyLogic ( lxgContextPTR ctx , lxgLogicCPTR obj ) ;
void lxgContext_applyStencil ( lxgContextPTR ctx , lxgStencilCPTR obj ) ;
void lxgContext_applyBlend ( lxgContextPTR ctx , lxgBlendCPTR obj ) ;
void lxgContext_applyRasterizer ( lxgContextPTR ctx , lxgRasterizerCPTR obj ) ;
void lxgProgramParameter_stateColor ( lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj ) ;
void lxgProgramParameter_stateDepth ( lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj ) ;
void lxgProgramParameter_stateLogic ( lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj ) ;
void lxgProgramParameter_stateStencil ( lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj ) ;
void lxgProgramParameter_stateBlend ( lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj ) ;
void lxgProgramParameter_stateRasterizer ( lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj ) ;
typedef struct lxgFrameBounds_s
{
int width ;
int height ;
}
lxgFrameBounds_t ;
typedef struct lxgViewDepth_s
{
double near ;
double far ;
}
lxgViewDepth_t ;
typedef struct lxgViewPort_s
{
booln scissor ;
lxRectanglei_t scissorRect ;
lxRectanglei_t viewRect ;
lxgViewDepth_t depth ;
}
lxgViewPort_t ;
typedef struct lxgViewPortMrt_s
{
uint numused ;
flags32 scissored ;
lxRectanglef_t bounds [ LUXGFX_MAX_RENDERTARGETS ] ;
lxRectanglei_t scissors [ LUXGFX_MAX_RENDERTARGETS ] ;
lxgViewDepth_t depths [ LUXGFX_MAX_RENDERTARGETS ] ;
}
lxgViewPortMrt_t ;
typedef enum lxgRenderTargetType_e
{
LUXGFX_RENDERTARGET_DRAW , LUXGFX_RENDERTARGET_READ , LUXGFX_RENDERTARGETS }
lxgRenderTargetType_t ;
typedef struct lxgRenderAssign_s
{
lxgTexturePTR tex ;
lxgRenderBufferPTR rbuf ;
uint mip ;
uint layer ;
}
lxgRenderAssign_t ;
typedef enum lxgRenderAssignType_e
{
LUXGFX_RENDERASSIGN_DEPTH , LUXGFX_RENDERASSIGN_STENCIL , LUXGFX_RENDERASSIGN_COLOR0 , LUXGFX_RENDERASSIGNS = LUXGFX_RENDERASSIGN_COLOR0 + LUXGFX_MAX_RENDERTARGETS , }
lxgRenderAssignType_t ;
typedef struct lxgRenderTarget_s
{
GLuint glid ;
lxgContextPTR ctx ;
uint maxidx ;
flags32 dirty ;
lxgRenderAssign_t assigns [ LUXGFX_RENDERASSIGNS ] ;
booln equalsized ;
lxgFrameBounds_t bounds ;
}
lxgRenderTarget_t ;
typedef struct lxgRenderTargetBlit_s
{
lxVec2i_t fromStart ;
lxVec2i_t fromEnd ;
lxVec2i_t toStart ;
lxVec2i_t toEnd ;
}
lxgRenderTargetBlit_t ;
typedef struct lxgRenderTargetBlit_s * lxgRenderTargetBlitPTR ;
void lxgRenderTarget_init ( lxgRenderTargetPTR rt , lxgContextPTR ctx ) ;
void lxgRenderTarget_deinit ( lxgRenderTargetPTR rt , lxgContextPTR ctx ) ;
void lxgRenderTarget_applyAssigns ( lxgRenderTargetPTR rt , lxgRenderTargetType_t mode ) ;
void lxgRenderTarget_setAssign ( lxgRenderTargetPTR rt , uint assigntype , lxgRenderAssignPTR assign ) ;
booln lxgRenderTarget_checkSize ( lxgRenderTargetPTR rt ) ;
lxgFrameBoundsCPTR lxgRenderTarget_getBounds ( lxgRenderTargetPTR rt ) ;
void lxgViewPort_sync ( lxgViewPortPTR obj , lxgContextPTR ctx ) ;
void lxgViewPortMrt_sync ( lxgViewPortMrtPTR obj , lxgContextPTR ctx ) ;
void lxgContext_applyRenderTarget ( lxgContextPTR ctx , lxgRenderTargetPTR obj , lxgRenderTargetType_t type ) ;
void lxgContext_applyRenderTargetDraw ( lxgContextPTR ctx , lxgRenderTargetPTR obj , booln setViewport ) ;
void lxgContext_blitRenderTargets ( lxgContextPTR ctx , lxgRenderTargetPTR to , lxgRenderTargetPTR from , lxgRenderTargetBlitPTR update , flags32 mask , booln linearFilter ) ;
booln lxgContext_applyViewPortRect ( lxgContextPTR ctx , lxRectangleiCPTR rect ) ;
booln lxgContext_applyViewPortScissorState ( lxgContextPTR ctx , booln state ) ;
booln lxgContext_applyViewPort ( lxgContextPTR ctx , lxgViewPortPTR obj ) ;
void lxgContext_applyViewPortMrt ( lxgContextPTR ctx , lxgViewPortMrtPTR obj ) ;
enum lxgCapability_e
{
LUXGFX_CAP_POINTSPRITE = 1 << 0 , LUXGFX_CAP_STENCILWRAP = 1 << 1 , LUXGFX_CAP_BLENDSEP = 1 << 2 , LUXGFX_CAP_OCCQUERY = 1 << 3 , LUXGFX_CAP_FBO = 1 << 4 , LUXGFX_CAP_FBOMS = 1 << 5 , LUXGFX_CAP_DEPTHFLOAT = 1 << 6 , LUXGFX_CAP_VBO = 1 << 7 , LUXGFX_CAP_PBO = 1 << 8 , LUXGFX_CAP_UBO = 1 << 9 , LUXGFX_CAP_TEX3D = 1 << 10 , LUXGFX_CAP_TEXRECT = 1 << 11 , LUXGFX_CAP_TEXNP2 = 1 << 12 , LUXGFX_CAP_TEXCUBEARRAY = 1 << 13 , LUXGFX_CAP_TEXS3TC = 1 << 14 , LUXGFX_CAP_TEXRGTC = 1 << 15 , LUXGFX_CAP_TEXRW = 1 << 16 , LUXGFX_CAP_BUFMAPRANGE = 1 << 17 , LUXGFX_CAP_BUFCOPY = 1 << 18 , LUXGFX_CAP_DEPTHCLAMP = 1 << 19 , LUXGFX_CAP_SM0 = 1 << 20 , LUXGFX_CAP_SM1 = 1 << 21 , LUXGFX_CAP_SM2 = 1 << 22 , LUXGFX_CAP_SM2EXT = 1 << 23 , LUXGFX_CAP_SM3 = 1 << 24 , LUXGFX_CAP_SM4 = 1 << 25 , LUXGFX_CAP_SM5 = 1 << 26 , }
;
typedef enum lxgGPUVendor_e
{
LUXGFX_GPUVENDOR_UNKNOWN , LUXGFX_GPUVENDOR_NVIDIA , LUXGFX_GPUVENDOR_ATI , LUXGFX_GPUVENDOR_INTEL , }
lxgGPUVendor_t ;
typedef enum lxgGPUMode_e
{
LUXGFX_GPUMODE_FIXED , LUXGFX_GPUMODE_ASM , LUXGFX_GPUMODE_HL , }
lxgGPUMode_t ;
typedef struct lxgCapabilites_s
{
int texsize ;
int texsize3d ;
int texlayers ;
int texunits ;
int teximages ;
int texcoords ;
int texvtxunits ;
float texaniso ;
float pointsize ;
int drawbuffers ;
int viewports ;
int fbosamples ;
}
lxgCapabilites_t ;
typedef struct lxgContext_s
{
flags32 capbits ;
lxgTexturePTR textures [ LUXGFX_MAX_TEXTURE_IMAGES ] ;
lxgSamplerCPTR samplers [ LUXGFX_MAX_TEXTURE_IMAGES ] ;
lxgTextureImageCPTR images [ LUXGFX_MAX_RWTEXTURE_IMAGES ] ;
lxgRenderTargetPTR rendertargets [ LUXGFX_RENDERTARGETS ] ;
lxgVertexState_t vertex ;
lxgFeedbackState_t feedback ;
lxgProgramState_t program ;
lxgRasterState_t raster ;
lxgViewPort_t viewport ;
lxgFrameBounds_t framebounds ;
lxgFrameBounds_t window ;
lxgViewPortMrt_t viewportMRT ;
lxgCapabilites_t capabilites ;
}
lxgContext_t ;
const char * lxgContext_init ( lxgContextPTR ctx ) ;
void lxgContext_syncRasterStates ( lxgContextPTR ctx ) ;
booln lxgContext_checkStates ( lxgContextPTR ctx ) ;
void lxgContext_clearVertexState ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexAttribs ( lxgContextPTR ctx , flags32 attribs , flags32 changed ) ;
void lxgContext_applyVertexAttribsFIXED ( lxgContextPTR ctx , flags32 attribs , flags32 changed ) ;
void lxgContext_applyVertexState ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexStateFIXED ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexStateNV ( lxgContextPTR ctx ) ;
void lxgContext_applyVertexStateFIXEDNV ( lxgContextPTR ctx ) ;
void lxgContext_setVertexDecl ( lxgContextPTR ctx , lxgVertexDeclCPTR decl ) ;
void lxgContext_setVertexDeclStreams ( lxgContextPTR ctx , lxgVertexDeclCPTR decl , lxgStreamHostCPTR hosts ) ;
void lxgContext_setVertexStream ( lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host ) ;
void lxgContext_invalidateVertexStreams ( lxgContextPTR ctx ) ;
void lxgContext_clearFeedbackState ( lxgContextPTR ctx ) ;
void lxgContext_applyFeedbackStreams ( lxgContextPTR ctx ) ;
void lxgContext_setFeedbackStreams ( lxgContextPTR ctx , lxgStreamHostCPTR hosts , int numStreams ) ;
void lxgContext_setFeedbackStream ( lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host ) ;
void lxgContext_enableFeedback ( lxgContextPTR ctx , lxGLPrimitiveType_t type , int numStreams ) ;
void lxgContext_disableFeedback ( lxgContextPTR ctx ) ;
void lxgContext_clearProgramState ( lxgContextPTR ctx ) ;
void lxgContext_applyProgram ( lxgContextPTR ctx , lxgProgramCPTR prog ) ;
void lxgContext_applyProgramParameters ( lxgContextPTR ctx , lxgProgramCPTR prog , uint num , lxgProgramParameterPTR * params , const void * * data ) ;
void lxgContext_updateProgramSubroutines ( lxgContextPTR ctx , lxgProgramCPTR prog ) ;
void lxgContext_clearTextureState ( lxgContextPTR ctx ) ;
void lxgContext_setTextureSampler ( lxgContextPTR ctx , uint imageunit , flags32 what ) ;
void lxgContext_changedTextureSampler ( lxgContextPTR ctx , uint imageunit , flags32 what ) ;
void lxgContext_applyTexture ( lxgContextPTR ctx , lxgTexturePTR obj , uint imageunit ) ;
void lxgContext_applyTextures ( lxgContextPTR ctx , lxgTexturePTR * texs , uint start , uint num ) ;
void lxgContext_applySampler ( lxgContextPTR ctx , lxgSamplerCPTR obj , uint imageunit ) ;
void lxgContext_applySamplers ( lxgContextPTR ctx , lxgSamplerCPTR * samps , uint start , uint num ) ;
void lxgContext_applyTextureImages ( lxgContextPTR ctx , lxgTextureImageCPTR * imgs , uint start , uint num ) ;
void lxgContext_applyTextureImage ( lxgContextPTR ctx , lxgTextureImageCPTR img , uint imageunit ) ;
void lxgContext_clearRasterState ( lxgContextPTR ctx ) ;
void lxgContext_applyDepth ( lxgContextPTR ctx , lxgDepthCPTR obj ) ;
void lxgContext_applyLogic ( lxgContextPTR ctx , lxgLogicCPTR obj ) ;
void lxgContext_applyStencil ( lxgContextPTR ctx , lxgStencilCPTR obj ) ;
void lxgContext_applyBlend ( lxgContextPTR ctx , lxgBlendCPTR obj ) ;
void lxgContext_applyColor ( lxgContextPTR ctx , lxgColorCPTR obj ) ;
void lxgContext_applyRasterizer ( lxgContextPTR ctx , lxgRasterizerCPTR obj ) ;
void lxgContext_blitRenderTargets ( lxgContextPTR ctx , lxgRenderTargetPTR to , lxgRenderTargetPTR from , lxgRenderTargetBlitPTR update , flags32 mask , booln linearFilter ) ;
booln lxgContext_applyViewPortRect ( lxgContextPTR ctx , lxRectangleiCPTR rect ) ;
booln lxgContext_applyViewPortScissorState ( lxgContextPTR ctx , booln state ) ;
booln lxgContext_applyViewPort ( lxgContextPTR ctx , lxgViewPortPTR obj ) ;
void lxgContext_applyViewPortMrt ( lxgContextPTR ctx , lxgViewPortMrtPTR obj ) ;
void lxgContext_applyRenderTarget ( lxgContextPTR ctx , lxgRenderTargetPTR obj , lxgRenderTargetType_t type ) ;
void lxgContext_applyRenderTargetDraw ( lxgContextPTR ctx , lxgRenderTargetPTR obj , booln setViewport ) ;
void lxgContext_checkedBlend ( lxgContextPTR ctx , lxgBlendCPTR obj ) ;
void lxgContext_checkedColor ( lxgContextPTR ctx , lxgColorCPTR obj ) ;
void lxgContext_checkedDepth ( lxgContextPTR ctx , lxgDepthCPTR obj ) ;
void lxgContext_checkedLogic ( lxgContextPTR ctx , lxgLogicCPTR obj ) ;
void lxgContext_checkedStencil ( lxgContextPTR ctx , lxgStencilCPTR obj ) ;
void lxgContext_checkedRasterizer ( lxgContextPTR ctx , lxgRasterizerCPTR obj ) ;
void lxgContext_checkedTexture ( lxgContextPTR ctx , lxgTexturePTR tex , uint imageunit ) ;
void lxgContext_checkedSampler ( lxgContextPTR ctx , lxgSamplerCPTR samp , uint imageunit ) ;
void lxgContext_checkedTextureImage ( lxgContextPTR ctx , lxgTextureImageCPTR img , uint imageunit ) ;
void lxgContext_checkedTextures ( lxgContextPTR ctx , lxgTexturePTR * texs , uint start , uint num ) ;
void lxgContext_checkedSamplers ( lxgContextPTR ctx , lxgSamplerCPTR * samps , uint start , uint num ) ;
void lxgContext_checkedTextureImages ( lxgContextPTR ctx , lxgTextureImageCPTR * imgs , uint start , uint num ) ;
void lxgContext_checkedRenderFlag ( lxgContextPTR ctx , flags32 needed ) ;
void lxgContext_checkedVertexDecl ( lxgContextPTR ctx , lxgVertexDeclCPTR decl ) ;
void lxgContext_checkedVertexAttrib ( lxgContextPTR ctx , flags32 needed ) ;
void lxgContext_checkedVertexAttribFIXED ( lxgContextPTR ctx , flags32 needed ) ;
void lxgContext_checkedRenderTarget ( lxgContextPTR ctx , lxgRenderTargetPTR rt , lxgRenderTargetType_t type ) ;
void lxgContext_checkedProgram ( lxgContextPTR ctx , lxgProgramPTR prog ) ;
void lxgContext_checkedVertex ( lxgContextPTR ctx ) ;
void lxgContext_checkedVertexNV ( lxgContextPTR ctx ) ;
void lxgContext_checkedVertexFIXED ( lxgContextPTR ctx ) ;
void lxgContext_checkedVertexFIXEDNV ( lxgContextPTR ctx ) ;
void lxgContext_checkedViewPortScissor ( lxgContextPTR ctx , lxRectangleiCPTR rect ) ;
void lxgContext_checkedTextureSampler ( lxgContextPTR ctx , uint imageunit ) ;
booln lxgContext_setProgramBuffer ( lxgContextPTR ctx , uint idx , lxgBufferCPTR buffer ) ;
]]
--auto-generated api from ffi headers
local api =
{
["LUXGFX_ACCESS_READ"] = { type ='value', },
["LUXGFX_ACCESS_WRITE"] = { type ='value', },
["LUXGFX_ACCESS_READWRITE"] = { type ='value', },
["LUXGFX_ACCESS_WRITEDISCARD"] = { type ='value', },
["LUXGFX_ACCESS_WRITEDISCARDALL"] = { type ='value', },
["LUXGFX_ACCESSES"] = { type ='value', },
["LUXGFX_MAX_TEXTURE_IMAGES"] = { type ='value', },
["LUXGFX_MAX_RENDERTARGETS"] = { type ='value', },
["LUXGFX_MAX_RWTEXTURE_IMAGES"] = { type ='value', },
["LUXGFX_MAX_STAGE_BUFFERS"] = { type ='value', },
["LUXGFX_MAX_TEXTURE_MIPMAPS"] = { type ='value', },
["LUXGFX_MAX_VERTEX_STREAMS"] = { type ='value', },
["LUXGFX_MAX_STAGE_SUBROUTINES"] = { type ='value', },
["LUXGL_COMPARE_NEVER"] = { type ='value', },
["LUXGL_COMPARE_LESS"] = { type ='value', },
["LUXGL_COMPARE_EQUAL"] = { type ='value', },
["LUXGL_COMPARE_LEQUAL"] = { type ='value', },
["LUXGL_COMPARE_GREATER"] = { type ='value', },
["LUXGL_COMPARE_NOTEQUAL"] = { type ='value', },
["LUXGL_COMPARE_GEQUAL"] = { type ='value', },
["LUXGL_COMPARE_ALWAYS"] = { type ='value', },
["LUXGL_COMPARE_DONTEXECUTE"] = { type ='value', },
["LUXGL_STATIC_DRAW"] = { type ='value', },
["LUXGL_STATIC_READ"] = { type ='value', },
["LUXGL_STATIC_COPY"] = { type ='value', },
["LUXGL_DYNAMIC_DRAW"] = { type ='value', },
["LUXGL_DYNAMIC_READ"] = { type ='value', },
["LUXGL_DYNAMIC_COPY"] = { type ='value', },
["LUXGL_STREAM_DRAW"] = { type ='value', },
["LUXGL_STREAM_READ"] = { type ='value', },
["LUXGL_STREAM_COPY"] = { type ='value', },
["LUXGL_STENCIL_KEEP"] = { type ='value', },
["LUXGL_STENCIL_ZERO"] = { type ='value', },
["LUXGL_STENCIL_REPLACE"] = { type ='value', },
["LUXGL_STENCIL_INCR_SAT"] = { type ='value', },
["LUXGL_STENCIL_DECR_SAT"] = { type ='value', },
["LUXGL_STENCIL_INVERT"] = { type ='value', },
["LUXGL_STENCIL_INCR"] = { type ='value', },
["LUXGL_STENCIL_DECR"] = { type ='value', },
["LUXGL_BLENDW_ZERO"] = { type ='value', },
["LUXGL_BLENDW_ONE"] = { type ='value', },
["LUXGL_BLENDW_RGB_SRC"] = { type ='value', },
["LUXGL_BLENDW_RGB_DST"] = { type ='value', },
["LUXGL_BLENDW_A_SRC"] = { type ='value', },
["LUXGL_BLENDW_A_DST"] = { type ='value', },
["LUXGL_BLENDW_INVRGB_SRC"] = { type ='value', },
["LUXGL_BLENDW_INVRGB_DST"] = { type ='value', },
["LUXGL_BLENDW_INVA_SRC"] = { type ='value', },
["LUXGL_BLENDW_INVA_DST"] = { type ='value', },
["LUXGL_BLENDW_UNKOWN"] = { type ='value', },
["LUXGL_BLENDE_ADD"] = { type ='value', },
["LUXGL_BLENDE_SUB"] = { type ='value', },
["LUXGL_BLENDE_SUB_REV"] = { type ='value', },
["LUXGL_BLENDE_MIN"] = { type ='value', },
["LUXGL_BLENDE_MAX"] = { type ='value', },
["LUXGL_BLENDE_UNKOWN"] = { type ='value', },
["LUXGL_LOGICOP_CLEAR"] = { type ='value', },
["LUXGL_LOGICOP_SET"] = { type ='value', },
["LUXGL_LOGICOP_COPY"] = { type ='value', },
["LUXGL_LOGICOP_INVERTED"] = { type ='value', },
["LUXGL_LOGICOP_NOOP"] = { type ='value', },
["LUXGL_LOGICOP_INVERT"] = { type ='value', },
["LUXGL_LOGICOP_AND"] = { type ='value', },
["LUXGL_LOGICOP_NAND"] = { type ='value', },
["LUXGL_LOGICOP_OR"] = { type ='value', },
["LUXGL_LOGICOP_NOR"] = { type ='value', },
["LUXGL_LOGICOP_XOR"] = { type ='value', },
["LUXGL_LOGICOP_EQUIV"] = { type ='value', },
["LUXGL_LOGICOP_AND_REVERSE"] = { type ='value', },
["LUXGL_LOGICOP_AND_INVERTED"] = { type ='value', },
["LUXGL_LOGICOP_OR_REVERSE"] = { type ='value', },
["LUXGL_LOGICOP_OR_INVERTED"] = { type ='value', },
["LUXGL_LOGICOP_ILLEGAL"] = { type ='value', },
["LUXGL_POINTS"] = { type ='value', },
["LUXGL_TRIANGLES"] = { type ='value', },
["LUXGL_TRIANGLE_STRIP"] = { type ='value', },
["LUXGL_TRIANGLE_FAN"] = { type ='value', },
["LUXGL_LINES"] = { type ='value', },
["LUXGL_LINE_LOOP"] = { type ='value', },
["LUXGL_LINE_STRIP"] = { type ='value', },
["LUXGL_QUADS"] = { type ='value', },
["LUXGL_QUAD_STRIP"] = { type ='value', },
["LUXGL_LINE_ADJ"] = { type ='value', },
["LUXGL_LINE_STRIP_ADJ"] = { type ='value', },
["LUXGL_TRIANGLE_STRIP_ADJ"] = { type ='value', },
["LUXGL_TRIANGLE_ADJ"] = { type ='value', },
["LUXGL_PATCHES"] = { type ='value', },
["LUXGL_POLYGON"] = { type ='value', },
["LUXGL_TEXTURE_1D"] = { type ='value', },
["LUXGL_TEXTURE_2D"] = { type ='value', },
["LUXGL_TEXTURE_3D"] = { type ='value', },
["LUXGL_TEXTURE_RECT"] = { type ='value', },
["LUXGL_TEXTURE_1DARRAY"] = { type ='value', },
["LUXGL_TEXTURE_2DARRAY"] = { type ='value', },
["LUXGL_TEXTURE_CUBE"] = { type ='value', },
["LUXGL_TEXTURE_CUBEARRAY"] = { type ='value', },
["LUXGL_TEXTURE_2DMS"] = { type ='value', },
["LUXGL_TEXTURE_2DMSARRAY"] = { type ='value', },
["LUXGL_TEXTURE_BUFFER"] = { type ='value', },
["LUXGL_TEXTURE_RENDERBUFFER"] = { type ='value', },
["LUXGL_TEXTURE_INVALID"] = { type ='value', },
["LUXGL_BUFFER_VERTEX"] = { type ='value', },
["LUXGL_BUFFER_INDEX"] = { type ='value', },
["LUXGL_BUFFER_PIXELWRITE"] = { type ='value', },
["LUXGL_BUFFER_PIXELREAD"] = { type ='value', },
["LUXGL_BUFFER_UNIFORM"] = { type ='value', },
["LUXGL_BUFFER_TEXTURE"] = { type ='value', },
["LUXGL_BUFFER_FEEDBACK"] = { type ='value', },
["LUXGL_BUFFER_CPYWRITE"] = { type ='value', },
["LUXGL_BUFFER_CPYREAD"] = { type ='value', },
["LUXGL_BUFFER_DRAWINDIRECT"] = { type ='value', },
["LUXGL_BUFFER_NVVIDEO"] = { type ='value', },
["LUXGL_BUFFER_NVPARAM_VERTEX"] = { type ='value', },
["LUXGL_BUFFER_NVPARAM_GEOMETRY"] = { type ='value', },
["LUXGL_BUFFER_NVPARAM_FRAGMENT"] = { type ='value', },
["LUXGL_BUFFER_NVPARAM_TESSCTRL"] = { type ='value', },
["LUXGL_BUFFER_NVPARAM_TESSEVAL"] = { type ='value', },
["LUXGL_BUFFER_INVALID"] = { type ='value', },
["LUXGL_SHADER_VERTEX"] = { type ='value', },
["LUXGL_SHADER_FRAGMENT"] = { type ='value', },
["LUXGL_SHADER_GEOMETRY"] = { type ='value', },
["LUXGL_SHADER_TESSCTRL"] = { type ='value', },
["LUXGL_SHADER_TESSEVAL"] = { type ='value', },
["LUXGL_PROGRAM_VERTEX"] = { type ='value', },
["LUXGL_PROGRAM_FRAGMENT"] = { type ='value', },
["LUXGL_PROGRAM_GEOMETRY"] = { type ='value', },
["LUXGL_PROGRAM_TESSCTRL"] = { type ='value', },
["LUXGL_PROGRAM_TESSEVAL"] = { type ='value', },
["LUXGL_ACCESSFORMAT_R8UI"] = { type ='value', },
["LUXGL_ACCESSFORMAT_R8I"] = { type ='value', },
["LUXGL_ACCESSFORMAT_R16UI"] = { type ='value', },
["LUXGL_ACCESSFORMAT_R16I"] = { type ='value', },
["LUXGL_ACCESSFORMAT_R32UI"] = { type ='value', },
["LUXGL_ACCESSFORMAT_R32I"] = { type ='value', },
["LUXGL_ACCESSFORMAT_R32F"] = { type ='value', },
["LUXGL_ACCESSFORMAT_RG32UI"] = { type ='value', },
["LUXGL_ACCESSFORMAT_RG32I"] = { type ='value', },
["LUXGL_ACCESSFORMAT_RG32F"] = { type ='value', },
["LUXGL_ACCESSFORMAT_RGBA32UI"] = { type ='value', },
["LUXGL_ACCESSFORMAT_RGBA32I"] = { type ='value', },
["LUXGL_ACCESSFORMAT_RGBA32F"] = { type ='value', },
["LUXGL_ACCESS_READ_ONLY"] = { type ='value', },
["LUXGL_ACCESS_WRITE_ONLY"] = { type ='value', },
["LUXGL_ACCESS_READ_WRITE"] = { type ='value', },
["LUXGL_PARAM_FLOAT"] = { type ='value', },
["LUXGL_PARAM_FLOAT2"] = { type ='value', },
["LUXGL_PARAM_FLOAT3"] = { type ='value', },
["LUXGL_PARAM_FLOAT4"] = { type ='value', },
["LUXGL_PARAM_INT"] = { type ='value', },
["LUXGL_PARAM_INT2"] = { type ='value', },
["LUXGL_PARAM_INT3"] = { type ='value', },
["LUXGL_PARAM_INT4"] = { type ='value', },
["LUXGL_PARAM_UINT"] = { type ='value', },
["LUXGL_PARAM_UINT2"] = { type ='value', },
["LUXGL_PARAM_UINT3"] = { type ='value', },
["LUXGL_PARAM_UINT4"] = { type ='value', },
["LUXGL_PARAM_BOOL"] = { type ='value', },
["LUXGL_PARAM_BOOL2"] = { type ='value', },
["LUXGL_PARAM_BOOL3"] = { type ='value', },
["LUXGL_PARAM_BOOL4"] = { type ='value', },
["LUXGL_PARAM_MAT2"] = { type ='value', },
["LUXGL_PARAM_MAT3"] = { type ='value', },
["LUXGL_PARAM_MAT4"] = { type ='value', },
["LUXGL_PARAM_MAT2x3"] = { type ='value', },
["LUXGL_PARAM_MAT2x4"] = { type ='value', },
["LUXGL_PARAM_MAT3x2"] = { type ='value', },
["LUXGL_PARAM_MAT3x4"] = { type ='value', },
["LUXGL_PARAM_MAT4x2"] = { type ='value', },
["LUXGL_PARAM_MAT4x3"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_1D"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2D"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_3D"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_CUBE"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2DRECT"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2DMS"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_1DARRAY"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2DARRAY"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_CUBEARRAY"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2DMSARRAY"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_BUFFER"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_1D"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_2D"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_3D"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_CUBE"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_2DRECT"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_2DMS"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_1DARRAY"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_2DARRAY"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_CUBEARRAY"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_2DMSARRAY"] = { type ='value', },
["LUXGL_PARAM_ISAMPLER_BUFFER"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_1D"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_2D"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_3D"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_CUBE"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_2DRECT"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_2DMS"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_1DARRAY"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_2DARRAY"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_CUBEARRAY"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_2DMSARRAY"] = { type ='value', },
["LUXGL_PARAM_USAMPLER_BUFFER"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_1D_SHADOW"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2D_SHADOW"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_CUBE_SHADOW"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2DRECT_SHADOW"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_1DARRAY_SHADOW"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_2DARRAY_SHADOW"] = { type ='value', },
["LUXGL_PARAM_SAMPLER_CUBEARRAY_SHADOW"] = { type ='value', },
["LUXGL_PARAM_IMAGE_1D"] = { type ='value', },
["LUXGL_PARAM_IMAGE_2D"] = { type ='value', },
["LUXGL_PARAM_IMAGE_3D"] = { type ='value', },
["LUXGL_PARAM_IMAGE_CUBE"] = { type ='value', },
["LUXGL_PARAM_IMAGE_2DRECT"] = { type ='value', },
["LUXGL_PARAM_IMAGE_2DMS"] = { type ='value', },
["LUXGL_PARAM_IMAGE_1DARRAY"] = { type ='value', },
["LUXGL_PARAM_IMAGE_2DARRAY"] = { type ='value', },
["LUXGL_PARAM_IMAGE_CUBEARRAY"] = { type ='value', },
["LUXGL_PARAM_IMAGE_2DMSARRAY"] = { type ='value', },
["LUXGL_PARAM_IMAGE_BUFFER"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_1D"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_2D"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_3D"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_CUBE"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_2DRECT"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_2DMS"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_1DARRAY"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_2DARRAY"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_CUBEARRAY"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_2DMSARRAY"] = { type ='value', },
["LUXGL_PARAM_IIMAGE_BUFFER"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_1D"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_2D"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_3D"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_CUBE"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_2DRECT"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_2DMS"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_1DARRAY"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_2DARRAY"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_CUBEARRAY"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_2DMSARRAY"] = { type ='value', },
["LUXGL_PARAM_UIMAGE_BUFFER"] = { type ='value', },
["LUXGL_PARAM_GPU_ADDRESS"] = { type ='value', },
["LUXGL_PARAM_BUFFER"] = { type ='value', },
["LUXGL_PARAM_SUBROUTINE"] = { type ='value', },
["LUXGL_PARAM_USER"] = { type ='value', },
["LUXGL_ERROR_NONE"] = { type ='value', },
["LUXGL_ERROR_OP"] = { type ='value', },
["LUXGL_ERROR_ENUM"] = { type ='value', },
["LUXGL_ERROR_VALUE"] = { type ='value', },
["LUXGL_ERROR_INDEX"] = { type ='value', },
["LUXGL_ERROR_FBOP"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_POS"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR1"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_NORMAL"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_COLOR"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR4"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR5"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR6"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR7"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_TEXCOORD0"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_TEXCOORD1"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_TEXCOORD2"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_TEXCOORD3"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR12"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR13"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR14"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIB_ATTR15"] = { type ='value', },
["LUXGFX_VERTEX_ATTRIBS"] = { type ='value', },
["LUXGFX_SAMPLERFILTER_NEAREST"] = { type ='value', },
["LUXGFX_SAMPLERFILTER_LINEAR"] = { type ='value', },
["LUXGFX_SAMPLERFILTER_MIPMAP_NEAREST"] = { type ='value', },
["LUXGFX_SAMPLERFILTER_MIPMAP_LINEAR"] = { type ='value', },
["LUXGFX_SAMPLERFILTERS"] = { type ='value', },
["LUXGFX_SAMPLERADDRESS_REPEAT"] = { type ='value', },
["LUXGFX_SAMPLERADDRESS_MIRROR"] = { type ='value', },
["LUXGFX_SAMPLERADDRESS_CLAMP"] = { type ='value', },
["LUXGFX_SAMPLERADDRESS_BORDER"] = { type ='value', },
["LUXGFX_SAMPLERADDRESSES"] = { type ='value', },
["LUXGFX_SAMPLERATTRIB_FILTER"] = { type ='value', },
["LUXGFX_SAMPLERATTRIB_CMP"] = { type ='value', },
["LUXGFX_SAMPLERATTRIB_ADDRESS"] = { type ='value', },
["LUXGFX_SAMPLERATTRIB_ANISO"] = { type ='value', },
["LUXGFX_SAMPLERATTRIB_LOD"] = { type ='value', },
["LUXGFX_SAMPLERATTRIB_BORDER"] = { type ='value', },
["LUXGFX_SAMPLERATTRIB_ALL"] = { type ='value', },
["LUXGFX_TEXTUREFLAG_AUTOMIPMAP"] = { type ='value', },
["LUXGFX_TEXTUREFLAG_MANMIPMAP"] = { type ='value', },
["LUXGFX_TEXTUREFLAG_COMPRESS"] = { type ='value', },
["LUXGFX_TEXTUREFLAG_COMPRESSED"] = { type ='value', },
["LUXGFX_TEXTUREFLAG_SAMPLESFIXED"] = { type ='value', },
["LUXGFX_TEXTUREFLAG_HASLOD"] = { type ='value', },
["LUXGFX_TEXTUREFLAG_HASCOMPARE"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_RGB"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_RGBA"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_R"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_RG"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_SRGB"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_SRGBA"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_DEPTH"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_DEPTHSTENCIL"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_CUSTOM"] = { type ='value', },
["LUXGFX_TEXTURECHANNEL_NATIVE"] = { type ='value', },
["LUXGFX_TEXTUREDATA_BASE"] = { type ='value', },
["LUXGFX_TEXTUREDATA_UNORM8"] = { type ='value', },
["LUXGFX_TEXTUREDATA_UNORM16"] = { type ='value', },
["LUXGFX_TEXTUREDATA_SNORM8"] = { type ='value', },
["LUXGFX_TEXTUREDATA_SNORM16"] = { type ='value', },
["LUXGFX_TEXTUREDATA_FLOAT16"] = { type ='value', },
["LUXGFX_TEXTUREDATA_FLOAT32"] = { type ='value', },
["LUXGFX_TEXTUREDATA_SINT8"] = { type ='value', },
["LUXGFX_TEXTUREDATA_UINT8"] = { type ='value', },
["LUXGFX_TEXTUREDATA_SINT16"] = { type ='value', },
["LUXGFX_TEXTUREDATA_UINT16"] = { type ='value', },
["LUXGFX_TEXTUREDATA_SINT32"] = { type ='value', },
["LUXGFX_TEXTUREDATA_UINT32"] = { type ='value', },
["LUXGFX_TEXTUREDATAS"] = { type ='value', },
["LUXGFX_TEXTUREDATA_DEPTH16"] = { type ='value', },
["LUXGFX_TEXTUREDATA_DEPTH24"] = { type ='value', },
["LUXGFX_TEXTUREDATA_DEPTH32"] = { type ='value', },
["LUXGFX_TEXTUREDATA_DEPTH32F"] = { type ='value', },
["LUXGFX_TEXTUREDATA_UNORM1010102"] = { type ='value', },
["LUXGFX_TEXTUREDATA_UINT1010102"] = { type ='value', },
["LUXGFX_TEXTUREDATA_FLOAT111110"] = { type ='value', },
["LUXGFX_TEXTUREDATA_EXP999"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_DXT1"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_DXT3"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_DXT5"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_TC"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_SIGNED_TC"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_UNORM_BPTC"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_FLOAT_BPTC"] = { type ='value', },
["LUXGFX_TEXTUREDATA_COMPRESSED_SIGNED_FLOAT_BPTC"] = { type ='value', },
["LUXGFX_TEXTUREDATA_CUSTOM"] = { type ='value', },
["LUXGFX_COLOR_RED"] = { type ='value', },
["LUXGFX_COLOR_GREEN"] = { type ='value', },
["LUXGFX_COLOR_BLUE"] = { type ='value', },
["LUXGFX_COLOR_ALPHA"] = { type ='value', },
["LUXGFX_COLORS"] = { type ='value', },
["LUXGFX_FACE_FRONT"] = { type ='value', },
["LUXGFX_FACE_BACK"] = { type ='value', },
["LUXGFX_FACES"] = { type ='value', },
["LUXGFX_RENDERTARGET_DRAW"] = { type ='value', },
["LUXGFX_RENDERTARGET_READ"] = { type ='value', },
["LUXGFX_RENDERTARGETS"] = { type ='value', },
["LUXGFX_RENDERASSIGN_DEPTH"] = { type ='value', },
["LUXGFX_RENDERASSIGN_STENCIL"] = { type ='value', },
["LUXGFX_RENDERASSIGN_COLOR0"] = { type ='value', },
["LUXGFX_RENDERASSIGNS"] = { type ='value', },
["LUXGFX_CAP_POINTSPRITE"] = { type ='value', },
["LUXGFX_CAP_STENCILWRAP"] = { type ='value', },
["LUXGFX_CAP_BLENDSEP"] = { type ='value', },
["LUXGFX_CAP_OCCQUERY"] = { type ='value', },
["LUXGFX_CAP_FBO"] = { type ='value', },
["LUXGFX_CAP_FBOMS"] = { type ='value', },
["LUXGFX_CAP_DEPTHFLOAT"] = { type ='value', },
["LUXGFX_CAP_VBO"] = { type ='value', },
["LUXGFX_CAP_PBO"] = { type ='value', },
["LUXGFX_CAP_UBO"] = { type ='value', },
["LUXGFX_CAP_TEX3D"] = { type ='value', },
["LUXGFX_CAP_TEXRECT"] = { type ='value', },
["LUXGFX_CAP_TEXNP2"] = { type ='value', },
["LUXGFX_CAP_TEXCUBEARRAY"] = { type ='value', },
["LUXGFX_CAP_TEXS3TC"] = { type ='value', },
["LUXGFX_CAP_TEXRGTC"] = { type ='value', },
["LUXGFX_CAP_TEXRW"] = { type ='value', },
["LUXGFX_CAP_BUFMAPRANGE"] = { type ='value', },
["LUXGFX_CAP_BUFCOPY"] = { type ='value', },
["LUXGFX_CAP_DEPTHCLAMP"] = { type ='value', },
["LUXGFX_CAP_SM0"] = { type ='value', },
["LUXGFX_CAP_SM1"] = { type ='value', },
["LUXGFX_CAP_SM2"] = { type ='value', },
["LUXGFX_CAP_SM2EXT"] = { type ='value', },
["LUXGFX_CAP_SM3"] = { type ='value', },
["LUXGFX_CAP_SM4"] = { type ='value', },
["LUXGFX_CAP_SM5"] = { type ='value', },
["LUXGFX_GPUVENDOR_UNKNOWN"] = { type ='value', },
["LUXGFX_GPUVENDOR_NVIDIA"] = { type ='value', },
["LUXGFX_GPUVENDOR_ATI"] = { type ='value', },
["LUXGFX_GPUVENDOR_INTEL"] = { type ='value', },
["LUXGFX_GPUMODE_FIXED"] = { type ='value', },
["LUXGFX_GPUMODE_ASM"] = { type ='value', },
["LUXGFX_GPUMODE_HL"] = { type ='value', },
["lxgBuffer_alloc"] = { type ='function',
description = "",
returns = "(uint)",
valuetype = nil,
args = "(lxgBufferPTR buffer , uint needed , uint padsize)", },
["lxgBuffer_bind"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferCPTR buffer , lxGLBufferTarget_t type)", },
["lxgBuffer_bindIndexed"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferCPTR buffer , lxGLBufferTarget_t type , uint idx)", },
["lxgBuffer_bindRanged"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferCPTR buffer , lxGLBufferTarget_t type , uint idx , size_t offset , size_t size)", },
["lxgBuffer_map"] = { type ='function',
description = "",
returns = "(void *)",
valuetype = nil,
args = "(lxgBufferPTR buffer , lxgAccessMode_t type , booln * succ)", },
["lxgBuffer_mapRange"] = { type ='function',
description = "",
returns = "(void *)",
valuetype = nil,
args = "(lxgBufferPTR buffer , uint from , uint length , lxgAccessMode_t type , booln manualflush , booln unsynch , booln * succ)", },
["lxgBuffer_flushRange"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgBufferPTR buffer , uint from , uint length)", },
["lxgBuffer_unmap"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgBufferPTR buffer)", },
["lxgBuffer_copy"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgBufferPTR buffer , uint bufferoffset , lxgBufferPTR src , uint srcoffset , uint size)", },
["lxgBuffer_addressNV"] = { type ='function',
description = "",
returns = "(GLuint64)",
valuetype = nil,
args = "(lxgBufferPTR buffer)", },
["lxgBuffer_residentNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferPTR buffer , lxgAccessMode_t mode)", },
["lxgBuffer_unresidentNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferPTR buffer)", },
["lxgBuffer_deinit"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferPTR buffer , lxgContextPTR ctx)", },
["lxgBuffer_reset"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferPTR buffer , void * data)", },
["lxgBuffer_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBufferPTR buffer , lxgContextPTR ctx , lxGLBufferHint_t hint , uint size , void * data)", },
["lxgVertexAttrib_bit"] = { type ='function',
description = "",
returns = "(flags32)",
valuetype = nil,
args = "(lxgVertexAttrib_t attrib)", },
["lxgVertexElement_set"] = { type ='function',
description = "",
returns = "(lxgVertexElement_t)",
valuetype = "lxg.lxgVertexElement_t",
args = "(uint cnt , enum lxScalarType_e type , booln normalize , booln integer , uint stride , uint offset , uint stream)", },
["lxgVertexAttrib_applyFloat"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgVertexAttrib_t attrib , const float * vec4)", },
["lxgVertexAttrib_applyInteger"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgVertexAttrib_t attrib , const int * vec4)", },
["lxgVertexAttrib_applyFloatFIXED"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgVertexAttrib_t attrib , const float * vec4)", },
["lxgContext_applyVertexAttribs"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , flags32 attribs , flags32 changed)", },
["lxgContext_applyVertexAttribsFIXED"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , flags32 attribs , flags32 changed)", },
["lxgContext_clearVertexState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_setVertexDecl"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgVertexDeclCPTR decl)", },
["lxgContext_setVertexDeclStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgVertexDeclCPTR decl , lxgStreamHostCPTR hosts)", },
["lxgContext_setVertexStream"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host)", },
["lxgContext_invalidateVertexStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexStateFIXED"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexStateNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexStateFIXEDNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_clearFeedbackState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyFeedbackStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_setFeedbackStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgStreamHostCPTR hosts , int numStreams)", },
["lxgContext_setFeedbackStream"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host)", },
["lxgContext_enableFeedback"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxGLPrimitiveType_t type , int numStreams)", },
["lxgContext_disableFeedback"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_clearTextureState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_setTextureSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint imageunit , flags32 what)", },
["lxgContext_changedTextureSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint imageunit , flags32 what)", },
["lxgContext_applyTexture"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTexturePTR obj , uint imageunit)", },
["lxgContext_applyTextures"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTexturePTR * texs , uint start , uint num)", },
["lxgContext_applySampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgSamplerCPTR obj , uint imageunit)", },
["lxgContext_applySamplers"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgSamplerCPTR * samps , uint start , uint num)", },
["lxgContext_applyTextureImages"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTextureImageCPTR * imgs , uint start , uint num)", },
["lxgContext_applyTextureImage"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTextureImageCPTR img , uint imageunit)", },
["lxgTextureChannel_valid"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTextureChannel_t channel)", },
["lxgTextureTarget_valid"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , lxGLTextureTarget_t type)", },
["lxgTextureDataType_getData"] = { type ='function',
description = "",
returns = "(GLenum)",
valuetype = nil,
args = "(lxgTextureDataType_t data , booln rev , booln depthstencil)", },
["lxgTextureChannel_getFormat"] = { type ='function',
description = "",
returns = "(GLenum)",
valuetype = nil,
args = "(lxgTextureChannel_t type , booln rev , booln integer)", },
["lxgTextureChannel_getInternal"] = { type ='function',
description = "",
returns = "(GLenum)",
valuetype = nil,
args = "(lxgTextureChannel_t type , lxgTextureDataType_t data)", },
["lxgTexture_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgTexturePTR tex , lxgContextPTR ctx)", },
["lxgTexture_deinit"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgTexturePTR tex , lxgContextPTR ctx)", },
["lxgTexture_setup"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTexturePTR tex , lxGLTextureTarget_t type , lxgTextureChannel_t format , lxgTextureDataType_t data , int width , int height , int depth , int arraysize , flags32 flags)", },
["lxgTexture_resize"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTexturePTR tex , int width , int height , int depth , int arraysize)", },
["lxgTexture_readFrame"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTexturePTR tex , lxgContextPTR ctx , const lxgTextureUpdate_t * update , uint miplevel)", },
["lxgTexture_readData"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTexturePTR tex , const lxgTextureUpdate_t * update , uint miplevel , GLenum datatype , GLenum dataformat , const void * buffer , uint buffersize)", },
["lxgTexture_readBuffer"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTexturePTR tex , const lxgTextureUpdate_t * update , uint miplevel , GLenum datatype , GLenum dataformat , const struct lxgBuffer_s * buffer , uint bufferoffset)", },
["lxgTexture_writeData"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTexturePTR tex , uint side , booln ascompressed , uint mip , GLenum datatype , GLenum dataformat , void * buffer , uint buffersize)", },
["lxgTexture_writeBuffer"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTexturePTR tex , uint side , booln ascompressed , uint mip , GLenum datatype , GLenum dataformat , lxgBufferPTR buffer , uint bufferoffset)", },
["lxgTexture_getSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgTextureCPTR tex , lxgSamplerPTR sampler)", },
["lxgTexture_boundSetSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgTexturePTR tex , lxgSamplerCPTR sampler , flags32 what)", },
["lxgTexture_getMipSize"] = { type ='function',
description = "",
returns = "(lxVec3iCPTR)",
valuetype = nil,
args = "(lxgTextureCPTR tex , uint mipLevel)", },
["lxgSampler_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgSamplerPTR sampler , lxgContextPTR ctx)", },
["lxgSampler_deinit"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgSamplerPTR sampler , lxgContextPTR ctx)", },
["lxgSampler_setAddress"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgSamplerPTR sampler , uint n , lxgSamplerAddress_t address)", },
["lxgSampler_setCompare"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgSamplerPTR sampler , enum lxGLCompareMode_t cmp)", },
["lxgSampler_update"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgSamplerPTR sampler)", },
["lxgRenderBuffer_init"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgRenderBufferPTR rb , lxgContextPTR ctx , lxgTextureChannel_t format , int width , int height , int samples)", },
["lxgRenderBuffer_change"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgRenderBufferPTR rb , lxgTextureChannel_t format , int width , int height , int samples)", },
["lxgRenderBuffer_deinit"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgRenderBufferPTR rb , lxgContextPTR ctx)", },
["lxgTextureImage_init"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgTextureImagePTR img , lxgContextPTR ctx , lxgTexturePTR tex , lxgAccessMode_t acces , uint level , booln layered , int layer)", },
["lxgRasterizer_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgRasterizerPTR obj)", },
["lxgRasterizer_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgRasterizerPTR obj , lxgContextPTR ctx)", },
["lxgColor_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgColorPTR obj)", },
["lxgColor_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgColorPTR obj , lxgContextPTR ctx)", },
["lxgDepth_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgDepthPTR obj)", },
["lxgDepth_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgDepthPTR obj , lxgContextPTR ctx)", },
["lxgLogic_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgLogicPTR obj)", },
["lxgLogic_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgLogicPTR obj , lxgContextPTR ctx)", },
["lxgStencil_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgStencilPTR obj)", },
["lxgStencil_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgStencilPTR obj , lxgContextPTR ctx)", },
["lxgBlend_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBlendPTR obj)", },
["lxgBlend_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgBlendPTR obj , lxgContextPTR ctx)", },
["lxgContext_applyColor"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgColorCPTR obj)", },
["lxgContext_applyDepth"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgDepthCPTR obj)", },
["lxgContext_applyLogic"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgLogicCPTR obj)", },
["lxgContext_applyStencil"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgStencilCPTR obj)", },
["lxgContext_applyBlend"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgBlendCPTR obj)", },
["lxgContext_applyRasterizer"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRasterizerCPTR obj)", },
["lxgProgramParameter_stateColor"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj)", },
["lxgProgramParameter_stateDepth"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj)", },
["lxgProgramParameter_stateLogic"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj)", },
["lxgProgramParameter_stateStencil"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj)", },
["lxgProgramParameter_stateBlend"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj)", },
["lxgProgramParameter_stateRasterizer"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgProgramParameterPTR param , lxgContextPTR ctx , const void * obj)", },
["lxgRenderTarget_init"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgRenderTargetPTR rt , lxgContextPTR ctx)", },
["lxgRenderTarget_deinit"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgRenderTargetPTR rt , lxgContextPTR ctx)", },
["lxgRenderTarget_applyAssigns"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgRenderTargetPTR rt , lxgRenderTargetType_t mode)", },
["lxgRenderTarget_setAssign"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgRenderTargetPTR rt , uint assigntype , lxgRenderAssignPTR assign)", },
["lxgRenderTarget_checkSize"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgRenderTargetPTR rt)", },
["lxgRenderTarget_getBounds"] = { type ='function',
description = "",
returns = "(lxgFrameBoundsCPTR)",
valuetype = "lxg.lxgFrameBounds_t",
args = "(lxgRenderTargetPTR rt)", },
["lxgViewPort_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgViewPortPTR obj , lxgContextPTR ctx)", },
["lxgViewPortMrt_sync"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgViewPortMrtPTR obj , lxgContextPTR ctx)", },
["lxgContext_applyRenderTarget"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRenderTargetPTR obj , lxgRenderTargetType_t type)", },
["lxgContext_applyRenderTargetDraw"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRenderTargetPTR obj , booln setViewport)", },
["lxgContext_blitRenderTargets"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRenderTargetPTR to , lxgRenderTargetPTR from , lxgRenderTargetBlitPTR update , flags32 mask , booln linearFilter)", },
["lxgContext_applyViewPortRect"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , lxRectangleiCPTR rect)", },
["lxgContext_applyViewPortScissorState"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , booln state)", },
["lxgContext_applyViewPort"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgViewPortPTR obj)", },
["lxgContext_applyViewPortMrt"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgViewPortMrtPTR obj)", },
["lxgContext_init"] = { type ='function',
description = "",
returns = "(const char *)",
valuetype = "string",
args = "(lxgContextPTR ctx)", },
["lxgContext_syncRasterStates"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_checkStates"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_clearVertexState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexAttribs"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , flags32 attribs , flags32 changed)", },
["lxgContext_applyVertexAttribsFIXED"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , flags32 attribs , flags32 changed)", },
["lxgContext_applyVertexState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexStateFIXED"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexStateNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyVertexStateFIXEDNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_setVertexDecl"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgVertexDeclCPTR decl)", },
["lxgContext_setVertexDeclStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgVertexDeclCPTR decl , lxgStreamHostCPTR hosts)", },
["lxgContext_setVertexStream"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host)", },
["lxgContext_invalidateVertexStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_clearFeedbackState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyFeedbackStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_setFeedbackStreams"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgStreamHostCPTR hosts , int numStreams)", },
["lxgContext_setFeedbackStream"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint idx , lxgStreamHostCPTR host)", },
["lxgContext_enableFeedback"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxGLPrimitiveType_t type , int numStreams)", },
["lxgContext_disableFeedback"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_clearProgramState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyProgram"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgProgramCPTR prog)", },
["lxgContext_applyProgramParameters"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgProgramCPTR prog , uint num , lxgProgramParameterPTR * params , const void * * data)", },
["lxgContext_updateProgramSubroutines"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgProgramCPTR prog)", },
["lxgContext_clearTextureState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_setTextureSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint imageunit , flags32 what)", },
["lxgContext_changedTextureSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint imageunit , flags32 what)", },
["lxgContext_applyTexture"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTexturePTR obj , uint imageunit)", },
["lxgContext_applyTextures"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTexturePTR * texs , uint start , uint num)", },
["lxgContext_applySampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgSamplerCPTR obj , uint imageunit)", },
["lxgContext_applySamplers"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgSamplerCPTR * samps , uint start , uint num)", },
["lxgContext_applyTextureImages"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTextureImageCPTR * imgs , uint start , uint num)", },
["lxgContext_applyTextureImage"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTextureImageCPTR img , uint imageunit)", },
["lxgContext_clearRasterState"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_applyDepth"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgDepthCPTR obj)", },
["lxgContext_applyLogic"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgLogicCPTR obj)", },
["lxgContext_applyStencil"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgStencilCPTR obj)", },
["lxgContext_applyBlend"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgBlendCPTR obj)", },
["lxgContext_applyColor"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgColorCPTR obj)", },
["lxgContext_applyRasterizer"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRasterizerCPTR obj)", },
["lxgContext_blitRenderTargets"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRenderTargetPTR to , lxgRenderTargetPTR from , lxgRenderTargetBlitPTR update , flags32 mask , booln linearFilter)", },
["lxgContext_applyViewPortRect"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , lxRectangleiCPTR rect)", },
["lxgContext_applyViewPortScissorState"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , booln state)", },
["lxgContext_applyViewPort"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgViewPortPTR obj)", },
["lxgContext_applyViewPortMrt"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgViewPortMrtPTR obj)", },
["lxgContext_applyRenderTarget"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRenderTargetPTR obj , lxgRenderTargetType_t type)", },
["lxgContext_applyRenderTargetDraw"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRenderTargetPTR obj , booln setViewport)", },
["lxgContext_checkedBlend"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgBlendCPTR obj)", },
["lxgContext_checkedColor"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgColorCPTR obj)", },
["lxgContext_checkedDepth"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgDepthCPTR obj)", },
["lxgContext_checkedLogic"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgLogicCPTR obj)", },
["lxgContext_checkedStencil"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgStencilCPTR obj)", },
["lxgContext_checkedRasterizer"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRasterizerCPTR obj)", },
["lxgContext_checkedTexture"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTexturePTR tex , uint imageunit)", },
["lxgContext_checkedSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgSamplerCPTR samp , uint imageunit)", },
["lxgContext_checkedTextureImage"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTextureImageCPTR img , uint imageunit)", },
["lxgContext_checkedTextures"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTexturePTR * texs , uint start , uint num)", },
["lxgContext_checkedSamplers"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgSamplerCPTR * samps , uint start , uint num)", },
["lxgContext_checkedTextureImages"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgTextureImageCPTR * imgs , uint start , uint num)", },
["lxgContext_checkedRenderFlag"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , flags32 needed)", },
["lxgContext_checkedVertexDecl"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgVertexDeclCPTR decl)", },
["lxgContext_checkedVertexAttrib"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , flags32 needed)", },
["lxgContext_checkedVertexAttribFIXED"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , flags32 needed)", },
["lxgContext_checkedRenderTarget"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgRenderTargetPTR rt , lxgRenderTargetType_t type)", },
["lxgContext_checkedProgram"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxgProgramPTR prog)", },
["lxgContext_checkedVertex"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_checkedVertexNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_checkedVertexFIXED"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_checkedVertexFIXEDNV"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx)", },
["lxgContext_checkedViewPortScissor"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , lxRectangleiCPTR rect)", },
["lxgContext_checkedTextureSampler"] = { type ='function',
description = "",
returns = "()",
valuetype = nil,
args = "(lxgContextPTR ctx , uint imageunit)", },
["lxgContext_setProgramBuffer"] = { type ='function',
description = "",
returns = "(booln)",
valuetype = nil,
args = "(lxgContextPTR ctx , uint idx , lxgBufferCPTR buffer)", },
["lxgBuffer_t"] = { type ='class',
description = "",
childs = {
["gltarget"] = { type ='value', description = "lxGLBufferTarget_t", valuetype = nil, },
["glid"] = { type ='value', description = "GLuint", valuetype = nil, },
["address"] = { type ='value', description = "GLuint64", valuetype = nil, },
["ctxcapbits"] = { type ='value', description = "flags32", valuetype = nil, },
["user"] = { type ='value', description = "void *", valuetype = nil, },
["mapped"] = { type ='value', description = "void *", valuetype = nil, },
["maptype"] = { type ='value', description = "lxgAccessMode_t", valuetype = nil, },
["mapstart"] = { type ='value', description = "uint", valuetype = nil, },
["maplength"] = { type ='value', description = "uint", valuetype = nil, },
["size"] = { type ='value', description = "uint", valuetype = nil, },
["used"] = { type ='value', description = "uint", valuetype = nil, },
["hint"] = { type ='value', description = "lxGLBufferHint_t", valuetype = nil, },
["ctx"] = { type ='value', description = "lxgContextPTR", valuetype = "lxg.lxgContext_t", },
}
},
["lxgVertexElement_t"] = { type ='class',
description = "",
childs = {
["1"] = { type ='value', description = "unsigned normalize", valuetype = nil, },
["1"] = { type ='value', description = "unsigned integer", valuetype = nil, },
["2"] = { type ='value', description = "unsigned cnt", valuetype = nil, },
["4"] = { type ='value', description = "unsigned stream", valuetype = nil, },
["8"] = { type ='value', description = "unsigned scalartype", valuetype = nil, },
["8"] = { type ='value', description = "unsigned stridehalf", valuetype = nil, },
["8"] = { type ='value', description = "unsigned offset", valuetype = nil, },
}
},
["lxgVertexDecl_t"] = { type ='class',
description = "",
childs = {
["available"] = { type ='value', description = "flags32", valuetype = nil, },
["streams"] = { type ='value', description = "uint", valuetype = nil, },
["LUXGFX_VERTEX_ATTRIBS"] = { type ='value', description = "lxgVertexElement_t table]", valuetype = nil, },
}
},
["lxgStreamHost_t"] = { type ='class',
description = "",
childs = {
["buffer"] = { type ='value', description = "lxgBufferPTR", valuetype = "lxg.lxgBuffer_t", },
["len"] = { type ='value', description = "size_t", valuetype = nil, },
}
},
["lxgVertexPointer_t"] = { type ='class',
description = "",
childs = {
["LUXGFX_VERTEX_ATTRIBS"] = { type ='value', description = "lxgVertexElement_t element]", valuetype = nil, },
["LUXGFX_MAX_VERTEX_STREAMS"] = { type ='value', description = "lxgStreamHost_t streams]", valuetype = nil, },
}
},
["lxgVertexState_t"] = { type ='class',
description = "",
childs = {
["decl"] = { type ='value', description = "lxgVertexDeclCPTR", valuetype = "lxg.lxgVertexDecl_t", },
["active"] = { type ='value', description = "flags32", valuetype = nil, },
["declvalid"] = { type ='value', description = "flags32", valuetype = nil, },
["declstreams"] = { type ='value', description = "flags32", valuetype = nil, },
["streamvalid"] = { type ='value', description = "flags32", valuetype = nil, },
["declchange"] = { type ='value', description = "flags32", valuetype = nil, },
["streamchange"] = { type ='value', description = "flags32", valuetype = nil, },
["setup"] = { type ='value', description = "lxgVertexPointer_t", valuetype = "lxg.lxgVertexPointer_t", },
}
},
["lxgFeedbackState_t"] = { type ='class',
description = "",
childs = {
["capture"] = { type ='value', description = "lxGLPrimitiveType_t", valuetype = nil, },
["active"] = { type ='value', description = "int", valuetype = nil, },
["usedvalid"] = { type ='value', description = "flags32", valuetype = nil, },
["streamvalid"] = { type ='value', description = "flags32", valuetype = nil, },
["streamchange"] = { type ='value', description = "flags32", valuetype = nil, },
["LUXGFX_MAX_VERTEX_STREAMS"] = { type ='value', description = "lxgStreamHost_t streams]", valuetype = nil, },
}
},
["lxgSamplerLod_t"] = { type ='class',
description = "",
childs = {
["bias"] = { type ='value', description = "float", valuetype = nil, },
["min"] = { type ='value', description = "float", valuetype = nil, },
["max"] = { type ='value', description = "float", valuetype = nil, },
}
},
["lxgSampler_t"] = { type ='class',
description = "",
childs = {
["glid"] = { type ='value', description = "GLuint", valuetype = nil, },
["incarnation"] = { type ='value', description = "uint32", valuetype = nil, },
["cmpfunc"] = { type ='value', description = "lxGLCompareMode_t", valuetype = nil, },
["filter"] = { type ='value', description = "lxgSamplerFilter_t", valuetype = nil, },
["addru"] = { type ='value', description = "lxgSamplerAddress_t", valuetype = nil, },
["addrv"] = { type ='value', description = "lxgSamplerAddress_t", valuetype = nil, },
["addrw"] = { type ='value', description = "lxgSamplerAddress_t", valuetype = nil, },
["aniso"] = { type ='value', description = "uint", valuetype = nil, },
["lod"] = { type ='value', description = "lxgSamplerLod_t", valuetype = "lxg.lxgSamplerLod_t", },
["4"] = { type ='value', description = "float border]", valuetype = nil, },
}
},
["lxgTexture_t"] = { type ='class',
description = "",
childs = {
["gltarget"] = { type ='value', description = "lxGLTextureTarget_t", valuetype = nil, },
["glid"] = { type ='value', description = "GLuint", valuetype = nil, },
["lastSampler"] = { type ='value', description = "lxgSamplerCPTR", valuetype = "lxg.lxgSampler_t", },
["lastSamplerIncarnation"] = { type ='value', description = "uint32", valuetype = nil, },
["ctx"] = { type ='value', description = "lxgContextPTR", valuetype = "lxg.lxgContext_t", },
["formattype"] = { type ='value', description = "lxgTextureChannel_t", valuetype = nil, },
["datatype"] = { type ='value', description = "lxgTextureDataType_t", valuetype = nil, },
["flags"] = { type ='value', description = "flags32", valuetype = nil, },
["width"] = { type ='value', description = "int", valuetype = nil, },
["height"] = { type ='value', description = "int", valuetype = nil, },
["depth"] = { type ='value', description = "int", valuetype = nil, },
["arraysize"] = { type ='value', description = "int", valuetype = nil, },
["samples"] = { type ='value', description = "int", valuetype = nil, },
["mipsdefined"] = { type ='value', description = "flags32", valuetype = nil, },
["miplevels"] = { type ='value', description = "uint", valuetype = nil, },
["LUXGFX_MAX_TEXTURE_MIPMAPS"] = { type ='value', description = "lxVec3i_t mipsizes]", valuetype = nil, },
["LUXGFX_MAX_TEXTURE_MIPMAPS"] = { type ='value', description = "uint pixelsizes]", valuetype = nil, },
["LUXGFX_MAX_TEXTURE_MIPMAPS"] = { type ='value', description = "size_t nativesizes]", valuetype = nil, },
["components"] = { type ='value', description = "uint", valuetype = nil, },
["componentsize"] = { type ='value', description = "uint", valuetype = nil, },
["sampler"] = { type ='value', description = "lxgSampler_t", valuetype = "lxg.lxgSampler_t", },
["glinternalformat"] = { type ='value', description = "GLenum", valuetype = nil, },
["gldatatype"] = { type ='value', description = "GLenum", valuetype = nil, },
["gldataformat"] = { type ='value', description = "GLenum", valuetype = nil, },
}
},
["lxgRenderBuffer_t"] = { type ='class',
description = "",
childs = {
["glid"] = { type ='value', description = "GLuint", valuetype = nil, },
["ctx"] = { type ='value', description = "lxgContextPTR", valuetype = "lxg.lxgContext_t", },
["formattype"] = { type ='value', description = "lxgTextureChannel_t", valuetype = nil, },
["width"] = { type ='value', description = "int", valuetype = nil, },
["height"] = { type ='value', description = "int", valuetype = nil, },
["samples"] = { type ='value', description = "uint", valuetype = nil, },
}
},
["lxgTextureUpdate_t"] = { type ='class',
description = "",
childs = {
["from"] = { type ='value', description = "lxVec3i_t", valuetype = nil, },
["to"] = { type ='value', description = "lxVec3i_t", valuetype = nil, },
["size"] = { type ='value', description = "lxVec3i_t", valuetype = nil, },
}
},
["lxgTextureImage_t"] = { type ='class',
description = "",
childs = {
["tex"] = { type ='value', description = "lxgTexturePTR", valuetype = "lxg.lxgTexture_t", },
["level"] = { type ='value', description = "int", valuetype = nil, },
["layered"] = { type ='value', description = "booln", valuetype = nil, },
["layer"] = { type ='value', description = "int", valuetype = nil, },
["glformat"] = { type ='value', description = "lxGLAccessFormat_t", valuetype = nil, },
["glaccess"] = { type ='value', description = "lxGLAccessMode_t", valuetype = nil, },
}
},
["lxgDepth_t"] = { type ='class',
description = "",
childs = {
["enabled"] = { type ='value', description = "bool16", valuetype = nil, },
["write"] = { type ='value', description = "bool16", valuetype = nil, },
["func"] = { type ='value', description = "lxGLCompareMode_t", valuetype = nil, },
}
},
["lxgLogic_t"] = { type ='class',
description = "",
childs = {
["enabled"] = { type ='value', description = "bool32", valuetype = nil, },
["op"] = { type ='value', description = "lxGLLogicOp_t", valuetype = nil, },
}
},
["lxgColor_t"] = { type ='class',
description = "",
childs = {
["individual"] = { type ='value', description = "bool32", valuetype = nil, },
["LUXGFX_MAX_RENDERTARGETS"] = { type ='value', description = "bool8 write][LUXGFX_COLORS]", valuetype = nil, },
}
},
["lxgStencilOp_t"] = { type ='class',
description = "",
childs = {
["fail"] = { type ='value', description = "lxGLStencilMode_t", valuetype = nil, },
["zfail"] = { type ='value', description = "lxGLStencilMode_t", valuetype = nil, },
["zpass"] = { type ='value', description = "lxGLStencilMode_t", valuetype = nil, },
["func"] = { type ='value', description = "lxGLCompareMode_t", valuetype = nil, },
}
},
["lxgStencil_t"] = { type ='class',
description = "",
childs = {
["enabled"] = { type ='value', description = "bool8", valuetype = nil, },
["write"] = { type ='value', description = "flags32", valuetype = nil, },
["mask"] = { type ='value', description = "flags32", valuetype = nil, },
["refvalue"] = { type ='value', description = "uint32", valuetype = nil, },
["LUXGFX_FACES"] = { type ='value', description = "lxgStencilOp_t ops]", valuetype = nil, },
}
},
["lxgBlendMode_t"] = { type ='class',
description = "",
childs = {
["srcw"] = { type ='value', description = "lxGLBlendWeight_t", valuetype = nil, },
["dstw"] = { type ='value', description = "lxGLBlendWeight_t", valuetype = nil, },
["equ"] = { type ='value', description = "lxGLBlendEquation_t", valuetype = nil, },
}
},
["lxgBlendStage_t"] = { type ='class',
description = "",
childs = {
["enabled"] = { type ='value', description = "bool32", valuetype = nil, },
["colormode"] = { type ='value', description = "lxgBlendMode_t", valuetype = "lxg.lxgBlendMode_t", },
["alphamode"] = { type ='value', description = "lxgBlendMode_t", valuetype = "lxg.lxgBlendMode_t", },
}
},
["lxgBlend_t"] = { type ='class',
description = "",
childs = {
["individual"] = { type ='value', description = "bool16", valuetype = nil, },
["separateStages"] = { type ='value', description = "bool16", valuetype = nil, },
["LUXGFX_MAX_RENDERTARGETS"] = { type ='value', description = "lxgBlendStage_t blends]", valuetype = nil, },
}
},
["lxgRasterizer_t"] = { type ='class',
description = "",
childs = {
["cull"] = { type ='value', description = "bool8", valuetype = nil, },
["cullfront"] = { type ='value', description = "bool8", valuetype = nil, },
["ccw"] = { type ='value', description = "bool8", valuetype = nil, },
["fill"] = { type ='value', description = "enum32", valuetype = nil, },
}
},
["lxgRasterState_t"] = { type ='class',
description = "",
childs = {
["rasterizerObj"] = { type ='value', description = "lxgRasterizerCPTR", valuetype = "lxg.lxgRasterizer_t", },
["colorObj"] = { type ='value', description = "lxgColorCPTR", valuetype = "lxg.lxgColor_t", },
["blendObj"] = { type ='value', description = "lxgBlendCPTR", valuetype = "lxg.lxgBlend_t", },
["depthObj"] = { type ='value', description = "lxgDepthCPTR", valuetype = "lxg.lxgDepth_t", },
["stencilObj"] = { type ='value', description = "lxgStencilCPTR", valuetype = "lxg.lxgStencil_t", },
["logicObj"] = { type ='value', description = "lxgLogicCPTR", valuetype = "lxg.lxgLogic_t", },
["rasterizer"] = { type ='value', description = "lxgRasterizer_t", valuetype = "lxg.lxgRasterizer_t", },
["color"] = { type ='value', description = "lxgColor_t", valuetype = "lxg.lxgColor_t", },
["blend"] = { type ='value', description = "lxgBlend_t", valuetype = "lxg.lxgBlend_t", },
["depth"] = { type ='value', description = "lxgDepth_t", valuetype = "lxg.lxgDepth_t", },
["stencil"] = { type ='value', description = "lxgStencil_t", valuetype = "lxg.lxgStencil_t", },
["logic"] = { type ='value', description = "lxgLogic_t", valuetype = "lxg.lxgLogic_t", },
}
},
["lxgFrameBounds_t"] = { type ='class',
description = "",
childs = {
["width"] = { type ='value', description = "int", valuetype = nil, },
["height"] = { type ='value', description = "int", valuetype = nil, },
}
},
["lxgViewDepth_t"] = { type ='class',
description = "",
childs = {
["near"] = { type ='value', description = "double", valuetype = nil, },
["far"] = { type ='value', description = "double", valuetype = nil, },
}
},
["lxgViewPort_t"] = { type ='class',
description = "",
childs = {
["scissor"] = { type ='value', description = "booln", valuetype = nil, },
["scissorRect"] = { type ='value', description = "lxRectanglei_t", valuetype = nil, },
["viewRect"] = { type ='value', description = "lxRectanglei_t", valuetype = nil, },
["depth"] = { type ='value', description = "lxgViewDepth_t", valuetype = "lxg.lxgViewDepth_t", },
}
},
["lxgViewPortMrt_t"] = { type ='class',
description = "",
childs = {
["numused"] = { type ='value', description = "uint", valuetype = nil, },
["scissored"] = { type ='value', description = "flags32", valuetype = nil, },
["LUXGFX_MAX_RENDERTARGETS"] = { type ='value', description = "lxRectanglef_t bounds]", valuetype = nil, },
["LUXGFX_MAX_RENDERTARGETS"] = { type ='value', description = "lxRectanglei_t scissors]", valuetype = nil, },
["LUXGFX_MAX_RENDERTARGETS"] = { type ='value', description = "lxgViewDepth_t depths]", valuetype = nil, },
}
},
["lxgRenderAssign_t"] = { type ='class',
description = "",
childs = {
["tex"] = { type ='value', description = "lxgTexturePTR", valuetype = "lxg.lxgTexture_t", },
["rbuf"] = { type ='value', description = "lxgRenderBufferPTR", valuetype = "lxg.lxgRenderBuffer_t", },
["mip"] = { type ='value', description = "uint", valuetype = nil, },
["layer"] = { type ='value', description = "uint", valuetype = nil, },
}
},
["lxgRenderTarget_t"] = { type ='class',
description = "",
childs = {
["glid"] = { type ='value', description = "GLuint", valuetype = nil, },
["ctx"] = { type ='value', description = "lxgContextPTR", valuetype = "lxg.lxgContext_t", },
["maxidx"] = { type ='value', description = "uint", valuetype = nil, },
["dirty"] = { type ='value', description = "flags32", valuetype = nil, },
["LUXGFX_RENDERASSIGNS"] = { type ='value', description = "lxgRenderAssign_t assigns]", valuetype = nil, },
["equalsized"] = { type ='value', description = "booln", valuetype = nil, },
["bounds"] = { type ='value', description = "lxgFrameBounds_t", valuetype = "lxg.lxgFrameBounds_t", },
}
},
["lxgRenderTargetBlit_t"] = { type ='class',
description = "",
childs = {
["fromStart"] = { type ='value', description = "lxVec2i_t", valuetype = nil, },
["fromEnd"] = { type ='value', description = "lxVec2i_t", valuetype = nil, },
["toStart"] = { type ='value', description = "lxVec2i_t", valuetype = nil, },
["toEnd"] = { type ='value', description = "lxVec2i_t", valuetype = nil, },
}
},
["lxgCapabilites_t"] = { type ='class',
description = "",
childs = {
["texsize"] = { type ='value', description = "int", valuetype = nil, },
["texsize3d"] = { type ='value', description = "int", valuetype = nil, },
["texlayers"] = { type ='value', description = "int", valuetype = nil, },
["texunits"] = { type ='value', description = "int", valuetype = nil, },
["teximages"] = { type ='value', description = "int", valuetype = nil, },
["texcoords"] = { type ='value', description = "int", valuetype = nil, },
["texvtxunits"] = { type ='value', description = "int", valuetype = nil, },
["texaniso"] = { type ='value', description = "float", valuetype = nil, },
["pointsize"] = { type ='value', description = "float", valuetype = nil, },
["drawbuffers"] = { type ='value', description = "int", valuetype = nil, },
["viewports"] = { type ='value', description = "int", valuetype = nil, },
["fbosamples"] = { type ='value', description = "int", valuetype = nil, },
}
},
["lxgContext_t"] = { type ='class',
description = "",
childs = {
["capbits"] = { type ='value', description = "flags32", valuetype = nil, },
["LUXGFX_MAX_TEXTURE_IMAGES"] = { type ='value', description = "lxgTexturePTR textures]", valuetype = nil, },
["LUXGFX_MAX_TEXTURE_IMAGES"] = { type ='value', description = "lxgSamplerCPTR samplers]", valuetype = nil, },
["LUXGFX_MAX_RWTEXTURE_IMAGES"] = { type ='value', description = "lxgTextureImageCPTR images]", valuetype = nil, },
["LUXGFX_RENDERTARGETS"] = { type ='value', description = "lxgRenderTargetPTR rendertargets]", valuetype = nil, },
["vertex"] = { type ='value', description = "lxgVertexState_t", valuetype = "lxg.lxgVertexState_t", },
["feedback"] = { type ='value', description = "lxgFeedbackState_t", valuetype = "lxg.lxgFeedbackState_t", },
["program"] = { type ='value', description = "lxgProgramState_t", valuetype = nil, },
["raster"] = { type ='value', description = "lxgRasterState_t", valuetype = "lxg.lxgRasterState_t", },
["viewport"] = { type ='value', description = "lxgViewPort_t", valuetype = "lxg.lxgViewPort_t", },
["framebounds"] = { type ='value', description = "lxgFrameBounds_t", valuetype = "lxg.lxgFrameBounds_t", },
["window"] = { type ='value', description = "lxgFrameBounds_t", valuetype = "lxg.lxgFrameBounds_t", },
["viewportMRT"] = { type ='value', description = "lxgViewPortMrt_t", valuetype = "lxg.lxgViewPortMrt_t", },
["capabilites"] = { type ='value', description = "lxgCapabilites_t", valuetype = "lxg.lxgCapabilites_t", },
}
},
}
return {
lxg = {
type = 'lib',
description = "Lux Graphics",
childs = api,
},
}