diff options
| author | jussi | 2023-06-05 20:51:09 +0300 |
|---|---|---|
| committer | jussi | 2023-06-05 20:51:09 +0300 |
| commit | 0e77452a1b4f894e342dae5583f8b02f915e8f6d (patch) | |
| tree | 79e0f2697a1ee80138431734c42dfa4b3210e04d /src | |
| parent | 8ade9eeb436f1bc8090df698ccf24595cd21b5e3 (diff) | |
| download | reilua-enhanced-0e77452a1b4f894e342dae5583f8b02f915e8f6d.tar.gz reilua-enhanced-0e77452a1b4f894e342dae5583f8b02f915e8f6d.tar.bz2 reilua-enhanced-0e77452a1b4f894e342dae5583f8b02f915e8f6d.zip | |
Rest of rlgl General render state functions.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lua_core.c | 14 | ||||
| -rw-r--r-- | src/rlgl.c | 218 |
2 files changed, 232 insertions, 0 deletions
diff --git a/src/lua_core.c b/src/lua_core.c index 74c1d9e..7e0ead3 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -1519,10 +1519,24 @@ void luaRegister() { assingGlobalFunction( "rlEnableBackfaceCulling", lrlglEnableBackfaceCulling ); assingGlobalFunction( "rlDisableBackfaceCulling", lrlglDisableBackfaceCulling ); assingGlobalFunction( "rlSetCullFace", lrlglSetCullFace ); + assingGlobalFunction( "rlEnableScissorTest", lrlglEnableScissorTest ); + assingGlobalFunction( "rlDisableScissorTest", lrlglDisableScissorTest ); + assingGlobalFunction( "rlScissor", lrlglScissor ); + assingGlobalFunction( "rlEnableWireMode", lrlglEnableWireMode ); + assingGlobalFunction( "rlDisableWireMode", lrlglDisableWireMode ); assingGlobalFunction( "rlSetLineWidth", lrlglSetLineWidth ); assingGlobalFunction( "rlGetLineWidth", lrlglGetLineWidth ); assingGlobalFunction( "rlEnableSmoothLines", lrlglEnableSmoothLines ); assingGlobalFunction( "rlDisableSmoothLines", lrlglDisableSmoothLines ); + assingGlobalFunction( "rlEnableStereoRender", lrlglEnableStereoRender ); + assingGlobalFunction( "rlDisableStereoRender", lrlglDisableStereoRender ); + assingGlobalFunction( "rlIsStereoRenderEnabled", lrlglIsStereoRenderEnabled ); + assingGlobalFunction( "rlClearColor", lrlglClearColor ); + assingGlobalFunction( "rlClearScreenBuffers", lrlglClearScreenBuffers ); + assingGlobalFunction( "rlCheckErrors", lrlglCheckErrors ); + assingGlobalFunction( "rlSetBlendMode", lrlglSetBlendMode ); + assingGlobalFunction( "rlSetBlendFactors", lrlglSetBlendFactors ); + assingGlobalFunction( "rlSetBlendFactorsSeparate", lrlglSetBlendFactorsSeparate ); /* Initialization functions. */ assingGlobalFunction( "rlGetVersion", lrlglGetVersion ); /* Render batch management. */ @@ -724,6 +724,72 @@ int lrlglSetCullFace( lua_State *L ) { } /* +> RL.rlEnableScissorTest() + +Enable scissor test +*/ +int lrlglEnableScissorTest( lua_State *L ) { + rlEnableScissorTest(); + + return 0; +} + +/* +> RL.rlDisableScissorTest() + +Disable scissor test +*/ +int lrlglDisableScissorTest( lua_State *L ) { + rlDisableScissorTest(); + + return 0; +} + +/* +> success = RL.rlScissor( Rectangle area ) + +Scissor test + +- Failure return false +- Success return true +*/ +int lrlglScissor( lua_State *L ) { + if ( !lua_istable( L, 1 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL.rlScissor( Rectangle area )" ); + lua_pushboolean( L, false ); + return 1; + } + Rectangle area = uluaGetRectangleIndex( L, 1 ); + + rlScissor( area.x, area.y, area.width, area.height ); + lua_pushboolean( L, true ); + + return 1; +} + +/* +> RL.rlEnableWireMode() + +Enable wire mode +*/ +int lrlglEnableWireMode( lua_State *L ) { + rlEnableWireMode(); + + return 0; +} + +/* +> RL.rlDisableWireMode() + +Disable wire mode +*/ +int lrlglDisableWireMode( lua_State *L ) { + rlDisableWireMode(); + + return 0; +} + +/* > success = RL.rlSetLineWidth( float width ) Set the line drawing width @@ -779,6 +845,158 @@ int lrlglDisableSmoothLines( lua_State *L ) { } /* +> RL.rlEnableStereoRender() + +Enable stereo rendering +*/ +int lrlglEnableStereoRender( lua_State *L ) { + rlEnableStereoRender(); + + return 0; +} + +/* +> RL.rlDisableStereoRender() + +Enable stereo rendering +*/ +int lrlglDisableStereoRender( lua_State *L ) { + rlDisableStereoRender(); + + return 0; +} + +/* +> enabled = RL.rlIsStereoRenderEnabled() + +Check if stereo render is enabled + +- Success return bool +*/ +int lrlglIsStereoRenderEnabled( lua_State *L ) { + lua_pushboolean( L, rlIsStereoRenderEnabled() ); + + return 1; +} + +/* +> success = RL.rlClearColor( Color color ) + +Clear color buffer with color + +- Failure return false +- Success return true +*/ +int lrlglClearColor( lua_State *L ) { + if ( !lua_istable( L, 1 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL.rlClearColor( Color color )" ); + lua_pushboolean( L, false ); + return 1; + } + Color color = uluaGetColorIndex( L, 1 ); + + rlClearColor( color.r, color.g, color.b, color.a ); + lua_pushboolean( L, true ); + + return 1; +} + +/* +> RL.rlClearScreenBuffers() + +Clear used screen buffers ( color and depth ) +*/ +int lrlglClearScreenBuffers( lua_State *L ) { + rlClearScreenBuffers(); + + return 0; +} + +/* +> RL.rlCheckErrors() + +Check and log OpenGL error codes +*/ +int lrlglCheckErrors( lua_State *L ) { + rlCheckErrors(); + + return 0; +} + +/* +> success = RL.rlSetBlendMode( int mode ) + +Set blending mode + +- Failure return false +- Success return true +*/ +int lrlglSetBlendMode( lua_State *L ) { + if ( !lua_isnumber( L, 1 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL.rlSetBlendMode( int mode )" ); + lua_pushboolean( L, false ); + return 1; + } + rlSetBlendMode( lua_tointeger( L, 1 ) ); + lua_pushboolean( L, true ); + + return 1; +} + +/* +> success = RL.rlSetBlendFactors( int glSrcFactor, int glDstFactor, int glEquation ) + +Set blending mode factor and equation ( using OpenGL factors ) + +- Failure return false +- Success return true +*/ +int lrlglSetBlendFactors( lua_State *L ) { + if ( !lua_isnumber( L, 1 ) || !lua_isnumber( L, 2 ) || !lua_isnumber( L, 3 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL.rlSetBlendFactors( int glSrcFactor, int glDstFactor, int glEquation )" ); + lua_pushboolean( L, false ); + return 1; + } + int glSrcFactor = lua_tointeger( L, 1 ); + int glDstFactor = lua_tointeger( L, 2 ); + int glEquation = lua_tointeger( L, 3 ); + + rlSetBlendFactors( glSrcFactor, glDstFactor, glEquation ); + lua_pushboolean( L, true ); + + return 1; +} + +/* +> success = RL.rlSetBlendFactorsSeparate( int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha ) + +Set blending mode factors and equations separately ( using OpenGL factors ) + +- Failure return false +- Success return true +*/ +int lrlglSetBlendFactorsSeparate( lua_State *L ) { + if ( !lua_isnumber( L, 1 ) || !lua_isnumber( L, 2 ) || !lua_isnumber( L, 3 ) + || !lua_isnumber( L, 4 ) || !lua_isnumber( L, 5 ) || !lua_isnumber( L, 6 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL.rlSetBlendFactorsSeparate( int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha )" ); + lua_pushboolean( L, false ); + return 1; + } + int glSrcRGB = lua_tointeger( L, 1 ); + int glDstRGB = lua_tointeger( L, 2 ); + int glSrcAlpha = lua_tointeger( L, 3 ); + int glDstAlpha = lua_tointeger( L, 4 ); + int glEqRGB = lua_tointeger( L, 5 ); + int glEqAlpha = lua_tointeger( L, 6 ); + + rlSetBlendFactorsSeparate( glSrcRGB, glDstRGB, glSrcAlpha, glDstAlpha, glEqRGB, glEqAlpha ); + lua_pushboolean( L, true ); + + return 1; +} + + +/* ## RLGL - Initialization functions */ |
