New raylib 5.5 rlgl functions.

This commit is contained in:
jussi
2024-11-21 13:28:14 +02:00
parent 4c0eb17a9c
commit 6317547502
4 changed files with 123 additions and 0 deletions

View File

@@ -2195,6 +2195,9 @@ void luaRegister() {
assingGlobalFunction( "rlFrustum", lrlglFrustum );
assingGlobalFunction( "rlOrtho", lrlglOrtho );
assingGlobalFunction( "rlViewport", lrlglViewport );
assingGlobalFunction( "rlSetClipPlanes", lrlglSetClipPlanes );
assingGlobalFunction( "rlGetCullDistanceNear", lrlglGetCullDistanceNear );
assingGlobalFunction( "rlGetCullDistanceFar", lrlglGetCullDistanceFar );
/* Vertex level operations. */
assingGlobalFunction( "rlBegin", lrlglBegin );
assingGlobalFunction( "rlEnd", lrlglEnd );
@@ -2232,8 +2235,10 @@ void luaRegister() {
/* Framebuffer state. */
assingGlobalFunction( "rlEnableFramebuffer", lrlglEnableFramebuffer );
assingGlobalFunction( "rlDisableFramebuffer", lrlglDisableFramebuffer );
assingGlobalFunction( "rlGetActiveFramebuffer", lrlglGetActiveFramebuffer );
assingGlobalFunction( "rlActiveDrawBuffers", lrlglActiveDrawBuffers );
assingGlobalFunction( "rlBlitFramebuffer", lrlglBlitFramebuffer );
assingGlobalFunction( "rlBindFramebuffer", lrlglBindFramebuffer );
/* General render state. */
assingGlobalFunction( "rlEnableColorBlend", lrlglEnableColorBlend );
assingGlobalFunction( "rlDisableColorBlend", lrlglDisableColorBlend );
@@ -2243,6 +2248,7 @@ void luaRegister() {
assingGlobalFunction( "rlDisableDepthMask", lrlglDisableDepthMask );
assingGlobalFunction( "rlEnableBackfaceCulling", lrlglEnableBackfaceCulling );
assingGlobalFunction( "rlDisableBackfaceCulling", lrlglDisableBackfaceCulling );
assingGlobalFunction( "rlColorMask", lrlglColorMask );
assingGlobalFunction( "rlSetCullFace", lrlglSetCullFace );
assingGlobalFunction( "rlEnableScissorTest", lrlglEnableScissorTest );
assingGlobalFunction( "rlDisableScissorTest", lrlglDisableScissorTest );
@@ -2320,6 +2326,7 @@ void luaRegister() {
assingGlobalFunction( "rlGetLocationAttrib", lrlglGetLocationAttrib );
assingGlobalFunction( "rlSetUniform", lrlglSetUniform );
assingGlobalFunction( "rlSetUniformMatrix", lrlglSetUniformMatrix );
assingGlobalFunction( "rlSetUniformMatrices", lrlglSetUniformMatrices );
assingGlobalFunction( "rlSetUniformSampler", lrlglSetUniformSampler );
assingGlobalFunction( "rlSetShader", lrlglSetShader );
/* Compute shader management */

View File

@@ -160,6 +160,46 @@ int lrlglViewport( lua_State* L ) {
return 0;
}
/*
> RL.rlSetClipPlanes( float nearPlane, float farPlane )
Set clip planes distances
*/
int lrlglSetClipPlanes( lua_State* L ) {
float nearPlane = luaL_checknumber( L, 1 );
float farPlane = luaL_checknumber( L, 2 );
rlSetClipPlanes( nearPlane, farPlane );
return 0;
}
/*
> distance = RL.rlGetCullDistanceNear()
Get cull plane distance near
- Success return float
*/
int lrlglGetCullDistanceNear( lua_State* L ) {
lua_pushnumber( L, rlGetCullDistanceNear() );
return 1;
}
/*
> distance = RL.rlGetCullDistanceFar()
Get cull plane distance far
- Success return float
*/
int lrlglGetCullDistanceFar( lua_State* L ) {
lua_pushnumber( L, rlGetCullDistanceFar() );
return 1;
}
/*
## RLGL - Vertex level operations
*/
@@ -544,6 +584,19 @@ int lrlglDisableFramebuffer( lua_State* L ) {
return 0;
}
/*
> framebuffer = RL.rlGetActiveFramebuffer()
Get the currently active render texture (fbo), 0 for default framebuffer
- Success return int
*/
int lrlglGetActiveFramebuffer( lua_State* L ) {
lua_pushnumber( L, rlGetActiveFramebuffer() );
return 1;
}
/*
> RL.rlActiveDrawBuffers( int count )
@@ -570,6 +623,20 @@ int lrlglBlitFramebuffer( lua_State* L ) {
return 0;
}
/*
> RL.rlBindFramebuffer( int target, int framebuffer )
Bind framebuffer (FBO)
*/
int lrlglBindFramebuffer( lua_State* L ) {
int target = luaL_checkinteger( L, 1 );
int framebuffer = luaL_checkinteger( L, 1 );
rlBindFramebuffer( target, framebuffer );
return 0;
}
/*
## RLGL - General render state
*/
@@ -662,6 +729,22 @@ int lrlglDisableBackfaceCulling( lua_State* L ) {
return 0;
}
/*
> RL.rlColorMask( bool r, bool g, bool b, bool a )
Color mask control
*/
int lrlglColorMask( lua_State* L ) {
bool r = uluaGetBoolean( L, 1 );
bool g = uluaGetBoolean( L, 1 );
bool b = uluaGetBoolean( L, 1 );
bool a = uluaGetBoolean( L, 1 );
rlColorMask( r, g, b, a );
return 0;
}
/*
> RL.rlSetCullFace( int mode )
@@ -1702,6 +1785,30 @@ int lrlglSetUniformMatrix( lua_State* L ) {
return 0;
}
/*
> RL.rlSetUniformMatrices( int locIndex, Matrix{} mat )
Set shader value matrices
*/
int lrlglSetUniformMatrices( lua_State* L ) {
int locIndex = luaL_checkinteger( L, 1 );
int count = uluaGetTableLen( L, 2 );
Matrix mat[ count ];
int t = 2, i = 0;
lua_pushnil( L );
while ( lua_next( L, t ) != 0 ) {
mat[i] = uluaGetMatrix( L, lua_gettop( L ) );
i++;
lua_pop( L, 1 );
}
rlSetUniformMatrices( locIndex, mat, count );
return 0;
}
/*
> RL.rlSetUniformSampler( int locIndex, int textureId )