Oppure

Loading
04/12/16 21:38
Thejuster
Salve ragazzi,

Sicuramente conoscete le OpenGL e forse qualcuno le ha provate in C++
che poi non sono così diverse da come le si viene usate in C#

Mi capita un problema strano ed al quanto insolito.

Ho preso dai pacchetti Nuget, il GLControl che proviene dall'OpenTK

Nessun problema nel configurare il tutto ed a far girare il programma
disegnando varie texture.

Il problema succede quando tento di aggiornare le posizioni delle texture
è come se il Draw non rispondesse.


ho semplicemente preso l'evento OnPaint del controllo


//Funzione paint
   private void glControl1_Paint(object sender, PaintEventArgs e)
        {
             //Se il controllo non è stato inizializzato
            if (!glControlIsLoaded)
                return;

            //Clear
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            GL.MatrixMode(MatrixMode.Modelview);
            GL.Ortho(0, MapSize.Width, 0, MapSize.Height, -1, 1);
            GL.MatrixMode(MatrixMode.Modelview);
            GL.PushMatrix();
            GL.LoadIdentity();
            GL.Enable(EnableCap.Texture2D);

           render.Draw(texture,e.X,e.Y);
  
      




Cosa succede,
Succede che il rendering è molto ma molto lento!
come se non fosse un vero render. non sò se mi sono spiegato bene.
Non aggiorna velocemente come dovrebbe.
nonostante gli abbia forzato ad invalidare il controllo alla fine dell'operazione.

Qualche idea?

mire.forumfree.it/ - Mire Engine
C# UI Designer
05/12/16 14:33
HeDo
controlla se l'evento paint è quello giusto nel quale inserire questo codice.
e verifica se è giusto cancellare tutto prima di disegnare qualcosa di nuovo, potrebbe essere questo che rallenta
aaa
05/12/16 16:01
pierotofy
Concordo con HeDo...

Leggi la documentazione di GLControl. Forse c'e' qualche esempio.
Il mio blog: piero.dev