Aufbau einer JOGL Anwendung

A

AllquantorX

Gast
Hallo Forum,

ich habe eine Frage zum Design einer Applikation, die auf 3D mittels Jogle umgestellt werden soll. Hier gibt es einige Rahmenbedingungen, die zu beachten sind. Dabei soll nur 'neues' OpenGL verwendet werden, d.h. VBOs / VBAs und keine fixe Render-Pipeline (sofern dieser Ansatz geeignet ist).

Die Applikation besitzt zur Zeit einen 2D Viewport, der jetzt auf 3D umgestellt werden sollen. Ein solches Modell (das angezeigt wird) besteht lediglich aus einer Liste von Objekten, die alle von AnimationObject erben. Davon gibt es in der Regel mehere Hundert oder Tausend (auch mal bis 100.000). Jedes AnimationObject kann völlig unterscheidliche Eigenschaften haben, teilweise werden erst zur Laufzeit neue Klassen nachgeladen, die Applikation kennt die Implementierungen also nicht, sondern nur die Methoden der Basisklasse AnimationObject.

Diese AnimationObjects besitzen eine Methode (deren Signatur noch festgelegt werden kann), die in konkreten Unterklassen überschreiben werden muss, um festzulegen, wie genau das Objekt darzustellen ist. Relativ zu einem zentralen Ursprung. Das können z.B. ein Würfel eine Kugel oder andere ganz wilde Polygon-Haufen sein.

Nun sollen das Modell (d.h. alle AnimationObjects) schnell in 3D gezeigt werden. Es handelt sich um eine Echtzeit-Animation. Die Objekte können sich während dieser Animation bewegen und es werden recht häufig auch neue Objekte hinzugefügt und alte Objekte gelöscht (einfach durch add oder remove auf dieser Liste). Alles kein Problem, wenn es mit der alten Pipeline umgesetzt werden soll. Dort kann jedes Objekt einfach eine Display-List erzeugen und die Applikation kann von jedem Objekt einfach eine render-Method aufrufen. Hier ist es kein Problem, dass die Objekte-Liste sich ständig ändert oder die Positionen der Objekte sich in der Animation verändern da mit jedem render Vorgang die Daten neu in die Pipeline gejagd werden.

Wie löst man dies allgemein mit VBAs am Besten? Muss man die Vertex-Daten bei jeder Änderung in der Objekt-Liste (was häufig vorkommt) komplett neu an die Graphikkarte übertragen? Ist das nicht kostpielig? Würde man für jedes Objekt einen eigenen Vertex-Buffer anlegen? Wie geht man mit Bewegung von Animation am Besten um?

Vielen Dank
 

Kr0e

Gesperrter Benutzer
Grundsätzlich:


Ein VBO enthält die Row-Vertex Daten. Da es bei dir offenbar durchaus ne ganze Menge an Objekten geben wird, würde ich vorschlagen, mehrere Objekte in einem VBO zusammen zufassen.

Bewegungsänderungen von Objekten werden mittels Vertex-Shadern gemacht. Der Shader bekommt dann die Rohdaten als Stream von einem VBO und kann Transformieren (Matrix ModelView/Projektion).

Danach muss der Fragment-Shader noch Farbwerte für die Fragmente (Pixel) berechnen. Du brauchst also definitiv Shader um in der neuen Welt von OpenGL auch nur iwas zu zeichnen.


Wenn sich ein Objekte strukturell verändert (also wenn die Position der Vertices sich zueinander ändert) kannst du die VBOs updaten. Es gibt beim Erstellen dafür ein Flag. Ich meine es heißt GL_DYNAMIC_DRAW oder so ähnlich. Damit kannst du den Treiber anweisen, diesen VBO für häufige Änderungen zu optimieren.


PS: Zur einfacheren Handhabung würde ich dann noch VAOs (Vertex Array Objects) einsetzen. Damit kann das Binden von Shadern/Attributen/VBOs auf der Grafikkarte als Befehlforlge gespeichert werden.


PSS: Falls du kannst, würde ich ggf. eine Library/Engine einsetzen um diesen ganzen LowLevel Kram managen zu lassen. Spart enorm Zeit. Z.b. jME3 oder sogar Java3D.
 
Zuletzt bearbeitet:
A

AllquatorX

Gast
Hallo,

vielen Dank schon einmal für die Antwort.

Wie sieht es mit der häufigen Änderungen der Objekte aus (ich meine Zufügen und Löschen aus der Liste der zuzeichnenden Objekte)? Werden dann üblicherweise alle Vertex-Daten neu übertragen oder kann man reletiv günstig ganze Blöcke dort entferenen und hinzufügen?

PS: Gibt es generell ein Pattern wann Java3D als High-Level Lösung dem JOGL Layer zu bevorzugen wäre?
 

Kr0e

Gesperrter Benutzer
Hi,

nun Java3D oder jME3 bietet einem natürlich sehr viel. Ich würde deine Frage so beantworten:
Wenn du ein umfangreiches 3D Problem hast, was mit Jogl und LWJGL viel Handarbeit erfordert, so würde ich eine der fertigen Lösungen vorschlagen.

Man kann jME3 z.b. auch einbetten in ein AWL Panel soweit ist weiß.


Nun zu dem Entfernen: Man kann den Buffer stets neu anlegen. Ich glaube es ist aber per Standard nicht unbedingt gewährleistet dass danach Daten drin sind, bzw korrekt drin sind. Insofern würde manuelles verkleinern/vergrößern ein Rewrite der Daten erfordern (Lasse mich hier aber gern korrigieren, z.b. von Guest2 aka Fancy)

Ich würde es einfach anders machen:

Du nimmst z.b. immer einen VBO für z.B. 100 Objekte (Vorausgesetzt die Objekte übersteigen nicht ein gewisses Maximum an Vertices) Wenn nun ein Objekt rausfliegt, können die Daten ruhig drin bleiben. Ich würde einfach den Platz als frei deklarieren. Diese Lösung wäre natürlich ideal wenn deine Objekte alle die gleiche Verticesanzahl hätten (in dem Fall wäre es perfekt :p).


Aber falls das nicht so ist, würde ich es mit einem Rewrite der Daten probieren, sooo langsam sind VBOs nicht. Was du aber defintiv machen kannst, ist dass du mehrer VBOs benutzt und immer nur den neuschreibst, wo sich was geändert hat.

So kannst du die Anzahl der neuzuschreibenden Objekte stark verringern.

Vlt. hat ja noch wer anders eine bessere Idee.
 

schalentier

Gesperrter Benutzer
Hey, ich kenn ja die genauen Anforderungen/die genaue Aufgabe nicht, aber du hast von Display-Listen geschrieben.

Evtl. waere es eine Moeglichkeit, in einem ersten Versuch mal alles auf normale OpenGL-Display-Listen umzustellen. Vermutlich waeren die notwendigen Aenderungen bei weitem nicht so aufwendig, wie die Umstellung auf das von Kr0e Beschriebene.

In meinem letzten OpenGL Experiment hab ich eine feste Anzahl von VBO mit fester Groesse benutzt und dort einfach Vertex-Daten reingeschrieben. Sobald ein Buffer voll ist, wird der in die Graka geladen und gerendert. Auf einem hoeheren Level hab ich Teile der Szene, die sich nicht aendern, in DisplayListen "gecached". Is halt schoen einfach zu implementieren.

Wenns zu langsam ist, kann man das immer noch umbauen und die Buffer zwischenspeichern, aber ich hatte da furchtbare Problem mit unterschiedlich grossen Buffern... Und am Ende haste zumindest belastbare FPS-Raten, die es mit der Alternative zu schlagen gilt ;-)

Falls es interessiert, hier der Code:

BufferedRenderer
Display-Listen-Cache
 

Kr0e

Gesperrter Benutzer
Java:
for( int x = 0; x < OctreeNode.CHUNK_SIZE; x++ ) {
    for( int y = 0; y < OctreeNode.CHUNK_SIZE; y++ ) {
         for( int z = 0; z < OctreeNode.CHUNK_SIZE; z++ ) {


Du machst bestimmt iwas MineCraft mäßiges, oder ?
 
A

AllquantorX

Gast
Hallo,

zu Display-Listen: Wie schon gesagt, Vorgabe ist, keine deprecated OpenGL Funktionen zu verwenden und ich denke dass Display-Listen dazu gehören (bitte um Korrektur, falls ich mich irre).

zu VBO: Ja, ich könnte die Objekte in Gruppen anordnen, allerdings gibt es im Vorfeld keinen Hinweis darauf, welche Objekte bald zu löschen sind und wo neue Objekte am Besten einzuodnen wären... Ist das wirklich ein geeignter Ansatz?
 

Kr0e

Gesperrter Benutzer
Hallo,

zu Display-Listen: Wie schon gesagt, Vorgabe ist, keine deprecated OpenGL Funktionen zu verwenden und ich denke dass Display-Listen dazu gehören (bitte um Korrektur, falls ich mich irre).

Das ist auch mein letzter Stand.


zu VBO: Ja, ich könnte die Objekte in Gruppen anordnen, allerdings gibt es im Vorfeld keinen Hinweis darauf, welche Objekte bald zu löschen sind und wo neue Objekte am Besten einzuodnen wären... Ist das wirklich ein geeignter Ansatz?


Hm, nungut ich kenne natürlich nicht deine Anforderungen. Ich denke aber, dass ein solches Modell gehen müsste, auch wenn alle Objekte in keinem Zusammenhang stehen, also wenn es iwo passieren könnte.

Damit wollte ich nur verhindern, dass halt der GESAMTE VBO neu geschrieben werden muss.
 

schalentier

Gesperrter Benutzer
Kr0e: Jupp, deswegen passt es nicht ganz zum Thema, aber das Prinzip ist ja ueberall gleich.

AllquantorX: Dann waere ein erster Versuch, einfach alles in Buffer zu schreiben und wenn voll, zu rendern. Dann kannst mit verschieden grossen Buffern experimentieren, Objekte ohne Aenderungen in speziellen Buffern zu merken, etc.

Ich glaube, es ist recht schwierig, auf solche Frage pauschale Antworten zu geben, ohne konkretere Zahlen zu haben.
 
G

Guest2

Gast
Moin,

bei aktuellem OpenGL sind die Grundlagen immer gleich: Vertex Specification, Vertex Rendering, Primitive.
Und hier wahrscheinlich noch: Buffer Object Streaming

Bei VBOs gilt erstmal größer ist besser. Wenn die Daten aber tatsächlich oft geändert werden sollen, dann ist etwa 4 MB ein Anhaltspunkt. Größer wäre besser, kann jedoch dazu führen das der Grafikkartenspeicher fragmentiert, was langfristig dann wieder bremsen kann. Wie viele Vertices das konkret sind, hängt davon ab wie viele Vertexattribute an einem Vertex hängen.

Grundsätzlich sollte man es aber vermeiden Dinge wie Sichtbarkeitsberechnungen oder Animationen auf der CPU berechnen zu wollen und das Ergebnis dann auf die Grafikkarte streamen zu wollen. Die GPU kann das alleine besser. Das dürfte hier aber vom [c]AnimationObject[/c] abhängen.

Was aber klar ist, bei 100.000 Objekten kann nicht 100.000-Mal der Shader gewechselt werden oder 100.000-Mal ein glDrawElements aufgerufen werden, dann bricht die Framerate ein. Die Objekte müssen also sinnvoll zusammengefasst werden.

Viele Grüße,
Fancy
 
A

AllquantorX

Gast
Ersteinmal vielen Dank für die Antworten und die Denkanstöße in die richtige Richtung. Ein/Zwei Fragen kommen mir so spontan noch auf:

Wie ist es genau gemeint, Animationen im Hintegrund laufen zu lassen? In diesem konkreten Fall geht es um eine Applikation, die durch eine ereignis-diskrete Simulation gesteuert wird, dass heißt es werden durch Ereignisse Dinge bewegt, gestoppt (genauer die Bewegung anggetoßen und das Ende der Bewegung markiert, aber auch plötzliche Stopps sind möglich durch unerwartete Events von Außen). Ereignis-Verarbeiter arbeitet in einem speziellen Thread, der mit einem bestimmeten Faktor synchron zur Systemzeit geschaltet wird (d.h. künstlich ausgebremst wird). Zwischen-Ergeignise führen zu Aktualiserung der Position von Objekten durch Interpolationen. Die Objekte kennen den Pfad auf dem sie sich bewegen und bei der Aktualisierung wird berechnet (unter Berücksichtigung von Geschwindigkeit, Beschleunigung und anderen Dinge) wie viel Prozent das Objekt auf seinem Pfad schon zurückgelegt hat.

Wenn ich es richtig verstehe würde man also ein Vertex-Shader laden, dem man dann, immer die aktuellen Pfad-Positionen berechnet wurden, Informationen / Parameter übergibt, die dann im Programm auswertet werden um die Vertex-Daten entsprechend zu translatieren und rotieren. Müsste es dann aber nicht für jedes Objekt eine solche Variablen geben oder wie kann man für jedes Objekt dem Shader mitteilen, wo sich das Objekt nun genau befindet?
 
G

Guest2

Gast
Idealerweise würde die Simulation selbst auf der Grafikkarte laufen, dann müssten keine Daten ausgetauscht werden und es gäbe auch keine Synchronisationsprobleme. Hier scheint aber die Simulation selbst schon zu existieren, sodass es nur ums Anzeigen geht. Das kann langsamer sein, als wenn sich alles auf der GPU abspielt. Hängt aber davon ab, ob und wo sich später ein Bottleneck bilden könnte.

So wie ich das bisher verstanden habe, würde ich das [c]AnimationObject[/c] so bauen, das dort zum einen eine Liste der normalen Vertexattribute (z.B. x, y, z, nx, ny, nz, s, t) zurückgegeben wird als auch eine Liste der Indices. Diese Listen sollten konstant sein. Die aktuelle Position und Rotation könnten als Transformationsmatrix zurückgegeben werden.

Im OpenGL Teil müssten mehrere [c]AnimationObject[/c] zusammengefasst werden, so das eine sinnvolle Größe entsteht. Dabei müssten entsprechende VAO/VBO/IBO gebaut werden. Ich würde dabei die Vertexattribute um ein zusätzliches Attribut ergänzen in dem die aktuelle ObjektID untergebracht wird. Die zugehörigen Tranzformationsmatrizen könnten über ein UBO an den Shader übergeben werden. In GLSL kann darauf wie auf ein Array zugegriffen werden, so das sich für jedes Vertex aus der zugehörigen ObjektID auch die zugehörige Transformatinsmatrix bestimmen lässt.

Allerdings garantiert die OpenGL Spec UBOs nur bis zu einer Mindestgröße von 16 kB. Realistisch dürften maximal 64 kB sein, was immerhin für 1000 Objekte reichen würde. Bei maximal 100.000 Objekten müsste das dann also in 100 Durchläufe mit je 1000 Objekten aufgeteilt werden. Das wäre dann vielleicht auch eine sinnvolle Maximalgröße für ein VBO. Eine Alternative dürften noch SSBOs sein, die sind wesentlich größer, jedoch erst ab OpenGL 4.3 verfügbar. Oder klassisch geht auch noch eine Buffer Texture.

Als Tipp würde ich Dir empfehlen mal das eine oder andere kleine OpenGL Programm zu schreiben um etwas Gefühl dafür zu bekommen.

Viele Grüße
Fancy
 
A

AllquantorX

Gast
Vielen Dank!

ich werde mit diesen Infos eines ersten Designansatz probieren und das ganze einmal ausprobieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Problem beim Aufbau des Spielfelds Spiele- und Multimedia-Programmierung 18
S Aufbau meines Top Down Shooters Spiele- und Multimedia-Programmierung 10
S Aufbau für 2D Spiele Spiele- und Multimedia-Programmierung 7
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
0 Vorgehensweise Aufbau/Strategie Spiel Spiele- und Multimedia-Programmierung 14
O Suche Tutorial zum Aufbau von großen Spielen(mit Multiplayer über Netzwerk...) Spiele- und Multimedia-Programmierung 3
M Aufbau Spiel Spiele- und Multimedia-Programmierung 2
T Verständnisfrage zum Aufbau des Universe Spiele- und Multimedia-Programmierung 3
YangLee Ausgabe von einer Bewegung bei mehrzeiligen Strings Spiele- und Multimedia-Programmierung 1
E relevanter bereich einer isometrischen karte zeichnen (AffineTransform) Spiele- und Multimedia-Programmierung 0
M Audio Track einer Musik CD abspielen mittels vlcj-Bibliothek Spiele- und Multimedia-Programmierung 0
Meeresgott LWJGL 3 Problem mit einer Texture Spiele- und Multimedia-Programmierung 4
D Programmierung einer Tor-Anzeige Spiele- und Multimedia-Programmierung 8
C Optimale Wegberechnung einer KI Spiele- und Multimedia-Programmierung 6
T Pong Hilfe bei einer Website Spiele- und Multimedia-Programmierung 4
R Einfärben von Gemeinden auf einer Karte Spiele- und Multimedia-Programmierung 14
S ECS: "deep copy" einer Entity-Vorlage Spiele- und Multimedia-Programmierung 9
R Aufruf einer render-Methode Spiele- und Multimedia-Programmierung 12
E A-Stern Algorithmus Problem und Implementierung einer Map Spiele- und Multimedia-Programmierung 6
J Frage zum Einlesen einer .wav in ein byte Array Spiele- und Multimedia-Programmierung 3
J Spielfiguren laufen lassen auf einer html Tabelle mit Hilfe von Servlets Spiele- und Multimedia-Programmierung 2
T Alle Referenzen zu einer Klasse aus Java Bytecode ersetzt, JVM sucht trotzdem diese Klasse Spiele- und Multimedia-Programmierung 1
M Kamera "am Rande einer Kugel bewegen" Spiele- und Multimedia-Programmierung 4
B Den KeyListener in einer JavaFXML Application benutzen Spiele- und Multimedia-Programmierung 2
gamebreiti Index eines Elements einer ArrayList abfragen Spiele- und Multimedia-Programmierung 1
F Das sag mir einer Java ist plattform unabhänig ! Spiele- und Multimedia-Programmierung 10
M Scrolling einer 2D Map Spiele- und Multimedia-Programmierung 8
J In einer While-Schleife auf Event warten Spiele- und Multimedia-Programmierung 3
TheSorm Collision an einer bestimmten Seite eine Rectangles abfragen Spiele- und Multimedia-Programmierung 3
windl Frage zu Airplay und zur Mitarbeit bei einer Mediaanlage Spiele- und Multimedia-Programmierung 0
L Werte aus einer .yml Datei lesen Spiele- und Multimedia-Programmierung 9
H Java3D - Textur aufs innere einer Sphere mappen Spiele- und Multimedia-Programmierung 9
F Download und Update einer Java-Anwendung Spiele- und Multimedia-Programmierung 10
D Problem beim bewegen einer Figur Spiele- und Multimedia-Programmierung 2
B Video von einer IP kamera Spiele- und Multimedia-Programmierung 5
W Java3D: Eckkoordinaten einer Box herausfinden Spiele- und Multimedia-Programmierung 18
W Rotation aller Objekte einer 3D-Szene Spiele- und Multimedia-Programmierung 8
2 Ein Zufallsweg bzw. Weg in einer 2dim Matrix finden. Spiele- und Multimedia-Programmierung 21
aze Schnittmenge zwischen Linie und einer Area wegschneiden Spiele- und Multimedia-Programmierung 3
A Bild einer Webcam auffangen Spiele- und Multimedia-Programmierung 20
G Ballerkennung aus einer Bilddatei Spiele- und Multimedia-Programmierung 24
B Generierung einer Wertetabelle aus einem Bild Spiele- und Multimedia-Programmierung 3
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
M Realisierung einer Sichtweise in Java2D Spiele- und Multimedia-Programmierung 3
B String zu Objekt einer eigenen Klasse casten Spiele- und Multimedia-Programmierung 13
H Screenshot einer Graphics2D Anwendung erstellen Spiele- und Multimedia-Programmierung 6
F Simulation einer Magnetischen Flasche Spiele- und Multimedia-Programmierung 17
F Meine Aufgabe: Client-Server am Beispiel einer Implementation eines Tic-Tac-Toe Netzwerkspieles Spiele- und Multimedia-Programmierung 7
J Fehlverhalten einer Spielfigur Spiele- und Multimedia-Programmierung 7
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
M Das Frequenzspektrum einer WAV/MP3-Datei anzeigen Spiele- und Multimedia-Programmierung 6
M Rechteck erkennung innerhalb einer Matix Spiele- und Multimedia-Programmierung 4
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
E Pinball Abprall an einer schrägen Bande Spiele- und Multimedia-Programmierung 19
0x7F800000 weiß einer wozu ANTLR beim build von JOGL verwendet wird? Spiele- und Multimedia-Programmierung 3
E Hilfe bei einer GUI Programmierung mit Graph Spiele- und Multimedia-Programmierung 30
A Tutorial für die Entwicklung einer Fussball-KI gesucht Spiele- und Multimedia-Programmierung 7
S Rotation relativ zur Rotation einer anderen Transform Group Spiele- und Multimedia-Programmierung 3
A Screenshots von einer Scene erstellen Spiele- und Multimedia-Programmierung 5
G Land aus einer Weltkarte selektieren Spiele- und Multimedia-Programmierung 10
D Kräftesimulation auf einer 2D-Oberfläche Spiele- und Multimedia-Programmierung 5
T Geschwindigkeit einer Animation aendern Spiele- und Multimedia-Programmierung 6
G Ermitteln eines Punktes in einer anderen TransformGroup Spiele- und Multimedia-Programmierung 2
N Background in Java3D ähnlich einer Skybox erzeugen Spiele- und Multimedia-Programmierung 5
H zB Punkte darstellen und mit einer Linier verbinden Spiele- und Multimedia-Programmierung 5
F Darstellung einer tierischen Zelle Spiele- und Multimedia-Programmierung 3
S Text an einer Seite eines Cubes Spiele- und Multimedia-Programmierung 7
F Das SPiel ruckelt nach einer Zeit Spiele- und Multimedia-Programmierung 19
D wieder einer von anfang an. Spiele- und Multimedia-Programmierung 4
M Darstellung einer schwingenden Membran? Spiele- und Multimedia-Programmierung 23
raptorrs Teile einer CAD-Assembly Gruppe in JAVA animieren? Spiele- und Multimedia-Programmierung 3
K Beschriftung von Punkten in einer "Punktwolke" Spiele- und Multimedia-Programmierung 2
S Zur Laufzeit auf die Methode einer anderen Klasse zugreifen Spiele- und Multimedia-Programmierung 5
K Klick in der nähe einer Strecke Spiele- und Multimedia-Programmierung 14
E JOGL kein zugriff auf manche methoden Spiele- und Multimedia-Programmierung 5
A Spielfelder erstellen mit Jogl Java durch ein Koordinaten Array Spiele- und Multimedia-Programmierung 1
M [JOGL] Maus über einem gezeichnetem Objekt abfragen? Spiele- und Multimedia-Programmierung 5
M [JOGL] eclipse export Runnable Jar - startet nicht Spiele- und Multimedia-Programmierung 3
D [JOGL] bibliothek aus jar laden Spiele- und Multimedia-Programmierung 3
A JOGL Shader Anfängerprobleme Spiele- und Multimedia-Programmierung 2
A JOGL FloatBuffer vs Buffers Spiele- und Multimedia-Programmierung 2
A JOGL glBindBuffer einmalig oder mehrmalig? Spiele- und Multimedia-Programmierung 3
Z lwjgl oder jogl nutzen Spiele- und Multimedia-Programmierung 9
A Jogl-Projekt unter 32-Bit kompiliert und unter 64-Bit ausführen, geht das überhaubt ?? Spiele- und Multimedia-Programmierung 9
turing JOGL Cubes performant Spiele- und Multimedia-Programmierung 17
M JOGL Cubus mit Rand darstellen Spiele- und Multimedia-Programmierung 3
T JOGL 2D Objekte drehen rotate Spiele- und Multimedia-Programmierung 4
X JOGL - wie zum laufen bringen? Spiele- und Multimedia-Programmierung 2
M Schatten mit JOGL Spiele- und Multimedia-Programmierung 4
D [JOGL 2.0] Kleines Problem mit freier Flugsteuerung Spiele- und Multimedia-Programmierung 3
U [JOGL 1.1.1a]Kleines Problem mit Text Overlays: Spiele- und Multimedia-Programmierung 19
D [JOGL] Freibewegliche Lichtquelle im Raum Spiele- und Multimedia-Programmierung 4
H JOGL 2.0 jars fehlen Spiele- und Multimedia-Programmierung 8
R JOGL: glUniformLocation gibt immer -1 zurück Spiele- und Multimedia-Programmierung 4
BattleMaster246 Problem mit Jogl Spiele- und Multimedia-Programmierung 14
Mikescher [JOGL] Access restriction Spiele- und Multimedia-Programmierung 6
K jogl einbinden Spiele- und Multimedia-Programmierung 6
X JOGL - Textur auf Quad verzerrt Spiele- und Multimedia-Programmierung 2
X JOGL - 2D Sprite richtig platzieren Spiele- und Multimedia-Programmierung 4
T JOGL im OrthoMode und Texturen verfärben sich Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben