Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import appuifw as A
- import glcanvas
- from gles import *
- class BelajarGL:
- vert=array(GL_BYTE,3,(
- -1,1,-1, 1,1,-1, 1,1,1, -1,1,1, #depan
- -1,-1,-1, 1,-1,-1, 1,-1,1, -1,-1,1, # belakang
- ))
- colors=array(GL_FLOAT,4,(
- [1.,0.,0.,0.], # merah
- [0.,1.,0.,0.], # hijau
- [1.,1.,0.,0], # kuning
- [0.,0.,1.,0.], # biru
- [1.,0.,0.,0.], # merah
- [0.,1.,0.,0.], # hijau
- [1.,1.,0.,0], # kuning
- [0.,0.,1.,0.], # biru
- ))
- line=array(GL_UNSIGNED_BYTE, 2, (
- 0,1, 1,2, 2,3, 3,0, # depan
- 4,5, 5,6, 6,7, 7,4, # belakang
- 1,5, 2,6, # kanan
- 0,4, 3,7, # kiri
- 0,6, 5,3 # silang
- ))
- def __init__(self):
- self.run=1
- A.app.screen='full'
- self.canvas=glcanvas.GLCanvas(redraw_callback=self.redraw)
- A.app.body=self.canvas
- A.app.exit_key_handler=self.stop
- self.initgl()
- while self.run:
- self.canvas.drawNow()
- A.e32.ao_sleep(1e-02)
- def stop(self):
- self.run=0
- del(self.canvas)
- def initgl(self):
- glViewport(0,0,self.canvas.size[0], self.canvas.size[1])
- glClearColor(0.,0.,0.,0.)
- glClearDepthf(1.0)
- glDepthFunc(GL_LESS)
- glEnable(GL_DEPTH_TEST)
- glShadeModel(GL_SMOOTH)
- glMatrixMode(GL_PROJECTION)
- glLoadIdentity()
- glFrustumf(-1.0, 1.0, -1.0, 1.0, 3.0, 100.0)
- glMatrixMode(GL_MODELVIEW)
- glEnableClientState( GL_VERTEX_ARRAY)
- glVertexPointerb(self.vert)
- glEnableClientState( GL_COLOR_ARRAY)
- glColorPointerf(self.colors)
- def redraw(self,frame):
- self.iFrame=frame
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
- glLoadIdentity()
- glScalef(1.0,1.0,0.3)
- glTranslatef(0.0,0.0,-20.)
- glRotatef(100,0.0,0.0,0.0)
- glRotatef(self.iFrame<<1,.0,.0,1.0)
- glDrawElementsub( GL_LINES, self.line)
- BelajarGL()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement