Kann nur ein Objekt mit LWJGL rendern

UnterKind

Mitglied
Hallo,

ich habe momentan ein Problem. Ich hab inzwischen mein nächstes Spiele Projekt angefangen.

Das Problem ist das ich immer nur die Textur eines Objektes anzeigen lassen kann. Ist ein bísshen nervig. Mein Code springt laut debugger in den Teil des Codes der die Render aufgaben übernimmt rein. Aber ich kriege nie mehr als 1 Textur angezeigt. Ich hoffe ich konnte das Problem halbwegs vernünftig erklären. Ich poste noch den fürs rendern dazu.

Sollte das nicht reichen einfach nach mehr Code fragen und ich poste den noch nach.

Java:
	public void render() {
		GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
		Color.white.bind();
		texture.bind(); // or GL11.glBind(texture.getTextureID());

		GL11.glBegin(GL11.GL_QUADS);
		GL11.glTexCoord2f(1,1);
		GL11.glVertex2f(positionX, positionY);
		GL11.glTexCoord2f(0,1);
		GL11.glVertex2f(positionX + texture.getTextureWidth(), positionY);
		GL11.glTexCoord2f(0,0);
		GL11.glVertex2f(positionX + texture.getTextureWidth(),
				positionY + texture.getTextureHeight());
		GL11.glTexCoord2f(1,0);
		GL11.glVertex2f(positionX, positionY + texture.getTextureHeight());
		GL11.glEnd();
	}
 
Okay so, da ich gerade den Editier Button nicht finde schreibe ich einfach drunter:

Habe die Lösung gefunden:
Java:
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
darf nicht in der Renderfunktion aufgerufen werden. Sondern nur einmal pro Frame, also habe ich kurzerhand diese Funktion in die Gameloop geworfen.
Java:
public void start() {
		/*Code der nichts mit dem Fehler zu tuen hat.*/
		while (!Display.isCloseRequested()) {
                          GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
		          /*Code der nichts mit dem Fehler zu tuen hat.*/
		}
		Display.destroy();
	}
 
Versuch es mal mit den Methoden
Java:
GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture.getTextureID());
GL11.glEnable(GL11.GL_TEXTURE_2D);
Bei mir funktioniert es. 😀
 
Zuletzt bearbeitet:

Zurück
Oben