Grafikfunktionen selbst schreiben?

Status
Nicht offen für weitere Antworten.

Waljakov

Mitglied
Morgen,
ich bin neu hier und beschäftige mich schon eine kleine Zeit lang mit Java, hauptsächlich Spieleprogrammierung.

Da Java ja ziemlich High-Level ist, habe ich mir die Frage gestellt, wie es möglich ist, Grafikfunktionen in Java zu schreiben. Also ich meine keine Erweiterung der AWT/Swing, sondern wie man selbst etwas vollkommen neues schreiben könnte. Mir ist klar, dass das kein Projekt für einen einzelnen Schüler ist, aber Interesse ist ja nicht verboten ;)

Ich weiß auch, dass der Source des AWTs offen ist, aber soweit, dass ich da auch nur ansatzweise was verstehe, bin ich noch nicht.
Ich hab mir mal das Graphics-Objekt angeschaut, es dann aber aber schnell wieder aufgegeben.

Ich hoffe, dass meine Frage so ausgedrückt ist, dass ihr was damit anfangen könnt und dass sich jemand erbarmt und mir bisschen was erklärt.

MfG,
Waljakov
 

Marco13

Top Contributor
Was genau meinst du mit "Grafikfunktionen"? Sowas wie JOGL wirst du vermutlich schon gefunden haben. Ansonsten kannst du davon ausgehen, dass es nicht vollkommen trivial ist, dafür zu sorgen, dass bei "g.drawOval(...)" auf Windows, Linux und MacOS ein immer gleich aussehendes Oval in einem Fenster erscheint..........
 

Waljakov

Mitglied
Mhh, also JOGL ist ja mehr oder weniger eine Portierung.
Aber was ich meine, ist, wie man etwas zeichnet ohne eine bestehende Grafik-API zu verwenden. Also wenn man selbst eine schreiben wollte (ich will es nicht, aber es interessiert mich), wo müsste man da ansetzen? Ist sowas in Java überhaupt möglich oder müsste man sich da an einer etwas hardwarenäheren Sprache wie C/C++ orientieren?
Oder ist die AWT komplett in Java geschrieben?

Ich suche einfach etwas Literatur darüber.
 

Noctarius

Top Contributor
Die Grundlagen (z.B. DirectX Zugriffe) müsstest du kompeltt in C / C++ implementieren und über JNI (Java Native Interface) in Java laden. Dort könntest du dann die ganzen Higher-Level Funktionen ohne direkten Zugriff auf die Hardware einbauen.

Vollständig in Java wäre es nur auf Systemen möglich, welche entweder einen Prozessor haben, der ansich schon Java ausführen kann (einige Embedded Prozessoren) oder wie unter Solaris, wo das Betriebssystem eine entsprechende Schnittstelle zur "Treiber- und hardwarenahen Programmierung" zur Verfügung stellt.
 
Status
Nicht offen für weitere Antworten.

Oben