Principiantes guían de OpenGL: construir su propio software de CAD (12 / 14 paso)

Paso 11: Terminando: múltiples cubos y vistas y registrar clics

El algoritmo para generar los cubos es la mejor mi cerebro podría toser hacia fuera, así que si usted tiene un método mejor o encontrar alguna deficiencia en el código, déjeme por favor saber mejoraré mi código.

currentGeometry y objCount se inicializan a

currentGeometry = 1;

objCount = -3;

con cada clic de generar nuevo cubo ambos son incremento.

inicialización es un conjunto de elementos estáticos utilizados para el control de la sentencia if() que contiene las variables para almacenar la ubicación y escala la historia de los anteriores objetos en la escena.

Primer cubo

|| manipular el cube||

Final

Segundo cubo

|| almacenar las transformaciones del cubo anterior [1] || //in una matriz

|| manipular el cube||

|| Cubos de la pantalla de la array||

Final

Tercer cubo

|| almacenar las transformaciones del cubo anterior [2] ||

|| manipular el cube||

|| Cubos de la pantalla de la array||

Final

y así sucesivamente...

Tan larga historia corta, el número de cubos es limitado por el tamaño de la matriz. Para que sepas que es necesario un sistema mejor, tal vez yo a descubrirlo en la próxima versión.

Xposition Yposition Zposition tienda la ubicación de coordenadas en el espacio 3D y Xsize Ysize Zsize guardar la escala. Como se puede ver al comienzo de cada nueva creación de cubo, necesitaba un método para almacenar estos valores del cubo anterior. así que había declarado un arreglo estático inicializar [n] que hace este código todo ejecute sólo una vez al comienzo de la creación de un nuevo objeto, por la variable objCount .

Como se puede ver la creación de cubos es muy chunga y afectan el funcionamiento del programa negativamente.

Echemos un vistazo a la función cube() :

He quitado el código para dibujar el cubo en aras de la claridad.

los argumentos de la función de toman la coordenadas 3D en que desea dibujar el cubo, el tamaño del cubo que desea ser, y que vista está pensada para ir.

Si pasa el valor 1, significa que quiero en la vista principal (vista B)

Si apruebo valor 2 o 3, esto significa que quiero el cubo en uno de los puntos de dos visión de fondo para el frente y la vista lateral.

Una cosa a tener cuidado es antes use glScalef (x, y, z); Asegúrese de utilizar una nueva matriz mediante glPushMatrix() porque escala operaciones del cubo anterior puede ser transferido a un nuevo cubo.

Una cosa que se me olvidaba mencionar es crear el botón haga clic en eventos sí.

Paso 1: Colocar los botones en las posiciones deseadas.

Step2: Proyecto espacio de coordenadas para cada botón individual en un pedazo de papel.

Paso 3: Agregue el código,

Cada clic en el viewport, se controlará si se hace clic en una imagen de botón.

Paso4: Llamar a la función en el bucle principal, cuando se registra un evento click.

Si está registrado un clic del ratón, comprobará si se hace clic en un botón. De hecho, se podría mejorarse comprobando primero que vista se produjo el evento click, si es con los botones, luego Compruebe la enorme red de condiciones if().

Artículos Relacionados

Construir su propio Atlatl

Construir su propio Atlatl

El cazador acecha su presa a un campo abierto con la oportunidad perfecta para atacar. Ojos se redujo con la intención completa una muerte limpia. Lentamente pero seguramente el cazador saca una flecha de su aljaba y se prepara para el ataque. En un
Construir su propio firewall gateway

Construir su propio firewall gateway

aprender a construir su propio firewall gateway usando FreeBSD® y viejas piezas de la PC. El servidor de seguridad consistirá en el cortafuegos de PF, IDS Snort, varias aplicaciones de IPS, proxy Squid y algunas interfaces web intuitivas para la audi
Hidroponía - un manual sobre cómo construir tu propio sistema de hidroponía de inicio

Hidroponía - un manual sobre cómo construir tu propio sistema de hidroponía de inicio

IntroducciónCausas y efectos de la superpoblaciónLa superpoblación no debe ser tomada a la ligera. Tiene unos efectos terribles, uno de ellos es la escasez de alimentos. Nuestro mundo actualmente superpoblada es causada por la Revolución Industrial.
Cómo construir tu propio cajón caja tambor con lazo ajustable

Cómo construir tu propio cajón caja tambor con lazo ajustable

en este instructable mostrará usted cómo construir su propio tambor de caja de cajón. Hicimos 2 tambores de Cajon para debajo de 50$, así que alrededor de 25$ un pedazo. Yo se entrar en este instructable en el concurso de instrumentos musicales, así
Construir su propio pato llamar

Construir su propio pato llamar

llega un momento cada mans vida cuando relojes demasiado "dinastía de pato" y se siente inspirado para construir su propio llamado. No reclamar ni pretende ser un experto en patos, llamadas de pato o Pato caza. Heck, que incluso no vivo cerca de
Construir su propio ordenador portátil

Construir su propio ordenador portátil

¿por qué alguien salir y comprar una computadora de un fabricante como Dell o Gateway, cuando podría construir un ordenador más potente por menos dinero? La respuesta, no saben cómo construirla.Esto puede sonar como un proceso complicado, pero en rea
Cómo construir tus propio contenedores creciente

Cómo construir tus propio contenedores creciente

===Mi inspiración inicial fue estos contenedores crecimiento diseñado por Ray Newstead y aquí:http://earthtainer.tomatofest.com/==========El sitio anterior se debe considerar el recurso de la original y el último y la mayoría de los pasos utilizados
Cómo construir tu propio motor de Jet

Cómo construir tu propio motor de Jet

no tienes que ser Jay Leno poseer una moto jet accionado, y te mostramos cómo hacer tu propio jet enigne aquí para alimentar sus vehículos extravagantes. Se trata de un proyecto en curso, y un montón de información adicional estará disponible en nues
Construir su propio estudio insonorizada en 11 pasos

Construir su propio estudio insonorizada en 11 pasos

Gracias a los constantes avances en tecnología digital, todo el mundo puede grabar en casa, y todo el mundo puede ser propietario de un estudio. Pero mientras muchos conformarse con una configuración de dormitorio eggbox-clad (un mito que a desacredi
Construir tu propio router/fresadora CNC

Construir tu propio router/fresadora CNC

Ya en la edad de 12 años estaba soñando de hacer una máquina que podía hacer las cosas! Una máquina que me daría la oportunidad de crear productos para toda la casa. Dos años más tarde me topé ont las palabras "Computer Numerical Control" o más
Construir su propio Djembe (mesa final)

Construir su propio Djembe (mesa final)

hace mucho tiempo yo era miembro del círculo del tambor de mi high school donde tocamos los tambores africanos. Como estudiante universitario, que es una de las cosas que más echo de menos. Así que dado mi hobby de construcción de instrumentos musica
Construir su propio galpón de almacenamiento!

Construir su propio galpón de almacenamiento!

Hola Instructables!  Esta es mi participación en el concurso de Shopbot.  Este Instructable le mostrará los pasos para construir su propio galpón.   Hemos decidido que nuestro galpón sería para el almacenamiento porque queríamos salir de algunas cosa
Cómo construir su propio casco de cabeza de ratón de Deadmau5!

Cómo construir su propio casco de cabeza de ratón de Deadmau5!

Así que eres un fan de Deadmau5 enormes y han sido dolor para conseguir sus manos en una de esas cabezas Mau5 dulce - pero no se como algunos de ésos epic fail has visto algunas personas llevar... quieres un fiar cabeza que será envidiada por todos. 
Construir su propio extintor de cosas alrededor de su casa

Construir su propio extintor de cosas alrededor de su casa

cómo construir su propio extintor (Disclaimer: no tengo ninguna responsabilidad por hacerlo de manera incorrecta o daño a ti mismo)Paso 1: simple extintor de incendios Una forma cuidada para apagar un fuego con este extintor de jar de simple mantequi