43 lines
924 B
Lua
43 lines
924 B
Lua
local gl = require "luagl"
|
|
local iup = require "iuplua"
|
|
require "iupluagl"
|
|
|
|
local function paint()
|
|
gl.ClearColor(0.3,0.3,0.3,0.0)
|
|
gl.Clear"COLOR_BUFFER_BIT,DEPTH_BUFFER_BIT"
|
|
|
|
gl.ShadeModel"SMOOTH"
|
|
|
|
gl.LoadIdentity()
|
|
gl.Translate(-15.0, -15.0, 0.0)
|
|
|
|
gl.Begin"TRIANGLES"
|
|
gl.Color(1.0, 0.0, 0.0)
|
|
gl.Vertex(0.0, 0.0)
|
|
gl.Color(0.0, 1.0, 0.0)
|
|
gl.Vertex(30.0, 0.0)
|
|
gl.Color(0.0, 0.0, 1.0)
|
|
gl.Vertex(0.0, 30.0)
|
|
gl.End()
|
|
|
|
gl.Flush()
|
|
end
|
|
|
|
local function reshape(width, height)
|
|
gl.Viewport(0, 0, width, height)
|
|
gl.MatrixMode"PROJECTION"
|
|
gl.LoadIdentity()
|
|
gl.Ortho(-30.0, 30.0, -30.0, 30.0, -30.0, 30.0)
|
|
gl.MatrixMode"MODELVIEW"
|
|
end
|
|
|
|
local glc = iup.glcanvas{rastersize="640x480"}
|
|
function glc:action() paint() end
|
|
function glc:resize_cb(w,h) reshape(w,h) end
|
|
function glc:map_cb() iup.GLMakeCurrent(self) end
|
|
|
|
local dlg = iup.dialog{title="Triangle", shrink="yes"; glc}
|
|
dlg:show()
|
|
|
|
iup.MainLoop()
|