Basic Textur zeichnen mit JOGL, mit einem Textur-Objekt
Ich versuche zu geben Sie die Benutzer meiner Anwendung die Möglichkeit zum laden ein Bild Ihrer Wahl, um den hintergrund. Laden Sie das Bild über Java ist kein problem, aber ich kann nicht bekommen Sie das Bild in eine textur....Bin nur am Ende mit einem großen grauen Kasten auf meinem GLCanvas. Dies ist der code den ich bisher:
//if there's an image to overlay, render it
if (renderImage) {
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
if (texture == null && img != null) {
texture = TextureIO.newTexture(img, true);
texture.enable();
texture.bind();
}
gl.glBegin(GL.GL_POLYGON);
gl.glNormal3f(0,0,1);
gl.glTexCoord2d(-texture.getWidth(), -texture.getHeight());
gl.glVertex2d(-25, -25);
gl.glTexCoord2d(-texture.getWidth(), texture.getHeight());
gl.glVertex2d(canvas.getWidth(),0);
gl.glTexCoord2d(texture.getWidth(), texture.getHeight());
gl.glVertex2d(canvas.getWidth(), canvas.getHeight());
gl.glTexCoord2d(texture.getWidth(), -texture.getHeight());
gl.glVertex2d(0, canvas.getHeight());
gl.glEnd();
gl.glFlush();
}
//otherwise, render "grass"
else {
gl.glClearColor(0.0f, 0.65f, 0.0f, 0.0f);
//Clear buffer and set background color to green (the "grass" on the sides of the intersection)
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
}
- vielleicht haben Sie nicht achten Sie auf die Titel, ich würde gerne eine Textur-Objekt um dies zu erreichen, gerade weil durch meine Tage der Forschung, BEGINNEND MIT NEHE, schien es, dass war den meisten bis zu Datum und einfache Weg, um textur. Und da habe ich weniger als eine Woche Erfahrung mit JOGL ich fand es schwer zu verstehen, was in der NEHE, und ich weigere mich, Sie zu kopieren und einfügen von code, vor allem, wenn ich verstehe es nicht... aber danke für deinen Beitrag, echt hilfreich
- Auch ich akzeptieren müssen image-Dateien .bmp -, .png -, .jpg, und .gif der die NeHe-Beispiele decken nicht.
- NeHe ' s tutorials verwenden textur-Objekte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Nicht-wiederholende textur-Koordinaten werden in der von 0.0 bis 1.0 reichen standardmäßig.
GL_POLYGON
es unterstützt nur konvexe Polygone.Legte ich
in einem try -, catch-Anweisung.