From 50d0e15ff494291779710b120d8f53202aa2ef1f Mon Sep 17 00:00:00 2001 From: jussi Date: Sat, 18 Nov 2023 23:54:16 +0200 Subject: Shader buffer storage object management (ssbo) and rest of rlgl texture management functions. --- src/lua_core.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/lua_core.c') diff --git a/src/lua_core.c b/src/lua_core.c index 2825b16..2389463 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -2344,7 +2344,14 @@ void luaRegister() { /* Textures management. */ assingGlobalFunction( "rlLoadTexture", lrlglLoadTexture ); assingGlobalFunction( "rlLoadTextureDepth", lrlglLoadTextureDepth ); + assingGlobalFunction( "rlLoadTextureCubemap", lrlglLoadTextureCubemap ); + assingGlobalFunction( "rlUpdateTexture", lrlglUpdateTexture ); + assingGlobalFunction( "rlGetGlTextureFormats", lrlglGetGlTextureFormats ); + assingGlobalFunction( "rlGetPixelFormatName", lrlglGetPixelFormatName ); assingGlobalFunction( "rlUnloadTexture", lrlglUnloadTexture ); + assingGlobalFunction( "rlGenTextureMipmaps", lrlglGenTextureMipmaps ); + assingGlobalFunction( "rlReadTexturePixels", lrlglReadTexturePixels ); + assingGlobalFunction( "rlReadScreenPixels", lrlglReadScreenPixels ); /* Framebuffer management (fbo). */ assingGlobalFunction( "rlLoadFramebuffer", lrlglLoadFramebuffer ); assingGlobalFunction( "rlFramebufferAttach", lrlglFramebufferAttach ); @@ -2364,6 +2371,14 @@ void luaRegister() { /* Compute shader management */ assingGlobalFunction( "rlLoadComputeShaderProgram", lrlglLoadComputeShaderProgram ); assingGlobalFunction( "rlComputeShaderDispatch", lrlglComputeShaderDispatch ); + /* Shader buffer storage object management (ssbo) */ + assingGlobalFunction( "rlLoadShaderBuffer", lrlglLoadShaderBuffer ); + assingGlobalFunction( "rlUnloadShaderBuffer", lrlglUnloadShaderBuffer ); + assingGlobalFunction( "rlUpdateShaderBuffer", lrlglUpdateShaderBuffer ); + assingGlobalFunction( "rlBindShaderBuffer", lrlglBindShaderBuffer ); + assingGlobalFunction( "rlReadShaderBuffer", lrlglReadShaderBuffer ); + assingGlobalFunction( "rlCopyShaderBuffer", lrlglCopyShaderBuffer ); + assingGlobalFunction( "rlGetShaderBufferSize", lrlglGetShaderBufferSize ); /* Buffer management */ assingGlobalFunction( "rlBindImageTexture", lrlglBindImageTexture ); /* Matrix state management. */ @@ -3175,6 +3190,9 @@ void uluaPushGlyphInfo( lua_State *L, GlyphInfo glyphInfo, Image *image ) { } void uluaPushBuffer( lua_State *L, Buffer buffer ) { + if ( buffer.size == 0 ) { + buffer.data = NULL; + } Buffer *bufferP = lua_newuserdata( L, sizeof( Buffer ) ); *bufferP = buffer; luaL_setmetatable( L, "Buffer" ); -- cgit v1.2.3