Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: libcosenior 10. 11. 2012, 19:08:32
-
Prechádzam seriál Grafická knihovna OpenGL (http://www.root.cz/serialy/graficka-knihovna-opengl/) a v 26. lekcii som narazil na problém s kompiláciou demonštračného príkladu.
(Všetky predchádzajúce príklady som po malej úprave skompiloval a otestoval.)
V tomto príklade mi druhý riadok:
int loadTextures(void)
{
glPixelStorei(GL_UNPACK_ALIGNMENT, 1); // zpusob ulozeni bytu v texure
glGenTextures(4, textures); // vytvoreni jmena textur
if (bitmapLoad(textures[TEXTURE_GROUND], "ground.bmp")) exit(0);
if (bitmapLoad(textures[TEXTURE_WALL1], "wall1.bmp")) exit(0);
if (bitmapLoad(textures[TEXTURE_WALL2], "wall2.bmp")) exit(0);
if (bitmapLoad(textures[TEXTURE_TREASURE], "treasure.bmp")) exit(0);
}
vypisuje 2 chyby:
error: invalid conversion from 'int*' to 'GLuint*'
error: initializing argument 2 of 'void glGenTextures(GLsizei, GLuint*)'
Hľadal som na nete a boli tam rady, ktoré som vyskúšal:
glGenTextures(4, &textures);
glGenTextures(4, textures[4]);
Nepomohlo to.
Poradí niekto?
Používam Code:Blocks 10.05 na win7. Súbor je vložený do projektu GLUT a ako som už písal, ostatné príklady fungujú.
Ďakujem.
-
Střelím od boku, buď zkuste
glGenTextures(4, (GLuint*)textures);
nebo upravte
int textures[4];
na
GLuint textures[4];
-
Toto:
GLuint textures[4];
som si nakoniec uvedomil aj ja.
Chybu to už nevypisuje, ale program nepracuje ako má.
-
textures je pole, tudiz uz nema vyznam psat &textures, kdyz uz, tak &textures[0]. To pretypovani na GLuint by melo byt ok, musim to jeste vyzkouset.