LAB_01

March 21, 2018 | Author: Andrea IMontes | Category: Coordinate System, Matrix (Mathematics), Cross Platform, Programming Language, Digital & Social Media


Comments



Description

LaboratorioPRÁCTICA N°01 Facultad de Ingeniería Escuela Académico Profesional de Ingeniería en Informática y Sistemas Docente: Ing. Carlos Acero Charaña Asignatura: Diseño asistido por computadora Alumna: Montes Albarracín, Andrea Isabel Código: 2010-35513 Año de estudios: Cuarto  Es normal que debas elegir una localidad (directorio) donde guardar tu proyecto. . Después Ok. seleccionar Multimedia → glut y darle un nombre al proyecto.Laboratorio PRÁCTICA N°01 INSTALACION DE OPENGL EN DEV C++   Ejecutar el Dev-C++ y seleccionar en File → New → Project En las opciones de New Project. .Laboratorio PRÁCTICA N°01  Una vez creado el proyecto. podrás compilar y ejecutar el código (es un ejemplo que viene por default). cpp y eliminas el archivo (Remove file).Laboratorio PRÁCTICA N°01  En la parte del browser de Clases. .  Una vez removido el archivo. Project y Debug deberás eliminar este archivo que el nuevo proyecto crea por default. te pedirá que le des un nombre con el cual salvar tu archivo de proyecto (esto se te deja a tu elección). Botón derecho en el main. Laboratorio PRÁCTICA N°01  Podrás notar que dicho archivo se ha eliminado (el proyecto conserva su nombre.  Podrás agregar nuevos archivos a tu proyecto Ejemplo1. .  Debes seleccionar el archivo que vas a incluir en tu proyecto (en este caso se llama practica1). de hecho habíamos elegido que el proyecto se llamara Ejemplo1). botón derecho (Add to Project). has agregado el archivo practica1. etc.c a tu proyecto Ejemplo1. modificar.c podrás agregar cosas al archivo. podrás notar que en el browser del proyecto. Si das clic al nombre del archivo practica1. .Laboratorio PRÁCTICA N°01   Una vez realizado este paso. El archivo al ser ejecutado y no marcar errores lógicos.Laboratorio PRÁCTICA N°01  Estás listo ahora para compilar y ejecutar tu primer ejemplo de OpenGL. se visualiza como a continuación se muestra en la imagen. . etc. • Punto en 3D: glVertex3f (x. etc. – La letra indica el tipo de los parámetros • (i: long integer. etc. no un lenguaje OpenGL no es un lenguaje de programación Sigue la convención de llamadas a C OpenGL se divide en tres librerías distintas: – Librería auxiliar AUX (glaux): independiente de la plataforma – Librería específica OpenGL (gl) – Librería de utilidades (glu): dibujo de esferas. „2d‟. OpenGL define sus propios tipos de datos. se pasa un vector . etc. y. d: double. z). ub: unsigned char. – GLbyte entero de 8 bits – GLushort entero de 16 bits sin signo – GLint entero de 32 bits – GLdouble real de 64 bits Sintaxis de los comandos OpenGL Todas las funciones comienzan por „gl‟ Todas las constantes empiezan por „GL‟ Algunas funciones acaban con un sufijo („3f‟.Laboratorio PRÁCTICA N°01 OPENGL con librería GLUT OpenGL: una API.) • Algunos comandos acaban en „v‟: – en lugar de pasar los valores individuales. cilindros. y).): – El número indica el número de parámetros • Punto en 2D: glVertex2f (x. f: float. discos. 1. 1} glColor3fv (vectorcol). Unix) – creación y manejo de las ventanas – interacción con el usuario No sirve para diseñar la interfaz final de la aplicación Hace uso de la API nativa del entorno OpenGL no maneja ventanas ni gestiona eventos La librería GLUT Fue creada como ampliación de la librería AUX Se le añadieron más prestaciones como: – Creación de menús desplegables – Administración de varias ventanas – Manejo de joystick y otros dispositivos de E/S Sigue siendo multi-plataforma (Unix. Windows) La gran ventaja es que permite olvidarse de la programación GUI básica de una plataforma específica.Laboratorio PRÁCTICA N°01 • valores individuales  glColor3f (1. 1). . Mac-OS. Linux. Hay que descargarla aparte. y centrarse exclusivamente en OpenGL No viene incluida en la distribución oficial. La librería AUX Fue creada para facilitar el aprendizaje de OpenGL Evita los detalles del entorno particular (Windows. • usando un vector  float vectorcol[] = {1. 1. Laboratorio PRÁCTICA N°01 Primer ejemplo en OpenGL + GLUT . Laboratorio PRÁCTICA N°01 Dibujando formas . .Laboratorio PRÁCTICA N°01 Ventana y volumen de trabajo • En OpenGL siempre se pinta en 3D. • Por defecto glut define un volumen de trabajo entre -1 y 1 en las tres dimensiones. 250) .Laboratorio PRÁCTICA N°01 Definición de la vista glViewport(0.500.0. 125) .125.Laboratorio PRÁCTICA N°01 glViewport(125.125. Laboratorio PRÁCTICA N°01 Objetos 3D • La librería GLUT incluye una docena de objetos 3D • Por ahora sólo podemos ver su proyección paralela . Laboratorio PRÁCTICA N°01 . estos valores son desplazamientos desde este punto. glLoadIdentity():Con esto cargamos en la matriz actual la matriz identidad (equivale aresetearla matriz).0) es decir. .0. 9. Dependiendo de lo que estemos tratando. (estos dos últimos no son coordenadas como los cuatro primeros. Con esta función indicamos a cual de estas tres deben afectar las operaciones. positivas hacia donde apunta y negativas hacia el lado contrario) considerando que. 3. Los parámetros sirven para delimitar el volumen de vista y son. siguiendo un rango de [0. x=y=0.x_máxima. Los 3 primeros parámetros son las componentes R. en este caso. el que se pinta después en pantalla. glClearColor(0. 6. se realizan a través de matrices de transformación. son distancias desde el punto de vista. Para borrarlos utiliza el color que ha sido previamente definido en init() mediante glClearColor(). Parámetros R G y B. 7.z_máxima.1..z_mínima. rango [0.y_máxima. pinta todo el buffer de negro. etc. En este caso. glVertex2i():Esta función crea un vértice situado en el origen de coordenadas del mundo es decir.1]. borra el buffer de color (en realidad. el (0. Concretamente. así que estamos ante el color blanco.. 8. G y B. hay tres tipos de matriz (que son los tres posiblesflagsque puede llevar de parámetro la función): matriz de proyección (GL_PROJECTION). translación. 2. Esto quiere decir que lo que se ves será una proyección paralela en uno de los planos definidos por los ejes.0. el punto de vista está en el origen de coordenadas mirando hacia el eje negativo de z.0) : Con esto se define el color con el que se borrara el buffer al hacer un glClear().0. escalado. por defecto. La última es el valor alpha. glColor3f(1. glBegin(GL_POINTS) : comienza una secuencia de vértices con los que se construirán primitivas. pero aquí los trata como el mismo).GL_PROJECTIONafecta a las vistas o perspectivas o proyecciones. 4.Laboratorio PRÁCTICA N°01 Funciones 1. gluOrtho3D() : define una perspectiva ortonormal. matriz de modelo (GL_MODELVIEW) y matriz de textura (GL_TEXTURE). glPointSize() : Con esta llamada definimos que cada uno de nuestros puntos deberá tener un grosor con el tamaño del pixeles que se desee en el momento de ser trasladada a pantalla. por este orden:x_mínima.1): Selecciona el color actual con el que dibujar.1]. cada componente R G y B tienen un buffer distinto. En ogl las operaciones de rotación. El tipo de primitivas viene dado por el parámetro de glBegin(). glClear(GL_COLOR_BUFFER_BIT) : Borra un buffer o una combinación de varios.0. 5. glMatrixMode(GL_PROJECTION): Especifica la matriz actual para realizar la composición.y_mínima. Con estos seis valores se define el volumen que incluirá los objetos que se proyecten. glutIdleFunc(): que especifica la operación que se realizará entre dos frames. Vamos a utilizar una variable global para indicar la posición de la esfera. ogl guarda los comandos como peticiones en pila. glutMainLoop():Esta función cede el control del flujo del programa a GLUT que.sin modificar. etc. La función pasada como parámetro será llamada cada vez que GLUT determine oportuno que la ventana debe serredibujada. de lafunción main(). como al maximizarse. 21. para optimizar el rendimiento. controladores. glViewport() : nos permitirá establecer qué porción de la ventana será el área visualizable.. glutSwapBuffers (): “pega” la imagen en la ventana. glFlush():Dependiendo del hardware. glutDisplayFunc(display): Aquí se define el primercallback. irá llamando a las funciones que han sido pasadas comocallbacks. 14. Los parámetros deben ser los mismosargcyargv. con respecto al escritorio en el que se trabaje. glViewport(): Ajusta la vista a las dimensiones de la ventana 20. Glutentiende una serie de parámetros que pueden ser pasados por línea de comandos. y otra para apuntar a la propia esfera: 22. En este caso en concreto. como gran parte de las funciones que iremos viendo. 13. se definen con flags o máscaras de bits. glutInitWindowPosition():Posición x e y de la esquina superior izquierda de la nueva ventana. a partir de estos "eventos". glutPostRedisplay() : hace que tras la actualización se dibuje el siguiente frame. glutCreateWindow(""):Esta función es la que propiamente crea la ventana y el parámetro es el nombre de la misma. etc. argv): Esta función es la que inicializa la GLUT y negocia con el sistema de ventanas para abrir una. Los parámetros. .Laboratorio PRÁCTICA N°01 10. 23. 17. El comandoglFlushcausa la ejecución de cualquier comando que quede en espera en la pila. 19. 18. poner otras ventanas por encima y después quitarlas. GLUT_SINGLE indica que se debe usar un solo buffer y GLUT_RGB el tipo de modelo de color con el que se dibujará. glutInit(&argc. glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB) : Define el modo en el que debe dibujar en la ventana. glRectf (): Dibuja un rectángulo con las 4 coordenadas que se le asigne en los paréntesis. glutInitWindowSize():El ancho y alto de la nueva ventana. 11. 16. 15.Además. 12. Documents Similar To LAB_01Skip carouselcarousel previouscarousel nextApuntes de Trans for Mac Ion de CoordenadasManual Del Programa de RYX-DMateriales de Referenciacalibracion desvanecimientoUNIDAD 4.docxNte Inen 2708 Asientos de Vehículos de Grandes Dimensiones Para El Transporte de Pasajeros. Resistencia de Los Asientos y de Sus Anclajes. Requisitos y Método de Ensayo806-5001-103D2005 APT02 - Capitulo II PreliminarApuntes de AutocadCoordenadas Curvilíneas CURSO_N_1_VAL_II.pdfGráficos de VolúmenesGeometria.pdfGeometriaEpisi Ta 2 Álgebra LinealP22.5 Transformacion de La ComposicionEduSistema de Coordenadas Person AlesDeber 9 1Copia de Operaciones Basicas Con Matlab CorregidoCNC 005Curso de AutoCAD 3D 2006, Lección 3_ Modificación del sistema de coordenadas CURSO DE AutoCAD 2006Actividad Obligatoria 3CURSO AUTOCAD 3DCurso de AutoCAD 2dAnálisis Estructural Con MIC-MAC - 15 Ene 12Actividad2- I Sem 2012-Trabajo Matrices4.2.- Procesos estocasticos[1]More From Andrea IMontesSkip carouselcarousel previouscarousel nextMemorandum y OficioTRABAJO FINAL Simulación de SistemasASISTENCIA Simulación de SistemascomputaciónMetodo en ExcelPruebaAlgoritmos No CongruencialesAlgoritmo ksOrganización-y-Métodos-Clase-01-Introducción03 Rest02 CookiesTAMAÑO DEL PROYECTOAccess 14 Consultas de Copia de NeptunoPert Project04_XMLOrganizacion AndFooter MenuBack To TopAboutAbout ScribdPressOur blogJoin our team!Contact UsJoin todayInvite FriendsGiftsLegalTermsPrivacyCopyrightSupportHelp / FAQAccessibilityPurchase helpAdChoicesPublishersSocial MediaCopyright © 2018 Scribd Inc. .Browse Books.Site Directory.Site Language: English中文EspañolالعربيةPortuguês日本語DeutschFrançaisTurkceРусский языкTiếng việtJęzyk polskiBahasa indonesiaSign up to vote on this titleUsefulNot usefulMaster Your Semester with Scribd & The New York TimesSpecial offer for students: Only $4.99/month.Master Your Semester with a Special Offer from Scribd & The New York TimesRead Free for 30 DaysCancel anytime.Read Free for 30 DaysYou're Reading a Free PreviewDownloadClose DialogAre you sure?This action might not be possible to undo. Are you sure you want to continue?CANCELOK
Copyright © 2024 DOKUMEN.SITE Inc.