From 168f4959d4a265d7615a81b667917754ca85bfce Mon Sep 17 00:00:00 2001 From: jussi Date: Sun, 22 Oct 2023 22:14:56 +0300 Subject: rlgl Matrix state management API update. --- API.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ReiLua_API.lua | 61 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) diff --git a/API.md b/API.md index 08148d7..601cd69 100644 --- a/API.md +++ b/API.md @@ -7191,6 +7191,88 @@ Delete framebuffer from GPU --- +## RLGL - Matrix state management + +--- + +> modelview = RL.rlGetMatrixModelview() + +Get internal modelview matrix + +- Success return Matrix + +--- + +> projection = RL.rlGetMatrixProjection() + +Get internal projection matrix + +- Success return Matrix + +--- + +> transform = RL.rlGetMatrixTransform() + +Get internal accumulated transform matrix + +- Success return Matrix + +--- + +> projection = RL.rlGetMatrixProjectionStereo( int eye ) + +Get internal projection matrix for stereo render (selected eye) + +- Failure return false +- Success return Matrix + +--- + +> viewOffset = RL.rlGetMatrixViewOffsetStereo( int eye ) + +Get internal view offset matrix for stereo render (selected eye) + +- Failure return false +- Success return Matrix + +--- + +> success = RL.rlSetMatrixProjection( Matrix proj ) + +Set a custom projection matrix (replaces internal projection matrix) + +- Failure return false +- Success return true + +--- + +> success = RL.rlSetMatrixModelview( Matrix view ) + +Set a custom modelview matrix (replaces internal modelview matrix) + +- Failure return false +- Success return true + +--- + +> success = RL.rlSetMatrixProjectionStereo( Matrix right, Matrix left ) + +Set eyes projection matrices for stereo rendering + +- Failure return false +- Success return true + +--- + +> success = RL.rlSetMatrixViewOffsetStereo( Matrix right, Matrix left ) + +Set eyes view offsets matrices for stereo rendering + +- Failure return false +- Success return true + +--- + ## OpenGL - Framebuffer management --- diff --git a/ReiLua_API.lua b/ReiLua_API.lua index 881fb11..3b78623 100644 --- a/ReiLua_API.lua +++ b/ReiLua_API.lua @@ -6166,6 +6166,67 @@ function RL.rlFramebufferComplete( id ) end ---@return any success function RL.rlUnloadFramebuffer( id ) end +-- RLGL - Matrix state management + +---Get internal modelview matrix +---- Success return Matrix +---@return any modelview +function RL.rlGetMatrixModelview() end + +---Get internal projection matrix +---- Success return Matrix +---@return any projection +function RL.rlGetMatrixProjection() end + +---Get internal accumulated transform matrix +---- Success return Matrix +---@return any transform +function RL.rlGetMatrixTransform() end + +---Get internal projection matrix for stereo render (selected eye) +---- Failure return false +---- Success return Matrix +---@param eye integer +---@return any projection +function RL.rlGetMatrixProjectionStereo( eye ) end + +---Get internal view offset matrix for stereo render (selected eye) +---- Failure return false +---- Success return Matrix +---@param eye integer +---@return any viewOffset +function RL.rlGetMatrixViewOffsetStereo( eye ) end + +---Set a custom projection matrix (replaces internal projection matrix) +---- Failure return false +---- Success return true +---@param proj table +---@return any success +function RL.rlSetMatrixProjection( proj ) end + +---Set a custom modelview matrix (replaces internal modelview matrix) +---- Failure return false +---- Success return true +---@param view table +---@return any success +function RL.rlSetMatrixModelview( view ) end + +---Set eyes projection matrices for stereo rendering +---- Failure return false +---- Success return true +---@param right table +---@param left table +---@return any success +function RL.rlSetMatrixProjectionStereo( right, left ) end + +---Set eyes view offsets matrices for stereo rendering +---- Failure return false +---- Success return true +---@param right table +---@param left table +---@return any success +function RL.rlSetMatrixViewOffsetStereo( right, left ) end + -- OpenGL - Framebuffer management ---Copy a block of pixels from one framebuffer object to another. -- cgit v1.2.3