glutPostRedisplay

Z
  • 24 Kov '13

Sveiki,
bandau mokytis OpenGL ir dabar skaitau šita tutorialą http://openglbook.com/the-book/chapter- ... g-started/
viskas susikompiliuoja ir pasileidžia, bet kai bandau atsidariusi langą perkelti į kita vieta, jis nejuda kol nenustoju judinti pelės. Tik nustojus judinti pelę langas persikelia į kursoriaus vietą. Analizuojant visa kodą sužinojau, kad taip yra dėl glutPostRedisplay(); funkcijos. Jei ja ištrinu (ar užkomentuoju), langas juda kartu su pele be jokio vėlavimo.
Naudoju:
Ubuntu 12.10 64bit.
Linux 3.5.0-26-generic
Gnome 3.6.0
GeForce GTX 470
NVIDIA 304.84
OpenGL 4.2.0

T
Techtronic
Mindaugas N.
  • 27 Kov '13

Pirmiausiai tai glutPostRedisplay funkcija nera OpenGL, o GLUT kas yra 3rd party library/framework'as.
Jeigu nori kad kas padetu tai nepamirsk ir koda savo parodyti programos.

Z
  • 1 Bal '13

@Techtronic rašė:
Pirmiausiai tai glutPostRedisplay funkcija nera OpenGL, o GLUT kas yra 3rd party library/framework'as.
Jeigu nori kad kas padetu tai nepamirsk ir koda savo parodyti programos.

Dabar kai pasakiai - tai tikrai pastebėjau, kad funkcijos pradžia "glut".
Dėl kodo - tai kodas iš mano pateiktos nuorodos copy-past (dabar kažko nesikrauna tas puslapis). Lyginau su kitame puslapyje buvusių kodų kuris pas mane veikia be problemų ir pastebėjau, kad veikiantis kodas glutPostRedisplay kviečia kur kas rečiau (25 ms), o kuris neveikia kviečia ją pastoviai (0 ms). Tad žaidžiau su laiku ir pastebėjau, kad jei kvietimo greitis daugiau (10-15 ms) jau pradeda stabdyti.