# JOGL und Texturing



## Campino (21. Mai 2005)

hi, 
wie funktioniert Texturing in JOGL/OpenGL. Ich weiß, dass das eventuell etwas komplex ist, um es einfach mal eben hier zu erklären, aber vielleicht weiß ja jemand ein gutes Tutorial. Danke schonmal....


----------



## AlArenal (22. Mai 2005)

http://www.stud.ntnu.no/~johanno/appletviewer.jsp?task=tutorials

Texturing wird in Teil 5 kurz demonstriert:
http://www.stud.ntnu.no/~johanno/appletviewer.jsp?task=tutorials&dir=tutorial05&nr=0


----------



## Campino (25. Mai 2005)

okay, nach Lektüre des Tut's:

```
buff=image;
		 Raster r = buff.getRaster();
         int[] img = null;
         img = r.getPixels(0, 0, buff.getWidth(), buff.getHeight(), img);

         texture = ByteBuffer.allocateDirect(buff.getWidth() * buff.getHeight() * 3);
         for (int y = 0; y < buff.getHeight(); y++){
             for (int x = 0; x < buff.getWidth(); x++) {
                 texture.put((byte) img[(y * buff.getWidth() + x) * 3]);
                 texture.put((byte) img[(y * buff.getWidth() + x) * 3 + 1]);//hier
                 texture.put((byte) img[(y * buff.getWidth() + x) * 3 + 2]);
             }
	}
         tWidth = buff.getWidth();
         tHeight = buff.getHeight();
```

leider wirft dieser Code eine ArrayIndexOutOfBoundsException in der Markierten Zeile.

[edit]
Ich denke, in dem Array liegen die einzelnen Werte hintereinander, so als wären einfach alle Bildzeilen hintereinandergeklebt. mit y*width gehen wir in die richtige Reihe und mit +x in das richtige Feld. Aber was soll das *3?
und dass +1 bzw. +2?


----------

