Documentation, heightmap example and custom begin and end draw.

This commit is contained in:
jussi
2022-02-22 19:09:57 +02:00
parent a7f58b3261
commit 30ae308c9b
11 changed files with 167 additions and 6 deletions

View File

@@ -494,6 +494,28 @@ int lcoreClearBackground( lua_State *L ) {
return 1;
}
/*
> RL_BeginDrawing()
Setup canvas ( framebuffer ) to start drawing
*/
int lcoreBeginDrawing( lua_State *L ) {
BeginDrawing();
return 1;
}
/*
> RL_EndDrawing()
End canvas drawing and swap buffers ( double buffering )
*/
int lcoreEndDrawing( lua_State *L ) {
EndDrawing();
return 1;
}
/*
> success = RL_BeginBlendMode( int mode )

View File

@@ -228,6 +228,10 @@ bool luaCallMain() {
/* If web, set path to resources folder. */
#ifdef EMSCRIPTEN
sprintf( path, "resources/main.lua" );
/* Alternatively look for main. Could be precompiled binary file. */
if ( !FileExists( path ) ) {
sprintf( path, "resources/main" );
}
#else
sprintf( path, "%smain.lua", state->exePath );
/* Alternatively look for main. Could be precompiled binary file. */
@@ -347,6 +351,8 @@ void luaRegister() {
lua_register( L, "RL_IsCursorOnScreen", lcoreIsCursorOnScreen );
/* Drawing. */
lua_register( L, "RL_ClearBackground", lcoreClearBackground );
lua_register( L, "RL_BeginDrawing", lcoreBeginDrawing );
lua_register( L, "RL_EndDrawing", lcoreEndDrawing );
lua_register( L, "RL_BeginBlendMode", lcoreBeginBlendMode );
lua_register( L, "RL_EndBlendMode", lcoreEndBlendMode );
lua_register( L, "RL_BeginScissorMode", lcoreBeginScissorMode );

View File

@@ -939,7 +939,14 @@ int lmodelsGenMeshHeightmap( lua_State *L ) {
}
Vector3 size = uluaGetVector3( L );
lua_pop( L, 1 );
Image *heightmap = state->images[ lua_tointeger( L, -1 ) ];
size_t imageId = lua_tointeger( L, -1 );
if ( !validImage( imageId ) ) {
lua_pushboolean( L, false );
return 1;
}
Image *heightmap = state->images[ imageId ];
int i = 0;
for ( i = 0; i < state->meshCount; i++ ) {
@@ -1112,7 +1119,7 @@ int lmodelsDrawMesh( lua_State *L ) {
return 1;
}
/* TODO Needs shader to work. Test it when we have shaders. */
/* TODO Not testet. */
/*
> success = RL_DrawMeshInstanced( Mesh mesh, Material material, Matrix{} transforms, int instances )