Archived:Primitivas gráficas com OpenGL ES e PySymbian
Aquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.
Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)
Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)
Dados do artigo
O exemplo abaixo ilustra como desenhar primitivas gráficas do OpenGL ES no Symbian OS utilizando o PySymbian. No exemplo é renderizado um triângulo.
import appuifw
import glcanvas
import e32
from gles import *
vertices = array(GL_BYTE, 3,
( -1, 0, 0, # v1
0, 1, 0, # v2
1, 0, 0 # v3
))
class HelloOpenGL:
def __init__(self):
appuifw.app.exit_key_handler = self.sair # evento de saida
appuifw.app.screen = 'normal' # tipo da tela
appuifw.app.title = u"Exemplo OpenGL" # title pane
self.executando = 1 # estado da aplicacao
self.ogl_iniciado = 0 # estado do ogl
self.canvas = glcanvas.GLCanvas(redraw_callback = self.desenhar)
appuifw.app.body = self.canvas
self.initGl() # inicia o openGl
self.run() # inicia o loop da aplicacao
def initGl(self):
glClearColor( 0.0, 0.0, 0.0, 1.0 ) # cor de fundo
glClear( GL_COLOR_BUFFER_BIT ) # limpa o buffer com a cor definida acima
glVertexPointer(3, GL_BYTE, 0, vertices) # define o vertex array
glEnableClientState( GL_VERTEX_ARRAY ) # habilita o uso de vertex array
self.ogl_iniciado = 1 # altera o estado do ogl
def desenhar(self, frame):
if self.ogl_iniciado:
glDrawArrays( GL_TRIANGLES, 0, 3) # desenha o triangulo
def run(self):
while self.executando:
self.canvas.drawNow() # callback para redraw_callback do canvas
e32.ao_sleep(0.0001)
def sair(self):
self.canvas = None
self.executando = 0
instancia = HelloOpenGL()


(no comments yet)