Actualizado el 15 de Junio del 2021 (Publicado el 27 de Julio del 2017)
2.425 visualizaciones desde el 27 de Julio del 2017
630,6 KB
85 paginas
Creado hace 22a (31/12/2002)
Curso de introducción a OpenGL (v1.0)
Por Jorge García (Bardok)
Este manual ha sido realizado para el e-ghost, por Jorge García, está sujeto a la licencia
FDL (GNU Free Document License), y confiere los derechos y obligaciones pertinentes.
© 2003 - Jorge García (Bardok)
Curso de introducción a OpenGL (v1.0)
Índice de contenido
Capítulo 1: Introducción.............................................................................................................7
1.1 Propósito de este manual...............................................................................................7
1.2 ¿A quién está dirigido?...................................................................................................7
1.3 Acerca del manual..........................................................................................................8
Capítulo 2: OpenGL y Linux......................................................................................................9
2.1 La librería OpenGL.........................................................................................................9
2.2 Linux y OpenGL..............................................................................................................9
2.2.1 ¿Qué es necesario para desarrollar aplicaciones OpenGL?............................10
Capítulo 3: Conceptos básicos sobre OpenGL.....................................................................13
3.1 OpenGL como máquina de estados............................................................................13
3.2 El espacio 3D................................................................................................................14
3.2.1 Las transformaciones de los objetos...................................................................14
3.2.2 Las coordenadas homogéneas...........................................................................16
3.3 Sobre GLUT..................................................................................................................17
3.4 Las funciones básicas de OpenGL.............................................................................17
3.4.1 Activación/desactivación de opciones.................................................................17
3.4.2 Las matrices y OpenGL........................................................................................17
3.4.3 El dibujado en OpenGL........................................................................................18
3.4.4 El color en OpenGL..............................................................................................19
3.4.5 La orientación de las caras en OpenGL.............................................................19
3.4.6 Las transformaciones en OpenGL......................................................................20
3.4.7 La proyección en OpenGL...................................................................................20
3.5 Primer contacto con OpenGL......................................................................................21
3.5.1 Mi primer programa OpenGL...............................................................................21
3.5.2 Visualizando en perspectiva................................................................................23
3.5.3 Ocultación de objetos (Z-Buffer)..........................................................................25
3.5.4 Una jerarquía sencilla...........................................................................................27
Capítulo 4: Animaciones..........................................................................................................31
4.1 Los vectores para animar figuras................................................................................31
4.2 El doble buffering..........................................................................................................35
Capítulo 5: Iluminación............................................................................................................37
5.1 El modelo de iluminación en OpenGL.........................................................................37
5.1.1 Luces.....................................................................................................................38
5.1.2 Materiales..............................................................................................................38
5.1.3 Normales...............................................................................................................38
5.2 Utilizando iluminación en OpenGL..............................................................................39
5.2.1 Luces.....................................................................................................................39
5.2.2 Materiales..............................................................................................................41
5.2.3 Ejemplo: iluminación direccional sobre una superficie......................................42
5.2.4 Ejemplo: moviendo un foco alrededor de una esfera........................................43
5.2.5 Ejercicio propuesto...............................................................................................45
Capítulo 6: Texturas.................................................................................................................47
6.1 Las coordenadas de textura........................................................................................47
6.2 Aplicar las texturas.......................................................................................................48
6.2.1 Repetición de texturas..........................................................................................50
Capítulo 7: Interacción básica con GLUT..............................................................................53
7.1 Interacción con el teclado............................................................................................53
7.2 Redimensionado de la ventana...................................................................................54
Capítulo 8: Recursos de interés..............................................................................................57
© 2003 - Jorge García (Bardok)
3
Curso de introducción a OpenGL (v1.0)
Anexo A: Código de los programas de ejemplo....................................................................59
A.a myfirstopenglprogram.c...............................................................................................59
A.b quadortho.c...................................................................................................................60
A.c quadpersp.c..................................................................................................................61
A.d zbuffer-yes.c.................................................................................................................62
A.e simpleguy.c...................................................................................................................63
A.f sphere-rebotes.cpp.......................................................................................................66
A.g sphere-rebotes-multi.cpp.............................................................................................69
A.h normals-perp.c..............................................................................................................70
A.i lit-sphere.c......................................................................................................................71
A.j l-sphere-rebotes-multi.cpp............................................................................................73
A.k triang-texture.c..............................................................................................................77
A.l normals-perp-texture.c..................................................................................................78
A.m texture-no-clamp.c + texture-yes-clamp.c.................................................................80
A.n lit-sphere-keyb.c...........................................................................................................82
4
ESIDE Ghost
Curso de introducción a OpenGL (v1.0)
Índice de ilustraciones
Figura 2.1. Acceso al hardware a través de OpenGL (Linux)..............................................10
Figura 3.1. Ejes de coordenadas en OpenGL.......................................................................14
Figura 3.2. Traslación de un objeto........................................................................................15
Figura 3.3. Rotación de un objeto...........................................................................................15
Figura 3.4. Escalado en el eje X.............................................................................................16
Figura 3.5. Vértices de un polígono........................................................................................19
Figura 3.6. Volúmen de proyección ortográfico.....................................................................20
Figura 3.7. Volúmen de visualización en perspectiva...........................................................21
Figura 3.8. Salida del programa "myfirstopenglprogram".....................................................23
Figura 3.9. Salida del programa "quadortho".........................................................................24
Figura 3.10. Salida del programa “quadpersp”......................................................................25
Figura 3.11. Dibujado de sin Z-Buffer....................................................................................26
Figura 3.12. Dibujado con Z-Buffer (salida del programa zbuffer-yes)................................27
Figura 3.13. Salida del programa "simpleguy"......................................................................29
Figura 3.14. Rotació
Comentarios de: Curso de introducción a OpenGL (v1.0) (0)
No hay comentarios