New raylib 5.5 rlgl functions.
This commit is contained in:
@@ -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 */
|
||||
|
||||
107
src/rlgl.c
107
src/rlgl.c
@@ -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 )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user