PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Open GL Texturezuweisung - Anfängerproblem


Falke
2003-10-17, 17:11:01
Hi!

Ich hab bisher noch nichts in OpenGl gemacht und möchte nun gerne ein Programm von mir ein wenig aufpolieren.

Dafür habe dafür den Beispielcode von einem Planetensystem verwendet und wollte ihn anpassen. Dabei habe ich nun aber das Problem, daß nur die Texturen verwendet werden die im Beispiel vorgesehen waren. Wenn ich neue Texturen zum Array hinzufüge, und dann diese Auswähle schaut es so aus, als ob nichts verwendet wird, bzw. es werden immer die selben 2 Texturen verwendet.

Wenn ich richtig verstanden habe werden durch folgende Zeilen die Texturen eingeladen:


LoadBMP App.Path & "\Bilder\Planet_12.bmp"
wglMakeCurrent hDC1, hglRC1
glBindTexture GL_TEXTURE_2D, TArray(planet1)
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR
glTexImage2D GL_TEXTURE_2D, 0, 3, Binfo.bmiHeader.biWidth, Binfo.bmiHeader.biHeight, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, Bdata(0)
wglMakeCurrent hDC2, hglRC2
glBindTexture GL_TEXTURE_2D, TArray2(planet1)
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR
glTexImage2D GL_TEXTURE_2D, 0, 3, Binfo.bmiHeader.biWidth, Binfo.bmiHeader.biHeight, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, Bdata(0)
DeleteObject hBitmap: Erase Bdata


und durch


glPushMatrix
glColor3f 0.7!, 0.7!, 0.7!
glRotatef Rev(planet1), 0, 1, 0: glTranslatef 18!, 0!, 0!
glPushMatrix
glRotatef Rot(planet1), 0!, 1!, 0!
glRotatef -90, 1!, 0!, 0!
glLoadName planet1
glBindTexture GL_TEXTURE_2D, TArray(planet1): gluSphere QObj, 1.5, 50, 30
glPopName
glPopMatrix
If Selected = planet1 Then 'The Clouds if selected
glPushMatrix
glEnable GL_BLEND
glColor4f 1!, 1!, 1!, 0.3!
glBindTexture GL_TEXTURE_2D, TArray(6)
glRotatef -Rt, 0, 1, 0
glRotatef -90, 1!, 0!, 0!: gluSphere QObj, 1.7, 30, 30
glDisable GL_BLEND
glPopMatrix
End If
glPopMatrix


zugewiesen.

Solange ich nun die ersten 6 Texturen verwende (7 und 8 sind für die Wolken), wie sie im Beispiel verwendet werten funktioniert alles wie es soll, sobald ich aber 9 oder höher einsetzte geht nichts. Hat jemand eine Idee woran das liegen könnte?