elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Doble buffer en OpenGL (glfw)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Doble buffer en OpenGL (glfw)  (Leído 1,899 veces)
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Doble buffer en OpenGL (glfw)
« en: 15 Enero 2017, 16:44 pm »

En primer lugar, disculpen si me he equivocado de foro para hacer este post, es que no estoy seguro de cual es el mas adecuado  :-\

En segundo lugar, a lo que vamos...
Por lo que tengo entendido, el back-buffer se utiliza para el renderizado de la imagen y el front-buffer para pintar la imagen en la pantalla. Se supone que cuando se termina de renderizar una imagen hay que intercambiar los dos buffers para que el programa se ponga a pintar la imagen mientras se renderiza la otra. El caso es que si solo voy a pintar un triangulo en la ventana, no deberia de tener sentido intercambiar los buffers para volver a pintar la misma imagen que ya esta pintada, de modo que probe a ver que pasa si solo intercambio los buffers una vez para pintar la imagen, pero si solo lo hago una vez toda la pantalla entera parece ralentizarse mucho, es decir, que si quiero mover la ventana de un sitio a otro tarda como 10-20 segundos en cambiar a la nueva posicion cuando la muevo. Ademas tambien parece tardar mucho en minimizar o maximizar o mover otras ventanas. ¿Por que? ¿Como funciona el doble buffer entonces?

PD:Estoy siguiendo este tutorial: https://learnopengl.com/
Si me recomiendan uno mejor se los agradezco.
El codigo fuente con el que estaba practicando esta aqui: https://learnopengl.com/code_viewer.php?code=getting-started/hellowindow2


« Última modificación: 15 Enero 2017, 16:49 pm por 4dr14n31t0r » En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Doble buffer en OpenGL (glfw)
« Respuesta #1 en: 16 Enero 2017, 08:48 am »

Seguramente hayas quitado del while la función glfwPollEvents(). Lo que hace esta función es actualizar los eventos que le manda Windows o los periféricos, y si no se actualizan, Windows entiende que la aplicación se ha quedado colgada.


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Doble buffer en OpenGL (glfw)
« Respuesta #2 en: 16 Enero 2017, 21:14 pm »

Lol no lo entiendo, he intentado probar de nuevo que efectivamente se me ralentiza la pantalla y ahora no lo hace. De todos modos pollEvents no era el problema, ya que ese metodo solo actualiza los eventos tales como cerrar ventana o pulsar tecla o mover raton. Ademas estoy en linux mint no windows xd De todos modos gracias por todo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda Doble Buffer :(
Java
Amerikano|Cls 4 6,328 Último mensaje 12 Mayo 2009, 19:41 pm
por Amerikano|Cls
doble buffer en Graphics, es decir, canvas
Java
smasher666 1 3,754 Último mensaje 22 Octubre 2009, 23:16 pm
por Jubjub
Doble buffer VB
Programación Visual Basic
ignorantev1.1 2 4,852 Último mensaje 25 Octubre 2009, 02:57 am
por ignorantev1.1
Doble buffer - Animación "Nieve" en java
Java
Maurice_Lupin 6 8,912 Último mensaje 14 Septiembre 2014, 17:41 pm
por Maurice_Lupin
arreglo de doble buffer
Programación C/C++
d91 1 1,517 Último mensaje 22 Mayo 2014, 04:22 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines