diff options
| author | jussi | 2023-10-31 11:52:36 +0200 |
|---|---|---|
| committer | jussi | 2023-10-31 11:52:36 +0200 |
| commit | f8b4b709e62c0fe25e4483925bac4abea5d8cafe (patch) | |
| tree | 47903b7fb7ac42a8ca5a49b67f48f056900a9f10 /src/rlgl.c | |
| parent | 65fababd8d36b47c85e7d6b43f649ed88c7e8bcf (diff) | |
| download | reilua-enhanced-f8b4b709e62c0fe25e4483925bac4abea5d8cafe.tar.gz reilua-enhanced-f8b4b709e62c0fe25e4483925bac4abea5d8cafe.tar.bz2 reilua-enhanced-f8b4b709e62c0fe25e4483925bac4abea5d8cafe.zip | |
Compute shader management and Buffer management.
Diffstat (limited to 'src/rlgl.c')
| -rw-r--r-- | src/rlgl.c | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -1394,6 +1394,60 @@ int lrlglSetShader( lua_State *L ) { } /* +## RLGL - Compute shader management +*/ + +/* +> programId = RL.rlLoadComputeShaderProgram( int shaderId ) + +Load compute shader program + +- Success return int +*/ +int lrlglLoadComputeShaderProgram( lua_State *L ) { + unsigned int shaderId = (unsigned int)luaL_checkinteger( L, 1 ); + + lua_pushinteger( L, rlLoadComputeShaderProgram( shaderId ) ); + + return 1; +} + +/* +> RL.rlComputeShaderDispatch( int groupX, int groupY, int groupZ ) + +Dispatch compute shader (equivalent to *draw* for graphics pipeline) +*/ +int lrlglComputeShaderDispatch( lua_State *L ) { + unsigned int groupX = (unsigned int)luaL_checkinteger( L, 1 ); + unsigned int groupY = (unsigned int)luaL_checkinteger( L, 2 ); + unsigned int groupZ = (unsigned int)luaL_checkinteger( L, 3 ); + + rlComputeShaderDispatch( groupX, groupY, groupZ ); + + return 0; +} + +/* +## RLGL - Buffer management +*/ + +/* +> RL.rlBindImageTexture( int id, int index, int format, bool readonly ) + +Bind image texture +*/ +int lrlglBindImageTexture( lua_State *L ) { + unsigned int id = (unsigned int)luaL_checkinteger( L, 1 ); + unsigned int index = (unsigned int)luaL_checkinteger( L, 2 ); + int format = luaL_checkinteger( L, 3 ); + bool readonly = uluaGetBoolean( L, 4 ); + + rlBindImageTexture( id, index, format, readonly ); + + return 0; +} + +/* ## RLGL - Matrix state management */ |
