Advertisement
phjoe

GL 1

Jan 11th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import appuifw as A
  2. import glcanvas
  3. from gles import *
  4.  
  5. class BelajarGL:
  6.  vert=array(GL_BYTE,3,(
  7.   -1,1,-1, 1,1,-1, 1,1,1, -1,1,1, #depan
  8.   -1,-1,-1, 1,-1,-1, 1,-1,1, -1,-1,1, # belakang
  9.   ))
  10.  colors=array(GL_FLOAT,4,(
  11.   [1.,0.,0.,0.], # merah
  12.   [0.,1.,0.,0.], # hijau
  13.   [1.,1.,0.,0], # kuning
  14.   [0.,0.,1.,0.], # biru
  15.   [1.,0.,0.,0.], # merah
  16.   [0.,1.,0.,0.], # hijau
  17.   [1.,1.,0.,0], # kuning
  18.   [0.,0.,1.,0.], # biru
  19.   ))
  20.  line=array(GL_UNSIGNED_BYTE, 2, (
  21.   0,1, 1,2, 2,3, 3,0, # depan
  22.   4,5, 5,6, 6,7, 7,4, # belakang
  23.   1,5, 2,6, # kanan
  24.   0,4, 3,7, # kiri
  25.   0,6, 5,3 # silang
  26.  ))
  27.  
  28.  def __init__(self):
  29.   self.run=1
  30.   A.app.screen='full'
  31.   self.canvas=glcanvas.GLCanvas(redraw_callback=self.redraw)
  32.   A.app.body=self.canvas
  33.   A.app.exit_key_handler=self.stop
  34.   self.initgl()
  35.   while self.run:
  36.    self.canvas.drawNow()
  37.    A.e32.ao_sleep(1e-02)
  38.  
  39.  def stop(self):
  40.   self.run=0
  41.   del(self.canvas)
  42.  
  43.  def initgl(self):
  44.   glViewport(0,0,self.canvas.size[0], self.canvas.size[1])
  45.   glClearColor(0.,0.,0.,0.)
  46.   glClearDepthf(1.0)
  47.   glDepthFunc(GL_LESS)
  48.   glEnable(GL_DEPTH_TEST)
  49.   glShadeModel(GL_SMOOTH)
  50.   glMatrixMode(GL_PROJECTION)
  51.  
  52.   glLoadIdentity()
  53.   glFrustumf(-1.0, 1.0, -1.0, 1.0, 3.0, 100.0)
  54.   glMatrixMode(GL_MODELVIEW)
  55.  
  56.   glEnableClientState( GL_VERTEX_ARRAY)
  57.   glVertexPointerb(self.vert)
  58.  
  59.   glEnableClientState( GL_COLOR_ARRAY)
  60.   glColorPointerf(self.colors)
  61.  
  62.  def redraw(self,frame):
  63.   self.iFrame=frame
  64.   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
  65.   glLoadIdentity()
  66.   glScalef(1.0,1.0,0.3)
  67.   glTranslatef(0.0,0.0,-20.)
  68.   glRotatef(100,0.0,0.0,0.0)
  69.   glRotatef(self.iFrame<<1,.0,.0,1.0)
  70.   glDrawElementsub( GL_LINES, self.line)
  71.  
  72. BelajarGL()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement