Üdvözletem mindenkinek.
Mandriva 2010.0 One alatt Qt-ban írnék OpenGL-t használó programokat. Problémám, hogy a 2.1-es OpenGL hívásokat a frodító nem tudja feloldani. A régebbi (1.4) verzióhoz írt kódjaim megfelelően lefordulnak és futnak (hardveres gyorsítással). Ha azonban a töredékárnyékolókhoz szükséges utasításokat (glCreateShader, glShaderSource, glCompileShader, stb...) hívok meg, akkor azokat a fordító nem tudja lefordítani, "was not declared in this scope" hiba üzenetet ad. Kérdezném a nálamnál gyakorlottabb gl programozóktól, hogy esetleg milyen fejlesztői könyvtárakat hagyhattam le, esetleg mit kell még include-olni, hogy elérhetőek legyenek a 2.1-es OpenGL szolgáltatásai.
Egyébként amin eddig próbálkoztam: Geforce fx 5200 nvidia driverrel (ogl 2.1), illetve Ati HD5770 fglrx driverrel (ogl 3.2). A verzió számok a glxinfo által adott verzió számok.
Mod.: cím módosításra került, mivel a probléma gyökre más, mint eredetileg gondoltam. Az eredeti cím: OpenGL 2.1 & Mandriva 2010.0 - hiányzó függvények
- 4460 megtekintés
Hozzászólások
Átírtam a jelenet lényegi részét GLUT alá. Ha ott használom az "#include <GL/glext.h>
" direktívát, akkor ott rendben van a shader leképzés is.
Viszont Qt alatt továbra sem működik a dolog, akkor sem ha alkalmazom a szükséges direktívát. Úgy látszik, itt már valamit a Qt-ben kell mahinálni.
Zavard össze a világot: mosolyogj hétfőn.
- A hozzászóláshoz be kell jelentkezni
Kicsit nézegettem a fórumokat is. Úgy tűnik, mintha régebbi Qt-k alatt csak a glew-en keresztül lehetne hozzáférni a shader funkciókhoz, bár az is rendkívül nehézkesen és problémásan tud illeszkedni a Qt-ba. Az új Qt-ban a Qt/3D megjelenésével kezelésre került a probléma (igaz, még nincs elterjedve a 4.6-os Qt).
Igazából csak azt nem értem, hogy a szabványos interfészeket miért nem kezeli rendesen a Qt (hogy az ARB és a többi bővítménnyel nem volt kedvük vacakolni, azt megértem, de hogy miért elérhetetlenek a 2.1-es fügvényhívások, az számomra érthetetlen, hiszen nem lett volna sok munkájuk vele).
Ha esetleg akad itt egy Qt/OGL guru, kérem javítson ki, ha a fentebb leírtakban tévedtem volna.
Zavard össze a világot: mosolyogj hétfőn.
- A hozzászóláshoz be kell jelentkezni