RLGL Hello triangle example.

This commit is contained in:
jussi
2023-12-14 23:08:19 +02:00
parent 5ebdba6af0
commit ba4595305f
11 changed files with 254 additions and 87 deletions

View File

@@ -884,6 +884,21 @@ int lcoreIsShaderReady( lua_State *L ) {
return 1;
}
/*
> shaderId = RL.GetShaderId( Shader shader )
Get shader program id
- Success return int
*/
int lcoreGetShaderId( lua_State *L ) {
Shader *shader = uluaGetShader( L, 1 );
lua_pushinteger( L, shader->id );
return 1;
}
/*
> location = RL.GetShaderLocation( Shader shader, string uniformName )

View File

@@ -1225,6 +1225,7 @@ void luaRegister() {
assingGlobalFunction( "LoadShader", lcoreLoadShader );
assingGlobalFunction( "LoadShaderFromMemory", lcoreLoadShaderFromMemory );
assingGlobalFunction( "IsShaderReady", lcoreIsShaderReady );
assingGlobalFunction( "GetShaderId", lcoreGetShaderId );
assingGlobalFunction( "GetShaderLocation", lcoreGetShaderLocation );
assingGlobalFunction( "GetShaderLocationAttrib", lcoreGetShaderLocationAttrib );
assingGlobalFunction( "SetShaderLocationIndex", lcoreSetShaderLocationIndex );
@@ -1497,6 +1498,7 @@ void luaRegister() {
assingGlobalFunction( "GetImageAlphaBorder", ltexturesGetImageAlphaBorder );
assingGlobalFunction( "GetImageColor", ltexturesGetImageColor );
/* Image configuration functions. */
assingGlobalFunction( "GetImageData", ltexturesGetImageData );
assingGlobalFunction( "GetImageSize", ltexturesGetImageSize );
assingGlobalFunction( "GetImageMipmaps", ltexturesGetImageMipmaps );
assingGlobalFunction( "GetImageFormat", ltexturesGetImageFormat );

View File

@@ -1105,7 +1105,7 @@ int lrlglUnloadVertexBuffer( lua_State *L ) {
/*
> RL.rlSetVertexAttribute( int index, int compSize, int type, bool normalized, int stride, int pointer )
Set vertex attribute
Set vertex attribute. Note! Pointer should be given in size of bytes
*/
int lrlglSetVertexAttribute( lua_State *L ) {
int index = luaL_checkinteger( L, 1 );
@@ -1115,7 +1115,7 @@ int lrlglSetVertexAttribute( lua_State *L ) {
int stride = luaL_checkinteger( L, 5 );
int pointer = luaL_checkinteger( L, 6 );
rlSetVertexAttribute( index, compSize, type, normalized, stride, &pointer );
rlSetVertexAttribute( index, compSize, type, normalized, stride, (void*)( pointer * sizeof( char ) ) );
return 0;
}

View File

@@ -839,6 +839,28 @@ int ltexturesGetImageColor( lua_State *L ) {
## Textures - Image configuration functions
*/
/*
> imageData = RL.GetImageData( Image image )
Get image data as Buffer
- Success return Buffer
*/
int ltexturesGetImageData( lua_State *L ) {
Image *image = uluaGetImage( L, 1 );
Buffer buffer = (Buffer){
.type = BUFFER_UNSIGNED_CHAR,
.size = GetPixelDataSize( image->width, image->height, image->format ),
};
buffer.data = malloc( buffer.size * sizeof( unsigned char ) );
memcpy( buffer.data, image->data, buffer.size );
uluaPushBuffer( L, buffer );
return 1;
}
/*
> size = RL.GetImageSize( Image image )