Mensajes: 5278 Ubicación: Al otro lado de la pantalla
Martes, 22 Diciembre 2015, 00:10
Aclaro un poco para los que no tenemos mucha idea.
Citar:
OpenGL puede funcionar adicionalmente de dos maneras, de modo directo o indirecto:
•
Modo directo: las primitivas se van dibujando a medida que se van definiendo.
Instruccion -> Buffer de Color = Pantalla
•
Modo indirecto: las primitivas se guardan en una lista y solo se dibujan cuando el usuario decida o la
lista este llena, esto permite optimizar la fase de dibujo.
Instruccion-> Pila de instrucciones-> flush -> Buffer de Color = Pantalla
En este modo cuando se desea que OpenGL pinte lo que esta en la lista se utiliza la instruccion
glFlush()
: esta instruccion obliga a pintar y no espera a que el hardawre termine para continuar con
el programa, analogamente la
glFinish()
obliga a pintar pero espera a que el hw termine antes de
continuar con el programa.
En el modo indirecto, OpenGL permite definir dos buffers de colores (doublebuffer), asi un buffer
corresponde a lo que se ve en pantalla y otro a el buffer donde se esta pintando, de esta manera una vez que
se ha pintado todo lo deseado y se quiere que esto aparezca en pantalla se intercambian los buffers, esta
instruccion depende del sistema operativo para esto se utilizara la instruccion de la libreria portable glut:
glutSwapBuffers()
(esta ejecuta implicitamente glFlush o glFinish), en este modo glFlush y glFinish
obligan a pintar en el buffer de dibujo pero esto NO sera visible hasta intercambiar buffers
Fuente de la información:
Mini Manual de OpenGL
tercoIDE:
Lo importante es tener unas nociones básicas, por ahora.
Vuott:
Citar:
No siempre un Componente de
gambas contiene todos los recursos de una libreria externa.
Pues si no esta completa, tiene mucha pero muchas cosas.
Además tenemos distintos componentes para 3d.
Saludos