×
Namespaces

Variants
Actions

Archived:Primitivas gráficas com OpenGL ES e PySymbian

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: 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)


Article Metadata

Artigo
Criado por cabezonxdg em 10 Sep 2008
Última alteração feita por hamishwillee em 31 May 2013

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()
This page was last modified on 31 May 2013, at 04:05.
47 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×