rendered paste bodyfunction widget:GetInfo() return { name = "!GL test", desc = "asd", author = "q", date = "Jan 8, 2007", license = "GNU GPL, v2 or later", layer = -3, enabled = false -- loaded by default? }end----------------------------------------------------------------------------------------------------------------------------------------------------------------m = 0firstTime = trueA = { -1, 1, 1}B = { 1, 1, 1}C = { 1, -1, 1}D = { -1, -1, 1}E = { -1, 1, -1}F = { 1, 1, -1}G = { 1, -1, -1}H = { -1, -1, -1}local vsx, vsy = widgetHandler:GetViewSizes()function widget:Initialize() cubeListNumber = gl.CreateList(function() gl.BeginEnd(GL.QUADS, function() Cube(A, B, C, D, E, F, G, H) end ) end )endfunction widget:Shutdown() gl.DeleteList(cubeListNumber)endfunction widget:ViewResize(viewSizeX, viewSizeY) vsx = viewSizeX vsy = viewSizeYendfunction widget:DrawScreen() m = m + 1 n = math.sin(m/100) gl.MatrixMode(GL.MODELVIEW) gl.PushMatrix() gl.Scale(vsy/16,vsy/16,vsy/16) gl.Translate( 5+n, 8+n, 20+2*n) gl.Rotate(m, 0, 1, 0) gl.Rotate(m, 0, 0, 1) gl.Culling( false ) gl.DepthTest( true ) gl.DepthMask( true ) gl.MatrixMode(GL.TEXTURE) gl.PushMatrix() gl.Rotate(-45, 0, 0, 1) gl.Texture("bitmaps/armsilo1.bmp") gl.CallList(cubeListNumber) gl.PopMatrix() gl.PopMatrix()endfunction Cube(A, B, C, D, E, F, G, H) Face(A, B, C, D) Face(E, F, G, H) Face(B, F, G, C) Face(A, E, H, D) Face(A, B, F, E) Face(D, C, G, H)endfunction Face(A, B, C, D) gl.TexCoord(-2, 2) gl.Vertex(A[1], A[2], A[3]) gl.TexCoord( 2, 2) gl.Vertex(B[1], B[2], B[3]) gl.TexCoord( 2,-2) gl.Vertex(C[1], C[2], C[3]) gl.TexCoord(-2,-2) gl.Vertex(D[1], D[2], D[3])end