# Grafikfunktionen selbst schreiben?



## Waljakov (6. Apr 2009)

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 (6. Apr 2009)

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 (6. Apr 2009)

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 (6. Apr 2009)

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.


----------



## Waljakov (6. Apr 2009)

Gibt es da eventuell Literatur/Tutorals, etc. zu?


----------



## Noctarius (6. Apr 2009)

Waljakov hat gesagt.:


> Gibt es da eventuell Literatur/Tutorals, etc. zu?



Java Native Interface ? Wikipedia


----------



## Waljakov (7. Apr 2009)

Okay, danke an alle!


----------

