2592 lines
106 KiB
Lua
2592 lines
106 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 lxgVertexPointer_s* lxgVertexPointerPTR;
|
|
typedef struct lxgVertexElement_s* lxgVertexElementPTR;
|
|
typedef struct lxgVertexState_s* lxgVertexStatePTR;
|
|
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 lxgDomainProgram_s* lxgDomainProgramPTR;
|
|
typedef struct lxgProgram_s* lxgProgramPTR;
|
|
typedef struct lxgProgramData_s* lxgProgramDataPTR;
|
|
|
|
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 lxgBlendMrt_s* lxgBlendMrtPTR;
|
|
typedef struct lxgBlend_s* lxgBlendPTR;
|
|
typedef struct lxgStencil_s* lxgStencilPTR;
|
|
typedef struct lxgLogic_s* lxgLogicPTR;
|
|
typedef struct lxgDepth_s* lxgDepthPTR;
|
|
typedef flags32 lxgRenderFlag_t;
|
|
|
|
typedef enum lxgCompareMode_e{
|
|
LUXGFX_COMPARE_NEVER,
|
|
LUXGFX_COMPARE_LESS,
|
|
LUXGFX_COMPARE_EQUAL,
|
|
LUXGFX_COMPARE_LEQUAL,
|
|
LUXGFX_COMPARE_GREATER,
|
|
LUXGFX_COMPARE_NOTEQUAL,
|
|
LUXGFX_COMPARE_GEQUAL,
|
|
LUXGFX_COMPARE_ALWAYS,
|
|
LUXGFX_COMPARE_DONTEXECUTE,
|
|
LUXGFX_COMPARE_ILLEGAL,
|
|
}lxGLCompareMode_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_UNIFORM_BUFFERS = (12*5),
|
|
LUXGFX_MAX_TEXTURE_MIPMAPS = 16,
|
|
LUXGFX_MAX_VERTEX_STREAMS = 8,
|
|
};
|
|
|
|
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 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, //FIXME GL_VIDEO_BUFFER_NV;
|
|
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 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_BUFFER = 0xABCDEF,
|
|
}lxGLParameterType_t;
|
|
|
|
/// __LUXLUXGL_BUFFER_H__
|
|
|
|
typedef enum lxgBufferMode_e{
|
|
LUXGFX_BUFFERMODE_DRAW,
|
|
LUXGFX_BUFFERMODE_READ,
|
|
LUXGFX_BUFFERMODE_COPY,
|
|
LUXGFX_BUFFERMODES,
|
|
}lxgBufferMode_t;
|
|
|
|
typedef enum lxgBufferUpdate_e{
|
|
LUXGFX_BUFFERUPDATE_STATIC,
|
|
LUXGFX_BUFFERUPDATE_DYNAMIC,
|
|
LUXGFX_BUFFERUPDATE_STREAM,
|
|
LUXGFX_BUFFERUPDATES,
|
|
}lxgBufferUpdate_t;
|
|
|
|
typedef struct lxgBuffer_s{
|
|
lxGLBufferTarget_t gltarget;
|
|
GLuint glid;
|
|
GLuint64 address;
|
|
lxgContextPTR ctx;
|
|
void* user;
|
|
|
|
void* mapped;
|
|
lxgAccessMode_t maptype;
|
|
uint mapstart;
|
|
uint maplength;
|
|
|
|
uint size;
|
|
uint used;
|
|
lxgBufferMode_t mode;
|
|
lxgBufferUpdate_t update;
|
|
}lxgBuffer_t;
|
|
|
|
|
|
// raises used and returns offset withn padsize from start or -1 on error
|
|
uint lxgBuffer_alloc(lxgBufferPTR buffer, uint needed, uint padsize);
|
|
|
|
void lxgBuffer_bind(lxgBufferPTR buffer, lxGLBufferTarget_t type);
|
|
void lxgBuffer_bindIndexed(lxgBufferPTR buffer, lxGLBufferTarget_t type, uint idx);
|
|
void lxgBuffer_bindRanged(lxgBufferPTR buffer, lxGLBufferTarget_t type, uint idx, size_t offset, size_t size);
|
|
|
|
// implicitly call lxgBuffer_setGL with type used on init
|
|
booln lxgBuffer_map(lxgBufferPTR buffer, void**ptr, lxgAccessMode_t type);
|
|
booln lxgBuffer_mapRange(lxgBufferPTR buffer, void**ptr, uint from, uint length, lxgAccessMode_t type, booln manualflush, booln unsynch);
|
|
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, lxgBufferMode_t hint, lxgBufferUpdate_t update, uint size, void* data);
|
|
|
|
/// __LUXLUXGFX_VERTEX_H__
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// VertexAttrib
|
|
|
|
typedef enum lxgVertexAttrib_e{
|
|
LUXGFX_VERTEX_ATTRIB_POS,
|
|
LUXGFX_VERTEX_ATTRIB_ATTR1, // Cg: blendweights
|
|
LUXGFX_VERTEX_ATTRIB_NORMAL,
|
|
LUXGFX_VERTEX_ATTRIB_COLOR,
|
|
LUXGFX_VERTEX_ATTRIB_ATTR4,
|
|
LUXGFX_VERTEX_ATTRIB_ATTR5, // Cg: fogcoord,tessfactor
|
|
LUXGFX_VERTEX_ATTRIB_ATTR6, // Cg: pointsize
|
|
LUXGFX_VERTEX_ATTRIB_ATTR7, // Cg: blendindices
|
|
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, // Cg: tangent
|
|
LUXGFX_VERTEX_ATTRIB_ATTR15, // Cg: binormal
|
|
LUXGFX_VERTEX_ATTRIBS,
|
|
}lxgVertexAttrib_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// lxgVertexElement_t
|
|
//
|
|
// assumes maximum vertex size of 256 bytes, and stride as multiple of 2
|
|
|
|
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;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// lxgVertexPointer
|
|
|
|
typedef struct lxgVertexDecl_s{
|
|
flags32 available;
|
|
uint streams;
|
|
lxgVertexElement_t table[LUXGFX_VERTEX_ATTRIBS];
|
|
}lxgVertexDecl_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// lxgVertexPointer
|
|
|
|
typedef struct lxgStreamHost_s{
|
|
lxgBufferPTR buffer;
|
|
void* ptr;
|
|
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{
|
|
lxgVertexDeclPTR decl;
|
|
flags32 active;
|
|
flags32 declvalid;
|
|
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;
|
|
|
|
|
|
lxgVertexElement_t lxgVertexElement_set(
|
|
uint cnt, enum lxScalarType_e type, booln normalize,
|
|
booln integer, uint stride,uint offset, uint stream);
|
|
|
|
void lxgVertexAttribs_apply(flags32 attribs, lxgContextPTR ctx, flags32 changed);
|
|
void lxgVertexAttribs_applyFIXED(flags32 attribs, lxgContextPTR ctx, flags32 changed);
|
|
void lxgVertexAttrib_setFloat(lxgVertexAttrib_t attrib, const float* vec4);
|
|
void lxgVertexAttrib_setInteger(lxgVertexAttrib_t attrib, const int* vec4);
|
|
void lxgVertexAttrib_setFloatFIXED(lxgVertexAttrib_t attrib, const float* vec4);
|
|
|
|
void lxgVertexDecl_apply( lxgVertexDeclPTR decl, lxgContextPTR ctx );
|
|
void lxgVertexSetup_setStreams(lxgContextPTR ctx, lxgVertexDeclPTR decl, lxgStreamHostPTR hosts);
|
|
void lxgVertexSetup_setStream(lxgContextPTR ctx, uint idx, lxgStreamHostPTR host);
|
|
void lxgVertexSetup_apply(lxgContextPTR ctx);
|
|
void lxgVertexSetup_applyFIXED(lxgContextPTR ctx);
|
|
void lxgVertexSetup_applyNV(lxgContextPTR ctx);
|
|
void lxgVertexSetup_applyFIXEDNV(lxgContextPTR ctx);
|
|
|
|
void lxgFeedback_enable(lxgContextPTR ctx, lxGLPrimitiveType_t type, int numStreams);
|
|
void lxgFeedback_disable(lxgContextPTR ctx);
|
|
void lxgFeedback_pause(lxgContextPTR ctx);
|
|
void lxgFeedback_resume(lxgContextPTR ctx);
|
|
|
|
void lxgFeedback_applyStreams(lxgContextPTR ctx);
|
|
void lxgFeedback_setStreams(lxgContextPTR ctx, lxgStreamHostPTR hosts, int numStreams);
|
|
void lxgFeedback_setStream(lxgContextPTR ctx, uint idx, lxgStreamHostPTR host );
|
|
|
|
/// __LUXLUXGFX_TEXTURE_H__
|
|
|
|
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_ALPHA,
|
|
LUXGFX_TEXTURECHANNEL_INTENSITY,
|
|
LUXGFX_TEXTURECHANNEL_LUMINANCE,
|
|
LUXGFX_TEXTURECHANNEL_LUMINANCEALPHA,
|
|
|
|
LUXGFX_TEXTURECHANNEL_CUSTOM,
|
|
}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,
|
|
|
|
// for depth
|
|
LUXGFX_TEXTUREDATA_DEPTH16,
|
|
LUXGFX_TEXTUREDATA_DEPTH24,
|
|
LUXGFX_TEXTUREDATA_DEPTH32,
|
|
LUXGFX_TEXTUREDATA_DEPTH32F,
|
|
// for RGBA
|
|
LUXGFX_TEXTUREDATA_UNORM1010102,
|
|
LUXGFX_TEXTUREDATA_UINT1010102,
|
|
LUXGFX_TEXTUREDATA_FLOAT111110,
|
|
// for RGB
|
|
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;
|
|
lxgSamplerPTR 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;
|
|
|
|
|
|
// for cubemap: z == side
|
|
// for cubemap array: layer = z/6, side = z%6)
|
|
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;
|
|
GLenum glformat;
|
|
GLenum glaccess;
|
|
}lxgTextureImage_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// Type checks
|
|
booln lxgTextureChannel_valid(lxgContextPTR ctx, lxgTextureChannel_t channel);
|
|
booln lxgTextureTarget_valid(lxgContextPTR ctx, lxGLTextureTarget_t type);
|
|
|
|
// lxgTexture
|
|
|
|
// for multisampled textures depth = samples
|
|
void lxgTexture_init(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);
|
|
|
|
void lxgTexture_deinit(lxgTexturePTR tex, lxgContextPTR ctx);
|
|
|
|
booln lxgTexture_readFrame(lxgTexturePTR tex, lxgContextPTR ctx,
|
|
const lxgTextureUpdatePTR update, uint miplevel);
|
|
|
|
// if scalartype is set to invalid, we assume "native" data (matching
|
|
// internal)
|
|
booln lxgTexture_readData(lxgTexturePTR tex,
|
|
const lxgTextureUpdatePTR update, uint miplevel,
|
|
enum lxScalarType_e scalar, const void* buffer, uint buffersize);
|
|
|
|
booln lxgTexture_readBuffer(lxgTexturePTR tex,
|
|
const lxgTextureUpdatePTR update, uint miplevel,
|
|
enum lxScalarType_e scalar, const lxgBufferPTR buffer, uint bufferoffset);
|
|
|
|
booln lxgTexture_writeData(lxgTexturePTR tex, uint side, booln ascompressed, booln onlydepth, uint mip, enum lxScalarType_e d, void* buffer, uint buffersize);
|
|
booln lxgTexture_writeBuffer(lxgTexturePTR tex, uint side, booln ascompressed, booln onlydepth, uint mip, enum lxScalarType_e d, lxgBufferPTR buffer, uint bufferoffset);
|
|
|
|
void lxgTexture_getSampler(lxgTexturePTR tex, lxgSamplerPTR sampler);
|
|
const lxVec3iPTR lxgTexture_getMipSize(lxgTexturePTR tex, uint mipLevel);
|
|
|
|
void lxgTextureUnit_setCompare(lxgContextPTR ctx, uint imageunit, enum lxgCompareMode_e cmp);
|
|
void lxgTextureUnit_setSampler(lxgContextPTR ctx, uint imageunit, lxgSamplerPTR sampler, flags32 what);
|
|
void lxgTextureUnit_checkedSampler(lxgContextPTR ctx, uint imageunit, lxgSamplerPTR sampler, flags32 what);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// lxgSampler_t
|
|
|
|
void lxgSampler_init(lxgSamplerPTR self);
|
|
void lxgSampler_setAddress(lxgSamplerPTR self, uint n, lxgSamplerAddress_t address);
|
|
void lxgSampler_setCompare(lxgSamplerPTR self, enum lxgCompareMode_e cmp);
|
|
void lxgSampler_changed(lxgSamplerPTR self);
|
|
|
|
// require SM4
|
|
void lxgSampler_initHW(lxgSamplerPTR self, lxgContextPTR ctx);
|
|
void lxgSampler_deinitHW(lxgSamplerPTR self, lxgContextPTR ctx);
|
|
void lxgSampler_updateHW(lxgSamplerPTR self, lxgContextPTR ctx);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// lxgRenderBuffer
|
|
|
|
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);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// lxgTextureImage
|
|
|
|
booln lxgTextureImage_init(lxgTextureImagePTR img, lxgContextPTR ctx, lxgTexturePTR tex, lxgAccessMode_t acces,
|
|
uint level, booln layered, int layer);
|
|
|
|
/// __LUXLUXGFX_RENDERTARGET_H__
|
|
|
|
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);
|
|
|
|
|
|
// to and from may be NULL
|
|
void lxgRenderTarget_applyBlit(lxgRenderTargetPTR to, lxgContextPTR ctx, lxgRenderTargetPTR from, lxgRenderTargetBlitPTR update, flags32 mask, booln linearFilter);
|
|
|
|
void lxgRenderTarget_setAssign(lxgRenderTargetPTR rt, uint assigntype, lxgRenderAssignPTR assign);
|
|
booln lxgRenderTarget_checkSize(lxgRenderTargetPTR rt);
|
|
const lxgFrameBoundsPTR lxgRenderTarget_getBounds(lxgRenderTargetPTR rt);
|
|
|
|
|
|
// return the actual scissor state (can be enabled indirectly through viewport != framebounds)
|
|
booln lxgViewPortRect_apply(lxRectangleiPTR rect, lxgContextPTR ctx);
|
|
booln lxgViewPortScissor_applyState(booln state, lxgContextPTR ctx);
|
|
booln lxgViewPort_apply(lxgViewPortPTR obj, lxgContextPTR ctx);
|
|
void lxgViewPort_sync(lxgViewPortPTR obj, lxgContextPTR ctx);
|
|
|
|
void lxgViewPortMrt_apply(lxgViewPortMrtPTR obj, lxgContextPTR ctx);
|
|
void lxgViewPortMrt_sync(lxgViewPortMrtPTR obj, lxgContextPTR ctx);
|
|
|
|
/// __LUXLUXGFX_STATE_H__
|
|
|
|
typedef enum lxgWinding_e{
|
|
LUXGFX_WIND_CCW,
|
|
LUXGFX_WIND_CW,
|
|
}lxgWinding_t;
|
|
|
|
typedef struct lxgRasterizer_s{
|
|
lxgWinding_t wind;
|
|
|
|
booln multisample;
|
|
booln fill;
|
|
booln depthclamp;
|
|
|
|
float polyoffset;
|
|
float polyoffsetslope;
|
|
}lxgRasterizer_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
typedef struct lxgAlpha_s{
|
|
lxGLCompareMode_t func;
|
|
float refval;
|
|
}lxgAlpha_t;
|
|
|
|
typedef struct lxgDepth_s{
|
|
lxGLCompareMode_t func;
|
|
booln clip;
|
|
}lxgDepth_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
typedef struct lxgLogic_s{
|
|
lxGLLogicOp_t op;
|
|
}lxgLogic_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
typedef struct lxgStencilOp_s
|
|
{
|
|
lxGLStencilMode_t fail;
|
|
lxGLStencilMode_t zfail;
|
|
lxGLStencilMode_t zpass;
|
|
lxGLCompareMode_t func;
|
|
}lxgStencilOp_t;
|
|
|
|
typedef struct lxgStencil_s{
|
|
uint16 refvalue;
|
|
uint16 mask;
|
|
|
|
lxgStencilOp_t ops[2]; // 0 = front 1 = back
|
|
}lxgStencil_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
typedef struct lxgBlendMode_s{
|
|
lxGLBlendWeight_t srcw;
|
|
lxGLBlendWeight_t dstw;
|
|
lxGLBlendEquation_t equ;
|
|
}lxgBlendMode_t;
|
|
|
|
typedef struct lxgBlend_s{
|
|
lxgBlendMode_t colormode;
|
|
lxgBlendMode_t alphamode;
|
|
}lxgBlend_t;
|
|
|
|
typedef struct lxgBlendMrt_s{
|
|
uint16 individual;
|
|
uint16 numused;
|
|
flags32 enabled;
|
|
lxgBlend_t blends[LUXGFX_MAX_RENDERTARGETS];
|
|
}lxgBlendMrt_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
enum lxgRenderFlag_e {
|
|
LUXGFX_RFLAG_STENCILWRITE1 = 1<<0,
|
|
LUXGFX_RFLAG_STENCILWRITE2 = 1<<1,
|
|
LUXGFX_RFLAG_STENCILWRITE3 = 1<<2,
|
|
LUXGFX_RFLAG_STENCILWRITE4 = 1<<3,
|
|
LUXGFX_RFLAG_STENCILWRITE5 = 1<<4,
|
|
LUXGFX_RFLAG_STENCILWRITE6 = 1<<5,
|
|
LUXGFX_RFLAG_STENCILWRITE7 = 1<<6,
|
|
LUXGFX_RFLAG_STENCILWRITE8 = 1<<7,
|
|
LUXGFX_RFLAG_STENCILWRITE = LUXGFX_RFLAG_STENCILWRITE1 |
|
|
LUXGFX_RFLAG_STENCILWRITE2 |
|
|
LUXGFX_RFLAG_STENCILWRITE3 |
|
|
LUXGFX_RFLAG_STENCILWRITE4 |
|
|
LUXGFX_RFLAG_STENCILWRITE5 |
|
|
LUXGFX_RFLAG_STENCILWRITE6 |
|
|
LUXGFX_RFLAG_STENCILWRITE7 |
|
|
LUXGFX_RFLAG_STENCILWRITE8,
|
|
LUXGFX_RFLAG_FRONTCULL = 1<<8,
|
|
LUXGFX_RFLAG_DEPTHWRITE = 1<<9,
|
|
LUXGFX_RFLAG_CCW = 1<<10,
|
|
LUXGFX_RFLAG_CULL = 1<<11,
|
|
LUXGFX_RFLAG_COLORWRITER = 1<<12,
|
|
LUXGFX_RFLAG_COLORWRITEG = 1<<13,
|
|
LUXGFX_RFLAG_COLORWRITEB = 1<<14,
|
|
LUXGFX_RFLAG_COLORWRITEA = 1<<15,
|
|
LUXGFX_RFLAG_COLORWRITE = LUXGFX_RFLAG_COLORWRITER |
|
|
LUXGFX_RFLAG_COLORWRITEG |
|
|
LUXGFX_RFLAG_COLORWRITEB |
|
|
LUXGFX_RFLAG_COLORWRITEA,
|
|
LUXGFX_RFLAG_BLEND = 1<<16,
|
|
LUXGFX_RFLAG_STENCILTEST = 1<<17,
|
|
LUXGFX_RFLAG_LOGIC = 1<<18,
|
|
LUXGFX_RFLAG_DEPTHTEST = 1<<19,
|
|
LUXGFX_RFLAG_WIRE = 1<<20,
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
void lxgDepth_init(lxgDepthPTR obj);
|
|
void lxgDepth_apply(lxgDepthPTR obj, lxgContextPTR ctx);
|
|
void lxgDepth_sync(lxgDepthPTR obj, lxgContextPTR ctx);
|
|
|
|
void lxgLogic_init(lxgLogicPTR obj);
|
|
void lxgLogic_apply(lxgLogicPTR obj, lxgContextPTR ctx);
|
|
void lxgLogic_sync(lxgLogicPTR obj, lxgContextPTR ctx);
|
|
|
|
void lxgStencil_init(lxgStencilPTR obj);
|
|
void lxgStencil_apply(lxgStencilPTR obj, lxgContextPTR ctx);
|
|
void lxgStencil_sync(lxgStencilPTR obj, lxgContextPTR ctx);
|
|
|
|
void lxgBlend_init(lxgBlendPTR obj);
|
|
void lxgBlend_apply(lxgBlendPTR obj, lxgContextPTR ctx);
|
|
void lxgBlend_sync(lxgBlendPTR obj, lxgContextPTR ctx);
|
|
|
|
void lxgBlendMrt_apply(lxgBlendMrtPTR obj, lxgContextPTR ctx);
|
|
void lxgBlendMrt_sync(lxgBlendMrtPTR obj, lxgContextPTR ctx);
|
|
|
|
flags32 lxgRenderFlag_init();
|
|
flags32 lxgRenderFlag_sync(lxgContextPTR ctx);
|
|
void lxgRenderFlag_apply(flags32 flags, lxgContextPTR ctx, flags32 changed);
|
|
const char* lxgRenderFlag_test(lxgContextPTR ctx);
|
|
|
|
void lxgRasterizer_sync(lxgRasterizerPTR raster, lxgContextPTR ctx);
|
|
|
|
typedef enum lxgProgramType_e{
|
|
LUXGFX_PROGRAM_NONE,
|
|
LUXGFX_PROGRAM_GLSL,
|
|
LUXGFX_PROGRAM_ARBNV,
|
|
}lxgProgramType_t;
|
|
|
|
typedef enum lxgShaderDomain_e{
|
|
LUXGFX_DOMAIN_VERTEX,
|
|
LUXGFX_DOMAIN_FRAGMENT,
|
|
LUXGFX_DOMAIN_GEOMETRY,
|
|
LUXGFX_DOMAIN_TESSCTRL,
|
|
LUXGFX_DOMAIN_TESSEVAL,
|
|
LUXGFX_DOMAINS,
|
|
}lxgProgramDomain_t;
|
|
|
|
typedef void (*lxgParmeterUpdate_fn)(lxgContextPTR ctx, lxgProgramParameterPTR param, void* data);
|
|
|
|
typedef struct lxgProgramParameter_s{
|
|
lxGLParameterType_t gltype;
|
|
union{
|
|
GLuint glid;
|
|
GLenum gltarget;
|
|
};
|
|
GLuint gllocation;
|
|
lxgParmeterUpdate_fn func;
|
|
ushort count;
|
|
bool16 transpose;
|
|
uint size;
|
|
const char* name;
|
|
}lxgProgramParameter_t;
|
|
|
|
typedef struct lxgProgramData_s{
|
|
uint numParams;
|
|
lxgProgramParameterPTR parameters;
|
|
uint numSampler;
|
|
lxgProgramParameterPTR samplers;
|
|
uint numBuffers;
|
|
lxgProgramParameterPTR buffer;
|
|
uint numImages;
|
|
lxgProgramParameterPTR images;
|
|
}lxgProgramData_t;
|
|
|
|
typedef struct lxgDomainProgram_s{
|
|
union{
|
|
lxGLShaderType_t gltype;
|
|
lxGLProgramType_t gltarget;
|
|
};
|
|
GLuint glid;
|
|
lxgProgramDataPTR data;
|
|
lxgContextPTR ctx;
|
|
lxgProgramType_t progtype;
|
|
}lxgDomainProgram_t;
|
|
|
|
typedef struct lxgProgram_s{
|
|
GLuint glid;
|
|
lxgProgramType_t type;
|
|
flags32 usedProgs;
|
|
lxgDomainProgramPTR programs[LUXGFX_DOMAINS];
|
|
lxgProgramDataPTR data;
|
|
lxgContextPTR ctx;
|
|
}lxgProgram_t;
|
|
|
|
// GLSL
|
|
void lxgProgramParameter_initFunc(lxgProgramParameterPTR param);
|
|
|
|
void lxgDomainProgram_init(lxgDomainProgramPTR stage, lxgContextPTR ctx, lxgProgramDomain_t type);
|
|
void lxgDomainProgram_deinit(lxgDomainProgramPTR stage, lxgContextPTR ctx);
|
|
booln lxgDomainProgram_compile(lxgDomainProgramPTR stage, const char *src, int len);
|
|
const char* lxgDomainProgram_error(lxgDomainProgramPTR stage, char *buffer, int len);
|
|
|
|
void lxgProgram_init(lxgProgramPTR prog, lxgContextPTR ctx);
|
|
void lxgProgram_deinit(lxgProgramPTR prog, lxgContextPTR ctx);
|
|
void lxgProgram_setDomain(lxgProgramPTR prog, lxgProgramDomain_t type, lxgDomainProgramPTR stage);
|
|
booln lxgProgram_link(lxgProgramPTR prog);
|
|
const char* lxgProgram_log(lxgProgramPTR prog, char* buffer, int len);
|
|
|
|
// COMMON
|
|
void lxgProgram_applyParameters(lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, void **data);
|
|
void lxgProgram_applySamplers( lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, lxgTexturePTR *data);
|
|
void lxgProgram_applyBuffers(lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, lxgBufferPTR *data);
|
|
void lxgProgram_applyImages( lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, lxgTextureImagePTR *data );
|
|
|
|
// NV/ARB PROGRAM
|
|
void lxgProgramParameter_initDomainNV(lxgProgramParameterPTR param, lxgProgramDomain_t domain);
|
|
void lxgProgramParameter_initFuncNV(lxgProgramParameterPTR param);
|
|
|
|
void lxgDomainProgram_initNV(lxgDomainProgramPTR stage, lxgContextPTR ctx, lxgProgramDomain_t type);
|
|
void lxgDomainProgram_deinitNV(lxgDomainProgramPTR stage, lxgContextPTR ctx);
|
|
booln lxgDomainProgram_compileNV(lxgDomainProgramPTR stage, const char *src, int len);
|
|
const char* lxgDomainProgram_errorNV(lxgDomainProgramPTR stage, char *buffer, int len);
|
|
|
|
void lxgProgram_initNV(lxgProgramPTR prog, lxgContextPTR ctx);
|
|
void lxgProgram_deinitNV(lxgProgramPTR prog, lxgContextPTR ctx);
|
|
void lxgProgram_setDomainNV(lxgProgramPTR prog, lxgProgramDomain_t type, lxgDomainProgramPTR stage);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
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, //+DEPTHSTENCIL
|
|
LUXGFX_CAP_FBOMS = 1<<5, // blit,ms
|
|
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_SM0 = 1<<20, // DOT3,CROSSBAR,CUBE
|
|
LUXGFX_CAP_SM1 = 1<<21, // VERTEX,SHADOW
|
|
LUXGFX_CAP_SM2 = 1<<22, // +FRAGMENT
|
|
LUXGFX_CAP_SM2EXT = 1<<23, // +DRAWBUFFERS,FLOAT,HLSHADERS
|
|
LUXGFX_CAP_SM3 = 1<<24, // +NV3/ATI_SHADERLOD
|
|
LUXGFX_CAP_SM4 = 1<<25, // GL3.3 TEXINT,TEXBUF,TEXARRAY,UBO,FBOMIX
|
|
// TEXSAMPLER,XFBO,GS,CUBESAMPLE
|
|
LUXGFX_CAP_SM5 = 1<<26, // GL4.0
|
|
};
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
typedef enum lxgGPUVendor_e{
|
|
LUXGFX_GPUVENDOR_UNKNOWN,
|
|
LUXGFX_GPUVENDOR_NVIDIA,
|
|
LUXGFX_GPUVENDOR_ATI,
|
|
LUXGFX_GPUVENDOR_INTEL,
|
|
}lxgGPUVendor_t;
|
|
|
|
typedef enum lxgGPUDomain_e{
|
|
LUXGFX_GPUDOMAIN_VERTEX,
|
|
LUXGFX_GPUDOMAIN_FRAGMENT,
|
|
LUXGFX_GPUDOMAIN_GEOMETRY,
|
|
LUXGFX_GPUDOMAIN_TESS_EVAL,
|
|
LUXGFX_GPUDOMAIN_TESS_CTRL,
|
|
LUXGFX_GPUDOMAINS,
|
|
}lxgGPUDomain_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;
|
|
lxgProgramPTR program;
|
|
lxgVertexState_t vertex;
|
|
lxgTexturePTR textures[LUXGFX_MAX_TEXTURE_IMAGES];
|
|
lxgSamplerPTR samplers[LUXGFX_MAX_TEXTURE_IMAGES];
|
|
lxgRenderTargetPTR rendertargets[LUXGFX_RENDERTARGETS];
|
|
lxgTextureImagePTR images[LUXGFX_MAX_RWTEXTURE_IMAGES];
|
|
lxgBufferPTR uniform[LUXGFX_MAX_UNIFORM_BUFFERS];
|
|
lxgFeedbackState_t feedback;
|
|
|
|
flags32 rflag;
|
|
lxgBlend_t blend;
|
|
lxgDepth_t depth;
|
|
lxgStencil_t stencil;
|
|
lxgLogic_t logic;
|
|
|
|
lxgViewPort_t viewport;
|
|
lxgFrameBounds_t framebounds;
|
|
lxgFrameBounds_t window;
|
|
|
|
lxgBlendMrt_t blendMRT;
|
|
lxgViewPortMrt_t viewportMRT;
|
|
|
|
lxgCapabilites_t capabilites;
|
|
}lxgContext_t;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
const char* lxgContext_init(lxgContextPTR ctx);
|
|
void lxgContext_syncStates(lxgContextPTR ctx);
|
|
booln lxgContext_checkStates(lxgContextPTR ctx);
|
|
void lxgContext_resetTextures(lxgContextPTR ctx);
|
|
void lxgContext_resetVertexStreams(lxgContextPTR ctx);
|
|
|
|
void lxgTexture_apply(lxgTexturePTR obj, lxgContextPTR ctx, uint imageunit);
|
|
void lxgSampler_apply(lxgSamplerPTR obj, lxgContextPTR ctx, uint imageunit);
|
|
void lxgTextures_apply(lxgTexturePTR *texs, lxgContextPTR ctx, uint start, uint num);
|
|
void lxgSamplers_apply(lxgSamplerPTR *samps, lxgContextPTR ctx, uint start, uint num);
|
|
void lxgTextureImage_apply(lxgTextureImagePTR obj, lxgContextPTR ctx, uint imageunit);
|
|
void lxgRenderTarget_apply(lxgRenderTargetPTR obj, lxgContextPTR ctx, lxgRenderTargetType_t type);
|
|
void lxgRenderTarget_applyDraw(lxgRenderTargetPTR obj, lxgContextPTR ctx, booln setViewport);
|
|
void lxgProgram_apply(lxgProgramPTR obj, lxgContextPTR ctx );
|
|
|
|
]]
|
|
--auto-generated api from ffi headers
|
|
local api =
|
|
{
|
|
["LUXGFX_COMPARE_NEVER"] = { type ='value', },
|
|
["LUXGFX_COMPARE_LESS"] = { type ='value', },
|
|
["LUXGFX_COMPARE_EQUAL"] = { type ='value', },
|
|
["LUXGFX_COMPARE_LEQUAL"] = { type ='value', },
|
|
["LUXGFX_COMPARE_GREATER"] = { type ='value', },
|
|
["LUXGFX_COMPARE_NOTEQUAL"] = { type ='value', },
|
|
["LUXGFX_COMPARE_GEQUAL"] = { type ='value', },
|
|
["LUXGFX_COMPARE_ALWAYS"] = { type ='value', },
|
|
["LUXGFX_COMPARE_DONTEXECUTE"] = { type ='value', },
|
|
["LUXGFX_COMPARE_ILLEGAL"] = { type ='value', },
|
|
["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_UNIFORM_BUFFERS"] = { type ='value', },
|
|
["LUXGFX_MAX_TEXTURE_MIPMAPS"] = { type ='value', },
|
|
["LUXGFX_MAX_VERTEX_STREAMS"] = { 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_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_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_BUFFER"] = { type ='value', },
|
|
["LUXGFX_BUFFERMODE_DRAW"] = { type ='value', },
|
|
["LUXGFX_BUFFERMODE_READ"] = { type ='value', },
|
|
["LUXGFX_BUFFERMODE_COPY"] = { type ='value', },
|
|
["LUXGFX_BUFFERMODES"] = { type ='value', },
|
|
["LUXGFX_BUFFERUPDATE_STATIC"] = { type ='value', },
|
|
["LUXGFX_BUFFERUPDATE_DYNAMIC"] = { type ='value', },
|
|
["LUXGFX_BUFFERUPDATE_STREAM"] = { type ='value', },
|
|
["LUXGFX_BUFFERUPDATES"] = { 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_ALPHA"] = { type ='value', },
|
|
["LUXGFX_TEXTURECHANNEL_INTENSITY"] = { type ='value', },
|
|
["LUXGFX_TEXTURECHANNEL_LUMINANCE"] = { type ='value', },
|
|
["LUXGFX_TEXTURECHANNEL_LUMINANCEALPHA"] = { type ='value', },
|
|
["LUXGFX_TEXTURECHANNEL_CUSTOM"] = { 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_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_WIND_CCW"] = { type ='value', },
|
|
["LUXGFX_WIND_CW"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE1"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE2"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE3"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE4"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE5"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE6"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE7"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE8"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILWRITE"] = { type ='value', },
|
|
["LUXGFX_RFLAG_FRONTCULL"] = { type ='value', },
|
|
["LUXGFX_RFLAG_DEPTHWRITE"] = { type ='value', },
|
|
["LUXGFX_RFLAG_CCW"] = { type ='value', },
|
|
["LUXGFX_RFLAG_CULL"] = { type ='value', },
|
|
["LUXGFX_RFLAG_COLORWRITER"] = { type ='value', },
|
|
["LUXGFX_RFLAG_COLORWRITEG"] = { type ='value', },
|
|
["LUXGFX_RFLAG_COLORWRITEB"] = { type ='value', },
|
|
["LUXGFX_RFLAG_COLORWRITEA"] = { type ='value', },
|
|
["LUXGFX_RFLAG_COLORWRITE"] = { type ='value', },
|
|
["LUXGFX_RFLAG_BLEND"] = { type ='value', },
|
|
["LUXGFX_RFLAG_STENCILTEST"] = { type ='value', },
|
|
["LUXGFX_RFLAG_LOGIC"] = { type ='value', },
|
|
["LUXGFX_RFLAG_DEPTHTEST"] = { type ='value', },
|
|
["LUXGFX_RFLAG_WIRE"] = { type ='value', },
|
|
["LUXGFX_PROGRAM_NONE"] = { type ='value', },
|
|
["LUXGFX_PROGRAM_GLSL"] = { type ='value', },
|
|
["LUXGFX_PROGRAM_ARBNV"] = { type ='value', },
|
|
["LUXGFX_DOMAIN_VERTEX"] = { type ='value', },
|
|
["LUXGFX_DOMAIN_FRAGMENT"] = { type ='value', },
|
|
["LUXGFX_DOMAIN_GEOMETRY"] = { type ='value', },
|
|
["LUXGFX_DOMAIN_TESSCTRL"] = { type ='value', },
|
|
["LUXGFX_DOMAIN_TESSEVAL"] = { type ='value', },
|
|
["LUXGFX_DOMAINS"] = { 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_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_GPUDOMAIN_VERTEX"] = { type ='value', },
|
|
["LUXGFX_GPUDOMAIN_FRAGMENT"] = { type ='value', },
|
|
["LUXGFX_GPUDOMAIN_GEOMETRY"] = { type ='value', },
|
|
["LUXGFX_GPUDOMAIN_TESS_EVAL"] = { type ='value', },
|
|
["LUXGFX_GPUDOMAIN_TESS_CTRL"] = { type ='value', },
|
|
["LUXGFX_GPUDOMAINS"] = { 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 = "(lxgBufferPTR buffer, lxGLBufferTarget_t type)", },
|
|
["lxgBuffer_bindIndexed"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgBufferPTR buffer, lxGLBufferTarget_t type, uint idx)", },
|
|
["lxgBuffer_bindRanged"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgBufferPTR buffer, lxGLBufferTarget_t type, uint idx, size_t offset, size_t size)", },
|
|
["lxgBuffer_map"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgBufferPTR buffer, void**ptr, lxgAccessMode_t type)", },
|
|
["lxgBuffer_mapRange"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgBufferPTR buffer, void**ptr, uint from, uint length, lxgAccessMode_t type, booln manualflush, booln unsynch)", },
|
|
["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, lxgBufferMode_t hint, lxgBufferUpdate_t update, uint size, void* data)", },
|
|
["lxgVertexAttribs_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(flags32 attribs, lxgContextPTR ctx, flags32 changed)", },
|
|
["lxgVertexAttribs_applyFIXED"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(flags32 attribs, lxgContextPTR ctx, flags32 changed)", },
|
|
["lxgVertexAttrib_setFloat"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgVertexAttrib_t attrib, const float* vec4)", },
|
|
["lxgVertexAttrib_setInteger"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgVertexAttrib_t attrib, const int* vec4)", },
|
|
["lxgVertexAttrib_setFloatFIXED"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgVertexAttrib_t attrib, const float* vec4)", },
|
|
["lxgVertexDecl_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgVertexDeclPTR decl, lxgContextPTR ctx)", },
|
|
["lxgVertexSetup_setStreams"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, lxgVertexDeclPTR decl, lxgStreamHostPTR hosts)", },
|
|
["lxgVertexSetup_setStream"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, uint idx, lxgStreamHostPTR host)", },
|
|
["lxgVertexSetup_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgVertexSetup_applyFIXED"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgVertexSetup_applyNV"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgVertexSetup_applyFIXEDNV"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgFeedback_enable"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, lxGLPrimitiveType_t type, int numStreams)", },
|
|
["lxgFeedback_disable"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgFeedback_pause"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgFeedback_resume"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgFeedback_applyStreams"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgFeedback_setStreams"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, lxgStreamHostPTR hosts, int numStreams)", },
|
|
["lxgFeedback_setStream"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, uint idx, lxgStreamHostPTR host)", },
|
|
["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)", },
|
|
["lxgTexture_init"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR tex, lxgContextPTR ctx)", },
|
|
["lxgTexture_deinit"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR tex, lxgContextPTR ctx)", },
|
|
["lxgTexture_writeData"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR tex, uint side, booln ascompressed, booln onlydepth, uint mip, enum lxScalarType_e d, void* buffer, uint buffersize)", },
|
|
["lxgTexture_writeBuffer"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR tex, uint side, booln ascompressed, booln onlydepth, uint mip, enum lxScalarType_e d, lxgBufferPTR buffer, uint bufferoffset)", },
|
|
["lxgTexture_getSampler"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR tex, lxgSamplerPTR sampler)", },
|
|
["lxgTexture_getMipSize"] = { type ='function',
|
|
description = "",
|
|
returns = "(const lxVec3iPTR)",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR tex, uint mipLevel)", },
|
|
["lxgTextureUnit_setCompare"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, uint imageunit, enum lxgCompareMode_e cmp)", },
|
|
["lxgTextureUnit_setSampler"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, uint imageunit, lxgSamplerPTR sampler, flags32 what)", },
|
|
["lxgTextureUnit_checkedSampler"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx, uint imageunit, lxgSamplerPTR sampler, flags32 what)", },
|
|
["lxgSampler_init"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR self)", },
|
|
["lxgSampler_setAddress"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR self, uint n, lxgSamplerAddress_t address)", },
|
|
["lxgSampler_setCompare"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR self, enum lxgCompareMode_e cmp)", },
|
|
["lxgSampler_changed"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR self)", },
|
|
["lxgSampler_initHW"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR self, lxgContextPTR ctx)", },
|
|
["lxgSampler_deinitHW"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR self, lxgContextPTR ctx)", },
|
|
["lxgSampler_updateHW"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR self, lxgContextPTR ctx)", },
|
|
["lxgRenderBuffer_deinit"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgRenderBufferPTR rb, lxgContextPTR ctx)", },
|
|
["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_applyBlit"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgRenderTargetPTR to, lxgContextPTR ctx, lxgRenderTargetPTR from, lxgRenderTargetBlitPTR update, flags32 mask, booln linearFilter)", },
|
|
["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 = "(const lxgFrameBoundsPTR)",
|
|
valuetype = "lxg.lxgFrameBounds_t",
|
|
args = "(lxgRenderTargetPTR rt)", },
|
|
["lxgViewPortRect_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxRectangleiPTR rect, lxgContextPTR ctx)", },
|
|
["lxgViewPortScissor_applyState"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(booln state, lxgContextPTR ctx)", },
|
|
["lxgViewPort_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgViewPortPTR obj, lxgContextPTR ctx)", },
|
|
["lxgViewPort_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgViewPortPTR obj, lxgContextPTR ctx)", },
|
|
["lxgViewPortMrt_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgViewPortMrtPTR obj, lxgContextPTR ctx)", },
|
|
["lxgViewPortMrt_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgViewPortMrtPTR obj, lxgContextPTR ctx)", },
|
|
["lxgDepth_init"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgDepthPTR obj)", },
|
|
["lxgDepth_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgDepthPTR obj, lxgContextPTR ctx)", },
|
|
["lxgDepth_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgDepthPTR obj, lxgContextPTR ctx)", },
|
|
["lxgLogic_init"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgLogicPTR obj)", },
|
|
["lxgLogic_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgLogicPTR obj, lxgContextPTR ctx)", },
|
|
["lxgLogic_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgLogicPTR obj, lxgContextPTR ctx)", },
|
|
["lxgStencil_init"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgStencilPTR obj)", },
|
|
["lxgStencil_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgStencilPTR obj, lxgContextPTR ctx)", },
|
|
["lxgStencil_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgStencilPTR obj, lxgContextPTR ctx)", },
|
|
["lxgBlend_init"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgBlendPTR obj)", },
|
|
["lxgBlend_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgBlendPTR obj, lxgContextPTR ctx)", },
|
|
["lxgBlend_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgBlendPTR obj, lxgContextPTR ctx)", },
|
|
["lxgBlendMrt_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgBlendMrtPTR obj, lxgContextPTR ctx)", },
|
|
["lxgBlendMrt_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgBlendMrtPTR obj, lxgContextPTR ctx)", },
|
|
["lxgRenderFlag_init"] = { type ='function',
|
|
description = "",
|
|
returns = "(flags32)",
|
|
valuetype = nil,
|
|
args = "()", },
|
|
["lxgRenderFlag_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "(flags32)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgRenderFlag_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(flags32 flags, lxgContextPTR ctx, flags32 changed)", },
|
|
["lxgRenderFlag_test"] = { type ='function',
|
|
description = "",
|
|
returns = "(const char*)",
|
|
valuetype = "string",
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgRasterizer_sync"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgRasterizerPTR raster, lxgContextPTR ctx)", },
|
|
["lxgProgramParameter_initFunc"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgProgramParameterPTR param)", },
|
|
["lxgDomainProgram_init"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgDomainProgramPTR stage, lxgContextPTR ctx, lxgProgramDomain_t type)", },
|
|
["lxgDomainProgram_deinit"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgDomainProgramPTR stage, lxgContextPTR ctx)", },
|
|
["lxgDomainProgram_compile"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgDomainProgramPTR stage, const char *src, int len)", },
|
|
["lxgDomainProgram_error"] = { type ='function',
|
|
description = "",
|
|
returns = "(const char*)",
|
|
valuetype = "string",
|
|
args = "(lxgDomainProgramPTR stage, char *buffer, int len)", },
|
|
["lxgProgram_init"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx)", },
|
|
["lxgProgram_deinit"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx)", },
|
|
["lxgProgram_setDomain"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgProgramDomain_t type, lxgDomainProgramPTR stage)", },
|
|
["lxgProgram_link"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog)", },
|
|
["lxgProgram_log"] = { type ='function',
|
|
description = "",
|
|
returns = "(const char*)",
|
|
valuetype = "string",
|
|
args = "(lxgProgramPTR prog, char* buffer, int len)", },
|
|
["lxgProgram_applyParameters"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, void **data)", },
|
|
["lxgProgram_applySamplers"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, lxgTexturePTR *data)", },
|
|
["lxgProgram_applyBuffers"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, lxgBufferPTR *data)", },
|
|
["lxgProgram_applyImages"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx, uint num, lxgProgramParameterPTR *params, lxgTextureImagePTR *data)", },
|
|
["lxgProgramParameter_initDomainNV"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgProgramParameterPTR param, lxgProgramDomain_t domain)", },
|
|
["lxgProgramParameter_initFuncNV"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgProgramParameterPTR param)", },
|
|
["lxgDomainProgram_initNV"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgDomainProgramPTR stage, lxgContextPTR ctx, lxgProgramDomain_t type)", },
|
|
["lxgDomainProgram_deinitNV"] = { type ='function',
|
|
description = "",
|
|
returns = "()",
|
|
valuetype = nil,
|
|
args = "(lxgDomainProgramPTR stage, lxgContextPTR ctx)", },
|
|
["lxgDomainProgram_compileNV"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgDomainProgramPTR stage, const char *src, int len)", },
|
|
["lxgDomainProgram_errorNV"] = { type ='function',
|
|
description = "",
|
|
returns = "(const char*)",
|
|
valuetype = "string",
|
|
args = "(lxgDomainProgramPTR stage, char *buffer, int len)", },
|
|
["lxgProgram_initNV"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx)", },
|
|
["lxgProgram_deinitNV"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgContextPTR ctx)", },
|
|
["lxgProgram_setDomainNV"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR prog, lxgProgramDomain_t type, lxgDomainProgramPTR stage)", },
|
|
["lxgContext_init"] = { type ='function',
|
|
description = "",
|
|
returns = "(const char*)",
|
|
valuetype = "string",
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgContext_syncStates"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgContext_checkStates"] = { type ='function',
|
|
description = "",
|
|
returns = "(booln)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgContext_resetTextures"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgContext_resetVertexStreams"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgContextPTR ctx)", },
|
|
["lxgTexture_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR obj, lxgContextPTR ctx, uint imageunit)", },
|
|
["lxgSampler_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR obj, lxgContextPTR ctx, uint imageunit)", },
|
|
["lxgTextures_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgTexturePTR *texs, lxgContextPTR ctx, uint start, uint num)", },
|
|
["lxgSamplers_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgSamplerPTR *samps, lxgContextPTR ctx, uint start, uint num)", },
|
|
["lxgTextureImage_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgTextureImagePTR obj, lxgContextPTR ctx, uint imageunit)", },
|
|
["lxgRenderTarget_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgRenderTargetPTR obj, lxgContextPTR ctx, lxgRenderTargetType_t type)", },
|
|
["lxgRenderTarget_applyDraw"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgRenderTargetPTR obj, lxgContextPTR ctx, booln setViewport)", },
|
|
["lxgProgram_apply"] = { type ='function',
|
|
description = "",
|
|
returns = "(void)",
|
|
valuetype = nil,
|
|
args = "(lxgProgramPTR obj, lxgContextPTR ctx)", },
|
|
["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, },
|
|
["ctx"] = { type ='value', description = "lxgContextPTR", valuetype = "lxg.lxgContext_t", },
|
|
["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, },
|
|
["mode"] = { type ='value', description = "lxgBufferMode_t", valuetype = nil, },
|
|
["update"] = { type ='value', description = "lxgBufferUpdate_t", valuetype = nil, },
|
|
}
|
|
},
|
|
["lxgVertexElement_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["normalize"] = { type ='value', description = "unsigned:1", valuetype = nil, },
|
|
["integer"] = { type ='value', description = "unsigned:1", valuetype = nil, },
|
|
["cnt"] = { type ='value', description = "unsigned:2", valuetype = nil, },
|
|
["stream"] = { type ='value', description = "unsigned:4", valuetype = nil, },
|
|
["scalartype"] = { type ='value', description = "unsigned:8", valuetype = nil, },
|
|
["stridehalf"] = { type ='value', description = "unsigned:8", valuetype = nil, },
|
|
["offset"] = { type ='value', description = "unsigned:8", valuetype = nil, },
|
|
}
|
|
},
|
|
["lxgVertexDecl_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["available"] = { type ='value', description = "flags32", valuetype = nil, },
|
|
["streams"] = { type ='value', description = "uint", valuetype = nil, },
|
|
["table"] = { type ='value', description = "lxgVertexElement_t[LUXGFX_VERTEX_ATTRIBS]", valuetype = "lxg.lxgVertexElement_t", },
|
|
}
|
|
},
|
|
["lxgStreamHost_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["buffer"] = { type ='value', description = "lxgBufferPTR", valuetype = "lxg.lxgBuffer_t", },
|
|
["ptr"] = { type ='value', description = "void*", valuetype = nil, },
|
|
["len"] = { type ='value', description = "size_t", valuetype = nil, },
|
|
}
|
|
},
|
|
["lxgVertexPointer_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["element"] = { type ='value', description = "lxgVertexElement_t[LUXGFX_VERTEX_ATTRIBS]", valuetype = "lxg.lxgVertexElement_t", },
|
|
["streams"] = { type ='value', description = "lxgStreamHost_t[LUXGFX_MAX_VERTEX_STREAMS]", valuetype = "lxg.lxgStreamHost_t", },
|
|
}
|
|
},
|
|
["lxgVertexState_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["decl"] = { type ='value', description = "lxgVertexDeclPTR", valuetype = "lxg.lxgVertexDecl_t", },
|
|
["active"] = { type ='value', description = "flags32", valuetype = nil, },
|
|
["declvalid"] = { 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, },
|
|
["streams"] = { type ='value', description = "lxgStreamHost_t[LUXGFX_MAX_VERTEX_STREAMS]", valuetype = "lxg.lxgStreamHost_t", },
|
|
}
|
|
},
|
|
["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", },
|
|
["border"] = { type ='value', description = "float[4]", 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 = "lxgSamplerPTR", 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, },
|
|
["mipsizes"] = { type ='value', description = "lxVec3i_t[LUXGFX_MAX_TEXTURE_MIPMAPS]", valuetype = nil, },
|
|
["pixelsizes"] = { type ='value', description = "uint[LUXGFX_MAX_TEXTURE_MIPMAPS]", valuetype = nil, },
|
|
["nativesizes"] = { type ='value', description = "size_t[LUXGFX_MAX_TEXTURE_MIPMAPS]", 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 = "GLenum", valuetype = nil, },
|
|
["glaccess"] = { type ='value', description = "GLenum", valuetype = nil, },
|
|
}
|
|
},
|
|
["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, },
|
|
["bounds"] = { type ='value', description = "lxRectanglef_t[LUXGFX_MAX_RENDERTARGETS]", valuetype = nil, },
|
|
["scissors"] = { type ='value', description = "lxRectanglei_t[LUXGFX_MAX_RENDERTARGETS]", valuetype = nil, },
|
|
["depths"] = { type ='value', description = "lxgViewDepth_t[LUXGFX_MAX_RENDERTARGETS]", valuetype = "lxg.lxgViewDepth_t", },
|
|
}
|
|
},
|
|
["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, },
|
|
["assigns"] = { type ='value', description = "lxgRenderAssign_t[LUXGFX_RENDERASSIGNS]", valuetype = "lxg.lxgRenderAssign_t", },
|
|
["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, },
|
|
}
|
|
},
|
|
["lxgRasterizer_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["wind"] = { type ='value', description = "lxgWinding_t", valuetype = nil, },
|
|
["multisample"] = { type ='value', description = "booln", valuetype = nil, },
|
|
["fill"] = { type ='value', description = "booln", valuetype = nil, },
|
|
["depthclamp"] = { type ='value', description = "booln", valuetype = nil, },
|
|
["polyoffset"] = { type ='value', description = "float", valuetype = nil, },
|
|
["polyoffsetslope"] = { type ='value', description = "float", valuetype = nil, },
|
|
}
|
|
},
|
|
["lxgAlpha_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["func"] = { type ='value', description = "lxGLCompareMode_t", valuetype = nil, },
|
|
["refval"] = { type ='value', description = "float", valuetype = nil, },
|
|
}
|
|
},
|
|
["lxgDepth_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["func"] = { type ='value', description = "lxGLCompareMode_t", valuetype = nil, },
|
|
["clip"] = { type ='value', description = "booln", valuetype = nil, },
|
|
}
|
|
},
|
|
["lxgLogic_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["op"] = { type ='value', description = "lxGLLogicOp_t", 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 = {
|
|
["refvalue"] = { type ='value', description = "uint16", valuetype = nil, },
|
|
["mask"] = { type ='value', description = "uint16", valuetype = nil, },
|
|
["ops"] = { type ='value', description = "lxgStencilOp_t[2]", valuetype = "lxg.lxgStencilOp_t", },
|
|
}
|
|
},
|
|
["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, },
|
|
}
|
|
},
|
|
["lxgBlend_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["colormode"] = { type ='value', description = "lxgBlendMode_t", valuetype = "lxg.lxgBlendMode_t", },
|
|
["alphamode"] = { type ='value', description = "lxgBlendMode_t", valuetype = "lxg.lxgBlendMode_t", },
|
|
}
|
|
},
|
|
["lxgBlendMrt_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["individual"] = { type ='value', description = "uint16", valuetype = nil, },
|
|
["numused"] = { type ='value', description = "uint16", valuetype = nil, },
|
|
["enabled"] = { type ='value', description = "flags32", valuetype = nil, },
|
|
["blends"] = { type ='value', description = "lxgBlend_t[LUXGFX_MAX_RENDERTARGETS]", valuetype = "lxg.lxgBlend_t", },
|
|
}
|
|
},
|
|
["lxgProgramParameter_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["gltype"] = { type ='value', description = "lxGLParameterType_t", valuetype = nil, },
|
|
["gllocation"] = { type ='value', description = "GLuint", valuetype = nil, },
|
|
["func"] = { type ='value', description = "lxgParmeterUpdate_fn", valuetype = nil, },
|
|
["count"] = { type ='value', description = "ushort", valuetype = nil, },
|
|
["transpose"] = { type ='value', description = "bool16", valuetype = nil, },
|
|
["size"] = { type ='value', description = "uint", valuetype = nil, },
|
|
["name"] = { type ='value', description = "const char*", valuetype = "string", },
|
|
}
|
|
},
|
|
["lxgProgramData_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["numParams"] = { type ='value', description = "uint", valuetype = nil, },
|
|
["parameters"] = { type ='value', description = "lxgProgramParameterPTR", valuetype = "lxg.lxgProgramParameter_t", },
|
|
["numSampler"] = { type ='value', description = "uint", valuetype = nil, },
|
|
["samplers"] = { type ='value', description = "lxgProgramParameterPTR", valuetype = "lxg.lxgProgramParameter_t", },
|
|
["numBuffers"] = { type ='value', description = "uint", valuetype = nil, },
|
|
["buffer"] = { type ='value', description = "lxgProgramParameterPTR", valuetype = "lxg.lxgProgramParameter_t", },
|
|
["numImages"] = { type ='value', description = "uint", valuetype = nil, },
|
|
["images"] = { type ='value', description = "lxgProgramParameterPTR", valuetype = "lxg.lxgProgramParameter_t", },
|
|
}
|
|
},
|
|
["lxgDomainProgram_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["glid"] = { type ='value', description = "GLuint", valuetype = nil, },
|
|
["data"] = { type ='value', description = "lxgProgramDataPTR", valuetype = "lxg.lxgProgramData_t", },
|
|
["ctx"] = { type ='value', description = "lxgContextPTR", valuetype = "lxg.lxgContext_t", },
|
|
["progtype"] = { type ='value', description = "lxgProgramType_t", valuetype = nil, },
|
|
}
|
|
},
|
|
["lxgProgram_t"] = { type ='class',
|
|
description = "",
|
|
childs = {
|
|
["glid"] = { type ='value', description = "GLuint", valuetype = nil, },
|
|
["type"] = { type ='value', description = "lxgProgramType_t", valuetype = nil, },
|
|
["usedProgs"] = { type ='value', description = "flags32", valuetype = nil, },
|
|
["programs"] = { type ='value', description = "lxgDomainProgramPTR[LUXGFX_DOMAINS]", valuetype = "lxg.lxgDomainProgram_t", },
|
|
["data"] = { type ='value', description = "lxgProgramDataPTR", valuetype = "lxg.lxgProgramData_t", },
|
|
["ctx"] = { type ='value', description = "lxgContextPTR", valuetype = "lxg.lxgContext_t", },
|
|
}
|
|
},
|
|
["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, },
|
|
["program"] = { type ='value', description = "lxgProgramPTR", valuetype = "lxg.lxgProgram_t", },
|
|
["vertex"] = { type ='value', description = "lxgVertexState_t", valuetype = "lxg.lxgVertexState_t", },
|
|
["textures"] = { type ='value', description = "lxgTexturePTR[LUXGFX_MAX_TEXTURE_IMAGES]", valuetype = "lxg.lxgTexture_t", },
|
|
["samplers"] = { type ='value', description = "lxgSamplerPTR[LUXGFX_MAX_TEXTURE_IMAGES]", valuetype = "lxg.lxgSampler_t", },
|
|
["rendertargets"] = { type ='value', description = "lxgRenderTargetPTR[LUXGFX_RENDERTARGETS]", valuetype = "lxg.lxgRenderTarget_t", },
|
|
["images"] = { type ='value', description = "lxgTextureImagePTR[LUXGFX_MAX_RWTEXTURE_IMAGES]", valuetype = "lxg.lxgTextureImage_t", },
|
|
["uniform"] = { type ='value', description = "lxgBufferPTR[LUXGFX_MAX_UNIFORM_BUFFERS]", valuetype = "lxg.lxgBuffer_t", },
|
|
["feedback"] = { type ='value', description = "lxgFeedbackState_t", valuetype = "lxg.lxgFeedbackState_t", },
|
|
["rflag"] = { type ='value', description = "flags32", valuetype = nil, },
|
|
["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", },
|
|
["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", },
|
|
["blendMRT"] = { type ='value', description = "lxgBlendMrt_t", valuetype = "lxg.lxgBlendMrt_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,
|
|
},
|
|
}
|