Opengl

Páginas: 6 (1381 palabras) Publicado: 26 de marzo de 2012
Introducción a OpenGL

Qué es OpenGL
• Librerías gráficas que facilitan el interfaz con el Hw gráfico • Independiente del Hardware • Primitivas geométricas básicas • No incluye gestión de ventanas, teclado, etc.

Qué permite OpenGL
• Describir la geometría de los objetos a partir de las primitivas básicas • Situar los objetos y el punto de vista • Cálculo de color, incluyendo iluminación,texturas, etc. • Generación de la imagen final, efectuando operaciones de culling, z-buffer, etc.

Introducción
• OpenGL como máquina de estados • Algunas propiedades mantienen su valor hasta que se les asigne otro o se desactive. • glEnable/glDisable • Valores por defecto • Funciones de acceso al valor actual

Introducción
• • • • Color actual. Punto de vista. Transformaciones deproyección. Estilo de líneas y polígonos.

Introducción
• Modos de dibujar polígonos. • Posición y características de las fuentes de iluminación. • Propiedades de los materiales de los objetos

Introducción
• Librerías afines a OpenGL
– OpenGL Utility Library (GLU) – OpenGL Auxiliary Library (AUX) /GLUT – OpenGL Extention to the X Windows System (GLX)

Introducción
• Librerías:
–http://www.opengl3d.org – http://mesa3d.sourceforge.net – http://www.sgi.com/software/opengl/glut.html

Sintaxis de OpenGL
• Funciones con prefijo gl • Constantes con prefijo GL_ • Algunas funciones con sufijo
– Número de parámetros – Tipo de los parámetros glColor3f() glVertex3i()

Tipos de datos

Son equivalentes: glVertex2i (1, 3); glVertex2f (1.0, 3.0); Son equivalentes: glColor3f (1.0, 1.0, 1.0);float color_array[] = {1.0, 1.0, 1.0}; glColor3fv (color_array);

main () { AbrirVentana (); glClearColor (0.0, 0.0, 0.0, 0.0); glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 1.0, 1.0); glOrtho (-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); glBegin (GL_POLYGON); glVertex2f (-0.5, -0.5); glVertex2f (-0.5, 0.5); glVertex2f ( 0.5, 0.5); glVertex2f ( 0.5, -0.5); glEnd (); glFlush (); }

Dibujar en 3D

•Limpiar ventana
void glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); void glClear (GLbitfield mask);

Posibles Buffers:
GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT GL_ACCUM_BUFFER_BIT GL_STENCIL_BUFFER_BIT

• Valor por defecto: (0,0,0,0) • Ejemplo: glClearColor (0.5, 0.5, 0.5, 0.0); glClear (GL_COLOR_BUFFER_BIT);

• Especificar color
void glColor3f(GLclampf red,GLclampf green, GLclampf blue);
Función glColor3f () glColor3f (0.0, 0.0, 0.0); glColor3f (1.0, 0.0, 0.0); glColor3f (0.0, 1.0, 0.0); glColor3f (1.0, 1.0, 0.0); glColor3f (0.0, 0.0, 1.0); glColor3f (1.0, 0.0, 1.0); glColor3f (0.0, 1.0, 1.0); glColor3f (1.0, 1.0, 1.0); Color negro rojo verde amarillo azul magenta cian blanco

• Forzar a la Finalización del Dibujo. void glFlush (void); Fuerza a loscomandos de OpenGl a finalizar su ejecución en un tiempo finito a partir de este momento

Vértices
• void glVertex{234}{sifd}{v} (TYPE coords);
Ej.: glVertex3f(10.0f, 5.0f, 3.0f)

Primitivas
• Interpretación de un conjunto de vértices, dibujados de una manera específica en pantalla.

Puntos (GL_POINTS)
• Los vértices se interpretan como puntos

Puntos (GL_POINTS)
• Tamaño de puntovoid glPointSize (GLfloat size); Por defecto size=1 • Rango de valores posibles glGetFloatv (GL_POINT_SIZE_RANGE);

Líneas (GL_LINES)

Tiras de líneas

Líneas
• Grosor de la línea void glLineWidth (GLfloat width); • Patrón de línea void glLineStipple (Glint factor, Glshort pattern); Es necesario activarlo/desactivarlo glEnable (GL_LINE_STIPPLE) glDisable (GL_LINE_STIPPLE)

Líneas//color de fondo glClearColor(1.0, 1.0, 0.8, 1.0); glClear(GL_COLOR_BUFFER_BIT); //color de dibujo glColor3f (0.0, 0.0, 0.0); //grosor de línea glLineWidth(2.0); //se activa el patrón de línea glEnable(GL_LINE_STIPPLE); for(i=1;i=360) angulo=0.0; funcionDePintado(); }

int main(int argc, char** argv) { auxInitDisplayMode (AUX_SINGLE | AUX_RGB); auxInitPosition (0, 0, 250, 250); auxInitWindow...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Opengl
  • Opengl
  • Opengl
  • Opengl
  • que es OpenGL?
  • Opengl
  • Java OpenGL
  • Robot en opengl

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS