• Viernes 15 de Noviembre de 2024, 03:02

Autor Tema:  Refresco Opengl  (Leído 2208 veces)

Perla_kiko

  • Miembro MUY activo
  • ***
  • Mensajes: 114
    • Ver Perfil
Refresco Opengl
« en: Miércoles 9 de Febrero de 2005, 16:16 »
0
hola, tengo mi openGL el cual funciona correctamente pero cuando utilizo los botones creados o el mouse para mover la imagen depende el momento (no siempre es lo mismo) se me borra parte de la pantalla. al refrescar todo continua bien y me la vuelve a dibujar

pq me puede ocurrir esto?

Ruben3d

  • Moderador
  • ******
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Refresco Opengl
« Respuesta #1 en: Viernes 11 de Febrero de 2005, 01:54 »
0
Hola.

A diferencia de los controles de Windows, que se vuelven a dibujar solos cuando algo los ocluye, la ventana de OpenGL sólo se dibuja al hacer el SwapBuffers, así que si algo la tapa se pierde el dibujo que había debajo y se queda pintado lo que la ha tapado. Para remediarlo, has de pintarla cada vez que sea necesario (me parece que la ventana recibe un mensaje del tipo WM_PAINT o algo así, no lo recuerdo con precisión).

Un saludo.

Ruben3d

Perla_kiko

  • Miembro MUY activo
  • ***
  • Mensajes: 114
    • Ver Perfil
Re: Refresco Opengl
« Respuesta #2 en: Viernes 11 de Febrero de 2005, 10:55 »
0
Si ese caso lo sabia, lo que me pasa es que por ejemplo cuando con el mouse muevo la imagen que he creado en Opengl en un momento determinado (no siemrpe es el mismo) se va parte de la imagen. y queda la otra. puede ser caosa de la tarjeta grafica?

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Refresco Opengl
« Respuesta #3 en: Viernes 11 de Febrero de 2005, 13:18 »
0
Hola  :hola:

Si quieres adjunta el ejecutable del programa aqui y pruebo que no sea la tarjeta grafica

De todas maneras, que codigo utilizas para refrescar?

Prueba con esto a ver si va:

Código: Text
  1.  
  2.  
  3. InvalidateRect(NULL,FALSE);
  4. UpdateWindow();
  5.  
  6.  
  7.  

Un saludo