SlideShare una empresa de Scribd logo
Gráficas en 2D - OpenGL
Inicializacion
#se define a l i n i c i o e indica como debe proyectar l a imagen en l a
ventana gluOrtho2D(0.0,width,0.0,height)
#define una matriz de proyeccion ortogonal 2D
#se llama antes de redibujar e l contenido en l a pant alla #sino l a
nueva f igura se superpone a l a a n t e r i o r
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
#limpia l a pant alla
#borra e l contenido del buffer
Graficasen 2D - OpenGL
Vertices
Los verticessonla unidad basicadetrabajo enOpenGL. Cada figuradebe serdibujada especificando
previamente la posiciondesus vertices.
Funciones:
glVertex2f(x,y) #recibe x,y f l o a t glVertex2fv(v) #recibe un vector
glVertex2i(x,y) #recibe x,y i n t
Formaanalogapara3D.
Primitivas
Los verticespermitendaruna ”guıa” para posteriormente dibujarlas primitivas.
Funciones
glBegin(PRIMITIVA) #comienza a dibujar glEnd() #termina de dibujar
Graficas 2D - OpenGL - Primitivas
Graficas2D - OpenGL - Primitivas
Sintaxis
glBegin(PRIMITIVA) #inicio de l a figura
.
. #vertices de l a figura
.
glEnd() #fin de l a figura
Ejemplo
glBegin(GL_TRIANGLES)
glVertex2f(0.0, 0. 0)
glVertex2f(150.0, 0. 0)
glVertex2f(75.0, 100.0)
glEnd()
Graficas 2D - OpenGL
En el ejemplo anterior anterior OpenGL redibuja la figura en cada
frame, solamente seborra y la vuelve a dibujar en otro lugar.
Es posible tener una visionmas intuitiva del proceso?
Dibujar la figura una sola vez, almacenarla y posteriormente aplicar
transformaciones de:
Escalamiento Rotacion Traslacion
Transformaciones Geometricas
Traslaciones glTranslatef(x,y,z)
Aplica una transformacion de traslacioncon magnitud x,y,z
Escalamiento glScalef(x,y,z)
Aplica una transformacion de escala con los factores x,y,z en cada
eje. Valores negativos producen reflexiones en torno al eje.
Transformaciones Geometricas
Rotaciones glRotate(angle,x,y,z)
Aplica una transformacion de rotacion de ”angle” grados en torno al
eje (x,y,z) Rotacion segun la regla de la mano derecha, ´angulos en
contra las manecillas del reloj.
Rotacion respecto a un arbitrario
Se traslada al origen, seaplica rotaciony seretorna a la posicion
original.
Matriz de Transformacion
Cada transformacion se aplica sobre la actual matriz de
transformacion del modelo, que afecta a toda la escena.
(Multiplicacion de matrices).
Para aplicar transformaciones locales (no a toda la escena) se
debe guardar la matriz actual, aplicar transformaciones y
volver al estado anterior.
Uso de stack de matrices. Funciones glPushMatrix() (guardar
la matriz) y glPopMatrix() (restaurar la matriz).
NOTA: Aplicar transformaciones en orden inverso.
Graficas 2D - OpenGL
Ejemplo
def d i b u j a r ( ) :
lista=glGenLists(1) # i n t que determina l o s elementos a crear
glNewList(lista,GL_COMPILE)
#se dibuja de forma similar pero se carga en una l i s t a
glBegin(GL_TRIANGLES) glVertex2f(0.0, 0. 0)
glVertex2f(150.0, 0. 0)
glVertex2f(75.0, 100.0) glEnd()
glEndList()
def a c t u a l i z a r ( ) :
#para a c t u a l i z a r e l dibujo se llaman l a s #matrices de
transformacion glPushMatrix()
glColor4f(0, 0 , 1 , 0) #(R,G,B,ALPHA)
glTransla tef( x, y , z ) #transladar a ( x , y , z ) glScalef(coefX, coefY,
coefZ) #escalar segun coeficientes
glRotatef(angulo, x , y , z ) #rotar en angulo, segun e j e s x , y , z
g l C a l l L i s t ( l i s t a ) #llamar a l a l i s t a que guarda e l dibujo
glPopMatrix()

Más contenido relacionado

DOC
Laboratorio pds grafica de convolucion mas funcion mas vector
PDF
Guia de actividades
PPT
!Prograc10
PDF
Integrales por partes
PDF
AutoCAD Comandos utiles
PPTX
Concepto de derivada
DOCX
Desmostración de la función Sigmoide en gnuplot
PPTX
Más sobre funciones
Laboratorio pds grafica de convolucion mas funcion mas vector
Guia de actividades
!Prograc10
Integrales por partes
AutoCAD Comandos utiles
Concepto de derivada
Desmostración de la función Sigmoide en gnuplot
Más sobre funciones

La actualidad más candente (18)

PPT
Máxima ejercicio
PPT
Máxima ejercicio
PPT
Tema4 funcs elementales_3
PPT
Programación grafica en lenguaje c
PPSX
Inverse kinematics 2D
PPSX
Structural Errors computed by Stochastic Approach in a Robot Arm
PPT
Javascript
DOCX
Ejercicios en actionscript fundamentales
PPT
Reglas de derivadas
PDF
Matrices
PDF
Taller de repaso de metodos y arreglos
PPTX
Administración de memoria continuación -matrices estáticas y dinámicas
 
PDF
Presentación 13 Paso por referencia
PDF
Presentación 09 Cajas blanca
PPT
Matlab Función Arco Tangente
DOCX
Michael
DOCX
Programa en mat lab de runge kutta
PPTX
Función trigonometricas
Máxima ejercicio
Máxima ejercicio
Tema4 funcs elementales_3
Programación grafica en lenguaje c
Inverse kinematics 2D
Structural Errors computed by Stochastic Approach in a Robot Arm
Javascript
Ejercicios en actionscript fundamentales
Reglas de derivadas
Matrices
Taller de repaso de metodos y arreglos
Administración de memoria continuación -matrices estáticas y dinámicas
 
Presentación 13 Paso por referencia
Presentación 09 Cajas blanca
Matlab Función Arco Tangente
Michael
Programa en mat lab de runge kutta
Función trigonometricas
Publicidad

Similar a Opengl (20)

PDF
OpenGL_Introduccion_Bases_Educacion_Fundamentos.PDF
PDF
Mini introopengl
PDF
Introducción a las librerías PyGame y PyOpenGL
DOC
Estela y naye
PPT
Introduccion al OpenGL
PDF
Programación Open GL ES en iPhone e iPod touch
PDF
Intro opengl
DOCX
Proyecto de reneya terminado
DOCX
Proyecto de reneya terminado
DOCX
Manual de actividades
DOCX
Manual de practicas segundo parcial
PDF
DOCX
Practicas OpenglC++
PDF
Buenooo opengl
DOCX
Renee opengl karla
PDF
Iniciación a OpenGL
DOCX
Open gl tutorial diana hernandez 303
DOCX
Manual de practicas de Open GL
PDF
Primitivas
OpenGL_Introduccion_Bases_Educacion_Fundamentos.PDF
Mini introopengl
Introducción a las librerías PyGame y PyOpenGL
Estela y naye
Introduccion al OpenGL
Programación Open GL ES en iPhone e iPod touch
Intro opengl
Proyecto de reneya terminado
Proyecto de reneya terminado
Manual de actividades
Manual de practicas segundo parcial
Practicas OpenglC++
Buenooo opengl
Renee opengl karla
Iniciación a OpenGL
Open gl tutorial diana hernandez 303
Manual de practicas de Open GL
Primitivas
Publicidad

Último (20)

PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
Presentación de Redes de Datos modelo osi
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPT
Que son las redes de computadores y sus partes
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
historia_web de la creacion de un navegador_presentacion.pptx
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Influencia-del-uso-de-redes-sociales.pdf
Presentación de Redes de Datos modelo osi
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Plantilla para Diseño de Narrativas Transmedia.pdf
Zarate Quispe Alex aldayir aplicaciones de internet .docx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Que son las redes de computadores y sus partes
Estrategia de apoyo tecnología miguel angel solis
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
CyberOps Associate - Cisco Networking Academy
Diapositiva proyecto de vida, materia catedra
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Estrategia de apoyo tecnología grado 9-3
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
REDES INFORMATICAS REDES INFORMATICAS.pptx

Opengl

  • 1. Gráficas en 2D - OpenGL Inicializacion #se define a l i n i c i o e indica como debe proyectar l a imagen en l a ventana gluOrtho2D(0.0,width,0.0,height) #define una matriz de proyeccion ortogonal 2D #se llama antes de redibujar e l contenido en l a pant alla #sino l a nueva f igura se superpone a l a a n t e r i o r glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) #limpia l a pant alla #borra e l contenido del buffer
  • 2. Graficasen 2D - OpenGL Vertices Los verticessonla unidad basicadetrabajo enOpenGL. Cada figuradebe serdibujada especificando previamente la posiciondesus vertices. Funciones: glVertex2f(x,y) #recibe x,y f l o a t glVertex2fv(v) #recibe un vector glVertex2i(x,y) #recibe x,y i n t Formaanalogapara3D. Primitivas Los verticespermitendaruna ”guıa” para posteriormente dibujarlas primitivas. Funciones glBegin(PRIMITIVA) #comienza a dibujar glEnd() #termina de dibujar
  • 3. Graficas 2D - OpenGL - Primitivas
  • 4. Graficas2D - OpenGL - Primitivas Sintaxis glBegin(PRIMITIVA) #inicio de l a figura . . #vertices de l a figura . glEnd() #fin de l a figura Ejemplo glBegin(GL_TRIANGLES) glVertex2f(0.0, 0. 0) glVertex2f(150.0, 0. 0) glVertex2f(75.0, 100.0) glEnd()
  • 5. Graficas 2D - OpenGL En el ejemplo anterior anterior OpenGL redibuja la figura en cada frame, solamente seborra y la vuelve a dibujar en otro lugar. Es posible tener una visionmas intuitiva del proceso? Dibujar la figura una sola vez, almacenarla y posteriormente aplicar transformaciones de: Escalamiento Rotacion Traslacion
  • 6. Transformaciones Geometricas Traslaciones glTranslatef(x,y,z) Aplica una transformacion de traslacioncon magnitud x,y,z Escalamiento glScalef(x,y,z) Aplica una transformacion de escala con los factores x,y,z en cada eje. Valores negativos producen reflexiones en torno al eje.
  • 7. Transformaciones Geometricas Rotaciones glRotate(angle,x,y,z) Aplica una transformacion de rotacion de ”angle” grados en torno al eje (x,y,z) Rotacion segun la regla de la mano derecha, ´angulos en contra las manecillas del reloj. Rotacion respecto a un arbitrario Se traslada al origen, seaplica rotaciony seretorna a la posicion original.
  • 8. Matriz de Transformacion Cada transformacion se aplica sobre la actual matriz de transformacion del modelo, que afecta a toda la escena. (Multiplicacion de matrices). Para aplicar transformaciones locales (no a toda la escena) se debe guardar la matriz actual, aplicar transformaciones y volver al estado anterior. Uso de stack de matrices. Funciones glPushMatrix() (guardar la matriz) y glPopMatrix() (restaurar la matriz). NOTA: Aplicar transformaciones en orden inverso.
  • 9. Graficas 2D - OpenGL Ejemplo def d i b u j a r ( ) : lista=glGenLists(1) # i n t que determina l o s elementos a crear glNewList(lista,GL_COMPILE) #se dibuja de forma similar pero se carga en una l i s t a glBegin(GL_TRIANGLES) glVertex2f(0.0, 0. 0) glVertex2f(150.0, 0. 0) glVertex2f(75.0, 100.0) glEnd() glEndList() def a c t u a l i z a r ( ) : #para a c t u a l i z a r e l dibujo se llaman l a s #matrices de transformacion glPushMatrix() glColor4f(0, 0 , 1 , 0) #(R,G,B,ALPHA) glTransla tef( x, y , z ) #transladar a ( x , y , z ) glScalef(coefX, coefY, coefZ) #escalar segun coeficientes glRotatef(angulo, x , y , z ) #rotar en angulo, segun e j e s x , y , z g l C a l l L i s t ( l i s t a ) #llamar a l a l i s t a que guarda e l dibujo glPopMatrix()