Thread: OpenGL Probleem, hulp nodig!
-
09-09-2004, 21:25 #1Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
OpenGL Probleem, hulp nodig!
Lo, we zitten hier dus met een raar probleem... de textures willen niet werken
texture loading gaat allemaal ok, en al de texture code is ok
maar als ik glGenTextures(1,&texture[0]) aanroep bijvoorbeeld, verandert de waarde van texture[0] niet... (normaal moet deze dus een unieke id krijgen, dat wordt gebruikt als de naam van de texture)
dan heb ik dus geprobeerd om glGetError() te gebruiken, en het bleek dat er een error was, namelijk GL_INVALID_OPERATION, maar als je glGetError() aanroept dan wordt de error flag normaal gereset, maar dat gebeurt dus ook niet...
Blijkbaar genereerd glGetError() ook nog een extra GL_INVALID_OPERATION zodat je als je direct hierna glGetError() aanroept geen GL_NO_ERROR krijgt..
en GL_INVALID_OPERATION wordt gegenereerd als er dus een invalid operation wordt uitgevoerd tussen glBegin() en glEnd()...
dat zou dan betekenen dat er ergens in de code uit glBegin() en glEnd() gegaan is ofzo... maar ik heb alle glBegins en glEnds gechecked en ik heb nergens iets gevonden met een return ofzo.
heeft er nog iemand ideëen of weet er iemand hoe het komt dat dit dus niet werkt?
in linux werkt het om een of andere reden wel...[Rasta]Grayfoxno votes
-
-
09-09-2004, 22:09 #2Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
1) krijg je iets met glIsTexture????
2) Zelfde fout met glGenTextures(1,texture) ???
3) Roep je die glGetError functies echt na-een aan?
4) je gebruikt toch geen functie-aanroepen tussen glBegin en glEnd die er niet mogen staan ??? (zet je glGenTextures er eens buiten) -- Het effect van "niet toegestane" functieaanroepen tussen glBegin en glEnd kan nogal variëren naargelang de opengl-implentatie.
edit:
dit is wat er in m'n boek hier staat:
allowed between glBegin & glEnd:
glVertex*
glColor*
glIndex*
glSecondaryColor*
glNormal*
glMaterial*
glFogCoord*
glTexCoord*
glMultiTexCoord*
glEdgeFlag*
glArrayElement*
glEvalCoord*
glEvalPoint*
glCallList
glCallListsLast edited by killgore; 09-09-2004 at 22:21.
no votes
-
09-09-2004, 23:20 #3Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
1- glIsTexture, dunno wak daarmee moe doen als ik geen textureid heb

2- glGenTextures(1,texture) <- nog ni geprobeerd, zal ik direct eens doen, lijkt me eigenlijk logisch om het zo te doen maar in Nehe's tutorial wordt het ook anders gedaan en daar werkt da dusja
3- glGetError: ja direct na elkaar, zonder ook maar iets ertussen behalve een write command naar een textfile
4- Das het probleem juist, GL_INVALID_OPERATION betekent dat je een invalid operation tussen glBegin en glEnd aanroept, maar ik vind niets...
anyway, thx for the help, kga nummer 2 eens uitproberen, you never know
Last edited by Grayfox; 09-09-2004 at 23:21.
[Rasta]Grayfoxno votes
-
09-09-2004, 23:46 #4Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
kzou et maar raar vinden moest het aan die 2° liggen. Voor de rest kan ik maar gokken, kben zelf ook nog niet denderend lang met openGL bezig

Welke compiler gebruik je? (Als opengl er std opzat kan je mssch eens overwegen de libs en headers opnieuw te downloaden).no votes
-
10-09-2004, 00:14 #5Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
MSVC++ 6.0, en kheb al heel wat andere dingen gedaan met opengl en textures zijn nooit een probleem geweest... tot nu :| (mja ik heb da deel van de code ni geschreven, dus da maakt het nog eens moelijker
)
[Rasta]Grayfoxno votes
-
10-09-2004, 10:24 #6Member
- Registered
- 10/01/03
- Location
- De Panne / Leuven
- Posts
- 153
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
10-09-2004, 13:10 #7Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
ja heb ik al geprobeerd, maar glGenTexture is niet de enige openglcommand die GL_INVALID_OPERATION genereert, wss ook al die andere zoals glEnable(GL_TEXTURE_2D) en glBindTexture
*edit* lol een plaats in de code gevonden waar ik GL_NO_ERROR krijg, dan heb ik daar mn renderscene gezet en nu werken de textures ^^^^
maja, de bug is nog altijd ni weg :X[Rasta]Grayfoxno votes
-
10-09-2004, 19:31 #8Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
Eindelijk bug gevonden ^^
die gast die de loading code geschreven had (en ook al het grootste deel van het project
) die had de files laten loaden in telkens een aparte thread (dus ook de textureloading) en dan liet hij de loadinganimation tegelijkertijd runnen tijdens het andere laden gebeurde (textures, map, sounds)
dat zorgde ervoor dat de gl calls om de textures te genereren tussen de glBegin en glEnd van de loading animatie kwamen...
da was dus niet direct zichtbaar in de code zelf, mja tis nu eindelijk gefixed ^^[Rasta]Grayfoxno votes
