# Probleme mit Texturen



## BangBingBong (9. Mai 2012)

Hallo, 
ich habe ein kleines 3d - "Spiel" ...
In folgendem habe ich eine kleine Textur eingebaut:

```
Texture sand = Textures.loadTexture("sand");
		
		sand.bind();
		
		glBegin(GL_QUADS);
		{
			glTexCoord2f(0, 0);
			glVertex3f(-10.0f, 2.0f, -10.0f);
			glTexCoord2f(100, 0);
			glVertex3f(10.0f, 2.0f, -10.0f);
			glTexCoord2f(100, 100);
			glVertex3f(10.0f, 2.0f, 10.0f);
			glTexCoord2f(0, 100);
			glVertex3f(-10.0f, 2.0f, 10.0f);
		}
		glEnd();
```
die klassse Textures ist wiefolgt

```
public class Textures {
	public static Texture loadTexture(String key) {
		try {
			return TextureLoader.getTexture("PNG", new FileInputStream(new File("res/" + key + ".png")));
        } catch (FileNotFoundException e) {
             e.printStackTrace();
        } catch (IOException e) {
             e.printStackTrace();
        }
        return null;
    }
}
```

Nun wenn ich dies starte sind die Texturen nicht skaliert sondern sind verschwommen und wiederholen sich  ! Vielen Dank für Hilfe!!!!


----------



## Guest2 (9. Mai 2012)

Moin,

sofern Du die Textur-Matrix nicht verändert hast, reichen die Texturkoordinaten immer von 0/0 (links/unten) bis 1.0/1.0 (rechts/oben). Da Du bei TexCoord aber 100 angegeben hast, wird sich die Textur bei Dir wahrscheinlich 100 Mal wiederholen.

Viele Grüße,
Fancy


----------



## BangBingBong (9. Mai 2012)

Ja schon aber wenn ich statt 100 1 einsetze wird ein Teil der Plattform schwarz und der rest ist eine verschwommene Textur


----------



## tdc (9. Mai 2012)

Wie groß ist denn deine Textur?

Versuche mal das Bild zu skalieren auf 2er-Potenz * 2er-Potenz.


----------



## Marco13 (10. Mai 2012)

Wenn's an der 2erpotenz liegen würde, würde es glaub' ich "lauter knallen"... Bin aber nicht sicher...



BangBingBong hat gesagt.:


> Ja schon aber wenn ich statt 100 1 einsetze wird ein Teil der Plattform schwarz und der rest ist eine verschwommene Textur



Kann ich mir gerade nicht vorstellen. Gibt's da einen Screenshot (evtl. auch das Textur-PNG, damit man sieht, was man sieht?)


----------



## tdc (10. Mai 2012)

Marco13 hat gesagt.:


> Wenn's an der 2erpotenz liegen würde, würde es glaub' ich "lauter knallen"... Bin aber nicht sicher...



Wenn ich mich nicht vollkommen irre, gabs bei mir immer nur schwarze Ränder bei den Texturen.


----------



## Marco13 (10. Mai 2012)

Hmja, stimmt, da war was... ist zumindest einen Versuch wert. (Eigentlich sollte heute jede Graka auch andere Texturen können, aber wer weiß...)


----------



## Guest2 (10. Mai 2012)

NPOT Texturen müssen ab OpenGL 2.0 unterstützt werden. Auch vorher unterstützten das einige Grafikkarten bereits per Extension. Die Geforce FX (von 2003) war die Letzte, die "Probleme" mit NPOT hatte (sie konnte es, schaltete dann jedoch ins Software Rendering um). Bei ATI und Intel liegt der Zeitrahmen ähnlich. Sofern die Grafikkarte des TO also nicht 9+ Jahre alt ist, sollte es eigentlich nicht daran liegen.

Andererseits können POT Texturen heute immer noch Vorteile haben (NPOT Texture). 

Viele Grüße,
Fancy


----------

