Shaders management functions.

This commit is contained in:
jussi
2023-10-31 02:11:46 +02:00
parent c3295e014d
commit 65fababd8d
10 changed files with 310 additions and 23 deletions

65
API.md
View File

@@ -6854,15 +6854,76 @@ Delete framebuffer from GPU
---
> success = RL.rlLoadShaderCode( string vsCode, string fsCode )
> shaderId = RL.rlLoadShaderCode( string vsCode, string fsCode )
Load shader from code strings
- Failure return nil
- Success return int
---
> shaderId = RL.rlCompileShader( string shaderCode, int type )
Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
- Success return int
---
> shaderProgramId = RL.rlLoadShaderProgram( int vShaderId, int fShaderId )
Load custom shader program
- Success return int
---
> RL.rlUnloadShaderProgram( int id )
Unload shader program
---
> location = RL.rlGetLocationUniform( int shaderId, string uniformName )
Get shader location uniform
- Success return int
---
> location = RL.rlGetLocationAttrib( int shaderId, string attribName )
Get shader location attribute
- Success return int
---
> RL.rlSetUniform( int locIndex, Buffer value, int uniformType, int count )
Set shader value uniform
---
> RL.rlSetUniformMatrix( int locIndex, Matrix mat )
Set shader value matrix
---
> RL.rlSetUniformSampler( int locIndex, int textureId )
Set shader value sampler
---
> RL.rlSetShader( int id, int{} locs )
Set shader currently active (id and locations)
---
## RLGL - Matrix state management
---