LWJGL Texturen

Hallo
ich möchte mit lwjgl Texturen laden und auch benutzen hierzu habe ich dieses Tutorial gemacht:

LWJGL Textures Tutorial

und verwende auch die Bibliothek, die dort erwähnt wird(slick-util). Doch es wird nur eine weiße Fläche angezeigt.
Es ist nur ein kleiner Test, hier der Quellcode:

package test.lwjgl;

import java.awt.Canvas;
import java.awt.Dimension;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.swing.JFrame;

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.opengl.Texture;
import org.newdawn.slick.opengl.TextureLoader;

import static org.lwjgl.opengl.GL11.*;

public class Main {
	
	Texture texture;
	JFrame f;
	int w, h;

	public static void main(String[] args){
		new Main();
	}
	
	public Main(){
		f = new JFrame("LWJGL Test");
        f.setPreferredSize(new Dimension(700, 550));
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocation(900, 50);
        f.pack();
        Canvas canvas = new Canvas();
        f.add(canvas);
        try{
	        f.setVisible(true);
	        Display.create();
	        Display.setParent(canvas);
        }
        catch (LWJGLException e) {
	        e.printStackTrace();
	        Display.destroy();
			System.exit(1);
	    }
		try {
			texture = TextureLoader.getTexture("PNG",
					Main.class.getResource("../../textur.png").openStream());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			Display.destroy();
			System.exit(1);
		} catch (IOException e) {
			e.printStackTrace();
			Display.destroy();
			System.exit(1);
		}
		w = Display.getWidth();
		h = Display.getHeight();
		while(!Display.isCloseRequested()){
			glClear(GL11.GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
            glViewport(0, 0, w, h);
			glMatrixMode(GL_PROJECTION);
			glLoadIdentity();
            glOrtho(0, w, h, 0, 0, 1000);
            glDisable(GL_DEPTH_TEST);
            glEnable(GL_BLEND);
  	      	glBlendFunc(GL_SRC_ALPHA, GL_ONE);
			glBindTexture(GL_TEXTURE_2D, texture.getTextureID());
			glBegin(GL_TRIANGLES);
			glTexCoord2f(1, 0);
			glVertex2i(450, 10);
			glTexCoord2f(0, 0);
			glVertex2i(10, 10);
			glTexCoord2f(0, 1);
			glVertex2i(10, 450);
			glTexCoord2f(0, 1);
			glVertex2i(10, 450);
			glTexCoord2f(1, 1);
			glVertex2i(450, 450);
			glTexCoord2f(1, 0);
			glVertex2i(450, 10); 
			glEnd();
			Display.update();
		}
	}
}

mal texture.getTextureID() ausgeben? evtl dort ein fehler?

Und ich benutze slick nicht, lade meine texturen selber. wenn du willst,
kann ich dir die klasse geben

Es ist so, dass ich nirgends ein gescheites Tutorial zum manuellen Laden gefunden hab, also benutze ich das. TextureID = 1. Und wenn das hier zu nichts führen sollte würd ich mich über deine Klasse freuen

Ich bin mir nicht ganz sicher, aber ist beim veralteten opengl (also ohne shader, wie du es ja offenscihtlich benutzt) nicht ein “glEnable(GL_TEXTURE_2D)” nötig?

*** Edit ***

also vor der while loop… versuch mal

*** Edit ***

braucht texture loader.gettexture unbedingt nen file input stream? vllt ist da auch ein fehler…
eventuell mal das bild einfach so versuchen zu laden und mit graphics 2d zeichnen?

an GL_Texture_2d enablen lags.Es funktioniert jetzt, nur ist meine Textur mit Transparenz, die wird aber weiß angezeigt, obwohl ich doch blending auch mache

mal abgesehen davon solltest du modernes opengl benutzen… hast du dich mal mit shadern buffer objekten und co beschäftigt?

zur transparenz, versuch mal “GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);”

außerdem, dein parent, also die canvas hat doch einen weißen hintergrund? wie soll lwjgl da “transparenz” hinzaubern?

Danke, die Transparenz wird jetzt auch angezeigt und zu diesen Shadern hab ich mal mich ein bisschen beschäftigt unter Zurhilfenahme des Tutorials auf der LWJGL Seite. Jedoch war das für mich relativ unverständlich, was größtenteils davon kam, dass nichts aus diesem Tutorial funktioniert hat, nichtmal der vollständige Quelltext, den ich mittels copy und paste so verwendet hab, wie er da stand. Wenn du ein ordentliches Tutorial weiß, wäre es nett, den Link zu posten.

Hier hab ich am Anfang gelernt.

Category: Modern OpenGL Series — Tom Dalling

ist zwar c++, kann man aber relativ leicht auf java umschreiben

das hier wurde mir damals auch von @Fancy empfohlen (glaube ich)

Learning Modern 3D Graphics Programming

der profi auf diesem gebiet ist.

außerdem findest du ca 3.200.130 themen in denen ich fragen zu opengl gestellt hab,
einfach mal durch meine themen blättern… da findet man den ein oder anderen thread ^^
ansonsten einfach selber einen aufmachen wenn etwas nicht läuft