Diferencia entre revisiones de «ManuelRomero/grafica/ej1»
De WikiEducator
(→Mensaje para usuario) |
(→Mensaje para usuario) |
||
Línea 66: | Línea 66: | ||
</source> | </source> | ||
− | + | ===Rutinas de incialización === | |
− | + | *glClearColor | |
+ | *Es una función propia de '''''OpenGl''''' ''como todas las que empiezan por gl'' | ||
+ | *La función glClearColor(float red, float green, flota green, float alpha) | ||
+ | *Especifica el color que pasamos como argumentos con el que se borrara el buffer al hacer un glClear(). | ||
+ | *Los parámetros son valores reales entre 0 y 1 | ||
+ | *Los tres primeros espefician el color | ||
+ | *El cuarto es el nivel de transparencia ''canal alpha''. | ||
<source lang=cpp> | <source lang=cpp> | ||
// Rutinas de inicialización | // Rutinas de inicialización |
Revisión de 22:46 20 may 2013
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Practica 2
- Enunciado
- Se trata de dibujar de forma diferente el mismo dibujo
- Vamos a dibujar un disco o agujero' ' de tres formas diferentes
- Obtenemos la misma imagen, pero de la forma real nos permite modificar facilmente su aspecto
- Objservamos el escenario
Código por partes
- A continuación se va a explicar el código que genera el escenario anterior
- Esta explicación también servirá para empezar a entender cómo usar OpenGL en programación
Programa principal
- El programa principal de nuestra aplicación es el siguientes
int main(int argc, char **argv) { //Mesaje para el usuario de cómo usar el programa printInteraction(); //Rutinas de inicialización glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); // Initialize the buffers // including the depth buffer. glutInitWindowSize(500, 500); glutInitWindowPosition(100, 100); glutCreateWindow("circularAnnuluses.cpp Practica 1"); //Dibuja nuestro escenario setup(); glutDisplayFunc(drawScene); glutReshapeFunc(resize); glutKeyboardFunc(keyInput); glutMainLoop(); return 0; }
Mensaje para usuario
void printInteraction(void)
- Se imprime un mensaje por la pantalla para interactuar con el usuario.
- Este contenido va a la consola no a la ventana windows
- es código c++ (objetos de la clase iostream)
- Por ello hay que hacer el include de la clase iostream
- El código de esta parte quedaría
... #include <iostream> ... void printInteraction(void) { cout << "Interaction:" << endl; //cout << "Press the space bar to toggle between wirefrime and filled for the lower annulus." << endl; cout << "Presiona la barra espaciadora para alternar entre el anillo relleno de color y relleno de alambre ." << endl; }
Rutinas de incialización
- glClearColor
- Es una función propia de OpenGl como todas las que empiezan por gl
- La función glClearColor(float red, float green, flota green, float alpha)
- Especifica el color que pasamos como argumentos con el que se borrara el buffer al hacer un glClear().
- Los parámetros son valores reales entre 0 y 1
- Los tres primeros espefician el color
- El cuarto es el nivel de transparencia canal alpha.
// Rutinas de inicialización void setup(void) { glClearColor(1.0, 1.0, 1.0, 0.0); }
- Los siguintes son métodos de la librería glut que se invocan al principio
(MRM Explicar que impliación tienes y como se usan
glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); // Initialize the buffers // including the depth buffer. glutInitWindowSize(500, 500); glutInitWindowPosition(100, 100); glutCreateWindow("circularAnnuluses.cpp Practica 1");
- Ahora es cuando vamos a hacer funcionar nuestro código