summaryrefslogtreecommitdiff
path: root/examples/rlgl/main.lua
diff options
context:
space:
mode:
authorjussi2023-10-11 15:19:54 +0300
committerjussi2023-10-11 15:19:54 +0300
commitc3352b8ed7becfef5a175f763241d77afdf24b02 (patch)
treea1755b6b513c165361dbf7cd5ccfffffd62fa2f1 /examples/rlgl/main.lua
parent8311dfd354f136333a6fc5084ef2f7a637339959 (diff)
downloadreilua-enhanced-c3352b8ed7becfef5a175f763241d77afdf24b02.tar.gz
reilua-enhanced-c3352b8ed7becfef5a175f763241d77afdf24b02.tar.bz2
reilua-enhanced-c3352b8ed7becfef5a175f763241d77afdf24b02.zip
isValidRenderTexture fix.
Diffstat (limited to 'examples/rlgl/main.lua')
-rw-r--r--examples/rlgl/main.lua62
1 files changed, 43 insertions, 19 deletions
diff --git a/examples/rlgl/main.lua b/examples/rlgl/main.lua
index 7792f75..ac6bf53 100644
--- a/examples/rlgl/main.lua
+++ b/examples/rlgl/main.lua
@@ -2,8 +2,6 @@
local monitor = 0
local texture = -1
-local vaoId = -1
-local vboId = -1
local triSize = 32.0
local vertices = {
0.0, 0.0, 0.0,
@@ -16,6 +14,39 @@ local colors = {
RL.BLUE, RL.BLUE, RL.BLUE
}
+local VBO_VERTEX_POS = 0
+local VBO_COLOR_POS = 1
+
+local mesh = {
+ vaoId = -1,
+ vboIds = {
+ vertices = -1,
+ colors = -1,
+ }
+}
+
+function uploadMesh()
+ mesh.vaoId = RL.rlLoadVertexArray()
+
+ RL.rlEnableVertexArray( mesh.vaoId )
+
+ -- Vertices.
+ mesh.vboIds.vertices = RL.rlLoadVertexBuffer( vertices, RL.RL_FLOAT, false )
+ RL.rlSetVertexAttribute( VBO_VERTEX_POS, 3, RL.RL_FLOAT, false, 0, 0 )
+ RL.rlEnableVertexAttribute( VBO_VERTEX_POS )
+ -- Colors.
+ mesh.vboIds.colors = RL.rlLoadVertexBuffer( vertices, RL.RL_UNSIGNED_BYTE, false )
+ RL.rlSetVertexAttribute( VBO_COLOR_POS, 4, RL.RL_UNSIGNED_BYTE, false, 0, 0 )
+ RL.rlEnableVertexAttribute( VBO_COLOR_POS )
+
+ RL.rlDisableVertexArray()
+
+ print( "Mesh:" )
+ print( "\tvaoId: "..mesh.vaoId )
+ print( "\tvboIds.vertices: "..mesh.vboIds.vertices )
+ print( "\tvboIds.colors: "..mesh.vboIds.colors )
+end
+
function RL.init()
local mPos = RL.GetMonitorPosition( monitor )
local mSize = RL.GetMonitorSize( monitor )
@@ -25,32 +56,25 @@ function RL.init()
RL.SetWindowState( RL.FLAG_VSYNC_HINT )
RL.SetWindowPosition( { mPos[1] + mSize[1] / 2 - winSize[1] / 2, mPos[2] + mSize[2] / 2 - winSize[2] / 2 } )
- vaoId = RL.rlLoadVertexArray()
-
- RL.rlEnableVertexArray( vaoId )
- -- vboId = RL.rlLoadVertexBuffer( vertexBuffer, RL.RL_UNSIGNED_BYTE, false )
- vboId = RL.rlLoadVertexBuffer( vertices, RL.RL_FLOAT, false )
- RL.rlSetVertexAttribute( 0, 3, RL.RL_FLOAT, false, 0, 0 )
- RL.rlEnableVertexAttribute( 0 )
-
- RL.rlDisableVertexArray()
-
- -- RL.DrawMesh( )
+ uploadMesh()
+end
- -- print( "vaoId", vaoId )
- -- print( "vboId", vboId )
+function drawMesh()
end
function RL.draw()
RL.ClearBackground( { 100, 150, 100 } )
end
+-- You need to manually free resources.
function RL.exit()
- if 0 <= vaoId then
- RL.rlUnloadVertexArray( vaoId )
+ if 0 <= mesh.vaoId then
+ RL.rlUnloadVertexArray( mesh.vaoId )
end
- if 0 <= vboId then
- RL.rlUnloadVertexBuffer( vboId )
+ for _, vboId in pairs( mesh.vboIds ) do
+ if 0 <= vboId then
+ RL.rlUnloadVertexBuffer( vboId )
+ end
end
end \ No newline at end of file