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

Paso 6: La construcción: creación de la ventanilla

En este paso voy a través del proceso de creación de una ventana en OpenGL y añadir color al fondo!

En primer lugar permite echar un vistazo a Anti-aliasing.

SDL_GL_SetAttribute() se utiliza para establecer diferentes propiedades para nuestra ventana. Debe ser utilizado antes de la creación de una ventana, por tanto, no es poner en el bucle principal.

En este caso, usé para activar el Anti-Aliasing por SDL_GL_MULTISAMPLEBUFFERS en 1 (es decir, ON). Y SDL_GL_MULTISAMPLESAMPLES para configurar el Anti-Aliasing nivel que pueden ser de 1 (MIN) 8 (máx).

Ahora he definido dos nuevas funciones aquí

initGL (

Coordinar X, coordinar Y

Altura de la anchura,

)

a esta función definida por el usuario, pase la ubicación de la ventanilla en mi aplicación y el tamaño de mi ventanilla que desea crear.

Ahora debemos definir la proyección para la vista, por lo que establishProjectionMatrix() me pasa el tamaño del viewport. Hay dos tipos principales de proyecciones

1) ortográfica: este tipo de proyección se utiliza en aplicaciones de ingeniería donde el objeto se muestra como es sin ninguna distorsión.

2) perspectiva: Esto ofrece una vista de la "vida real" de los objetos, nuestra manera de ver las cosas naturalmente con nuestros ojos. Este tipo de proyección se utiliza generalmente en juegos y simulaciones.

Así que para la proyección, cargar la matriz GL_PROJETION o la matriz de proyección. Como he dicho antes, las propiedades de la escena de OpenGL son controladas a través de matrices. Proyección en perspectiva modifica la escena por que distorsionan la forma de los objetos en la escena. Así que para guardar y aplicar esta información a la escena, se utilizan matrices.

Ahora se puede cargar solamente una matriz para modificar en OpenGL a la vez. Así que en cualquier momento queremos cambiar algo en la escena, tenemos que usar una matriz, cada vez que queremos usar una matriz, tenemos que cargar con glMatrixMode()

ahora como inicializamos una variable a cero en la definición

int var = 0;

tenemos que hacerlo mismo con una matriz

glMatrixMode(GL_PROJETION); //Load la matriz en OpenGL

glLoadIdentity(); / / Inicializar

Inicializar esta matriz a una matriz identidad, entonces empezar a modificarlo.

gluPrespective(,,,);

1) campo de visión-toma un ángulo en grados y el campo visual en el eje Y. para una visión natural, elegí a 45 grados.

2) relación de aspecto - aquí pasa en lo ancho de su ventana.

3) cerca de recorte plano - la distancia mínima desde la cámara a la que se creará el mundo 3D. por ejemplo, a veces, cuando mueves tu personaje en 3 º persona, obtendrá demasiado cerca a su cuerpo y ver interiores del personaje, que es cerca de plano de recorte en acción, un avión invisible frente a la cámara. Si cualquier punto de polígonos cruzan ese avión, no se representan en la escena 3D.

4) lejos de recorte plano - la distancia más lejana de la cámara a la que los objetos en la escena 3D será extraído cargado. por ejemplo en mundo abierto RPG de como Skyrim, en el horizonte, se puede ver la tierra/ciudad desaparecer en una niebla con humo blanco, que es el plano de recorte lejano. Es útil reducir la carga de la CPU porque objetos demasiado lejos de la cámara si, no incluso serán visibles en la pantalla.

La primera función en establishProjectionMatrix() que es es responsable de la creación de la vista actual en nuestra región determinada glViewport().

Después de establecer la matriz de proyección, pasemos a otros pasos de inicialización,

Antes de continuar, echemos un vistazo a dos funciones:

glEnable() y glDisable(),

OpenGL para ser una gran máquina de imaginar. Esta máquina tiene un montón de interruptores para cambiar el modo OpenGL se comporta y genera la salida. para voltear estos interruptores, utilizamos glEnable y glDisable.

Todo lo demás cambia comportamiento de OpenGL, pero las siguientes líneas de código son importantes.

glClearColor(R, G, B, A)- Toma valores flotantes desde 0.0f 1.0f y borra el punto de visión al color especificado.

Si definir múltiples puntos de visión en su aplicación y tratar de representar un objeto a una ventanilla, no verás nada en otros puntos de visión en la aplicación. Esto es debido a propiedades de una ventanilla están interfiriendo con otras vistas.

así que usamos glScissor() que básicamente define un área para la vista (en este caso área donde se define el punto de visión sí mismo) para que la vista y sus efectos se limitan a.

Esto nos permite crear múltiples puntos de visión con sus propios efectos y propiedades.

Ahora echemos un vistazo a DrawScene()

Se coloca después de initGL() ya que será el anfitrión de nuestro código para la representación de la cube.

glClear() borra el render (viewports) con el color predefinido y en este caso ya que vamos a utilizar polígonos 3D, he incluido también el buffer de profundidad.

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