Freepascal-Thread


KidPaddle said:
Kannst Du mir die OpenGL ES Header und das Testprogramm bereit stellen? Zum Testen, ob es auch auf den anderen Maschinen läuft. Ich würde es gerne in die "Suite" integrieren.
Ja sicher.. es ist allerdings nichts abgeändert worden.. ich habe lediglich die Header und Tutorials von carli http://forum.gp2x.de/viewtopic.php?t=10792
genommen und mit deiner FPC Version kompiliert. Auf der Pandora gibts noch ein Problem welches ich im verlinkten Thread erläuterte.

Hier habe ich folgendes gezipped:
carlis aktuellstes Paket aus OpenGLES-Headern und 2 Beispielprogramme, sowie die kompilierten Versionen der beiden Beispielprogramme (per make_win und make_armel)
 

Attachments

  • carli.zip
    478.6 KB · Views: 390
Juhu, die Pandora kann kommen!

Danke für eure Pionierarbeit, abgesehen von den ES-Headern scheint Pascal nun schon zu geschätzten 96,5% einsatzfähig zu sein! :-D :juhu:

Das heisst, ich kann meine Pandora programmieren ohne mich in C oder so Zeuch einarbeiten zu müssen. :)

Vielen Dank an euch :love:

Wenn ihr die Header zum Laufen gebracht habt, könnt ihr ja mal eine kurze Meldung im entsprechenden Forum verfassen, damit noch mehr Leute darauf aufmerksam werden. :yes: ;)

@Kidpaddle wenn du gerade dabei bist, so ein Spiele-Pascal zu bauen: Ich denke Allegro.Pas sollte unbedingt noch in deine Distribution... :) Eventuell noch weiterer Kram.

Irgendwann in ferner Zukunft können wir ja anstreben, FPC selbst als PND für die Pandora anzubieten und PNDs direkt aus einer Entwicklungsumgebung heraus zu generieren. Wobei ein halbwegs begabter Programmierer eigentlich auch schon mit deiner jetzigen Arbeit zurecht kommen sollte. ;)

Ansonsten denke ich an die Castengine oder LEAF, aber die auf Carli-ES umzusetzen wird wahrscheinlich ziemlich kompliziert. :confused:??
 
Ich habe mir kurz Carli's Header angesehen und dort wird OpenGL ES mit dem Paramter SDL_OPENGL in der Funktion SDL_SetVideoMode aktiviert. Das funktioniert unter Windows, wobei ich glaube, dass OpenGL und nicht "OpenGL ES" geladen wird. Auf dem Caanoo wird der Aufruf mit der Meldung beendet, das OpenGL nicht zu Verfügung steht.

Ich hatte mal angefangen für den WIZ eine OpenGL ES 1.1 - Bibliothek zu erstellen, werde diese mal wieder heraus holen aus den Tiefen meiner Festplatte. Sobald ich es hin bekommen habe die "libopengles_lite.so" zu laden, kann es weiter gehen.

Gruß
Thomas
 
KidPaddle said:
Ich habe mir kurz Carli's Header angesehen und dort wird OpenGL ES mit dem Paramter SDL_OPENGL in der Funktion SDL_SetVideoMode aktiviert. Das funktioniert unter Windows, wobei ich glaube, dass OpenGL und nicht "OpenGL ES" geladen wird. Auf dem Caanoo wird der Aufruf mit der Meldung beendet, das OpenGL nicht zu Verfügung steht.
Das hatte ich mir natürlich auch angesehen und festgestellt.. Allerdings bin ich davon ausgegangen dass das auch im Falle von OpenGL ES so seine Richtigkeit hat.
Beim Googlen habe ich folgende 2 Möglichkeiten gefunden: http://pandorawiki.org/Combining_OpenGL_ES_1.1_and_SDL_to_create_a_window_on_the_Pandora

In der ersten Möglichkeit wird ebenfalls auf eine modifizierte SDL-Version hingewiesen, welche den Aufruf SDL_SetVideoMode(800, 480, 16, SDL_OPENGLES) ermöglichen soll.
Genau davon hat auch carli geschrieben.. allerdings dachte ich dass das aktuelle Problem nichts mit diesem Tipp zu tun hatte.. naja, erst nachdem ich auf diese Seite gestoßen bin
merkte ich dass es genau das Problem lösen könnte.

Dummerweise wird alles nur für C angeboten, sodass die Headerdateien erstmal komplett übersetzt werden müssten

Die interessanten Quellen die auf der bereits oben verlinkten Seite verlinkt werden sind:

https://github.com/Cpasjuste/SDL-13
oder
https://github.com/Cpasjuste/sdl-1.2.13_gles
https://github.com/Cpasjuste/sdl-1.2.13_gles_example

https://github.com/Cpasjuste/GLES2D
 
Hat jemand ein funktionierendes Beispiel in c/c++ für den GP2XWIZ und Caanoo, welches nicht auf der DGE - Bliothek von GPH basiert? Ich bekomme es nicht hin, beim WIZ funktioniert das kompilieren, aber der Aufruf von eglCreateWindowSurface() schlägt fehl, beim Caanoo kann ich die Datei nicht linken, "crt1.o" wird nicht gefunden, obwohl die entsprechenden Pfade in der Linker - Sektion hinterlegt sind. Brauche ein funktionierende Beispiel, damit ich meine Pascal Implementierung testen kann.

Gruß
Thomas
 
Vielleicht wäre es besser wenn du diese Frage in den betreffenden Foren stellst.
Ich habe jedenfalls nicht geantwortet weil ich keine Erfahrungen diesbezüglich habe.

Gruß: Arthur.
 
Hui hab lange nicht mehr hier vorbeigeschaut.

Jep, die Context-Initialisierung ist für jede Plattform anders. Für die Pandora müsste man GLES mit EGL initialisieren.
Ich hab schon versucht, erfolglos ein paar EGL Tutorials in C zum Laufen zu bekommen, aber das wird bestimmt noch was.

-- Mi Apr 13, 2011 08:42 --

Achja:

Wenn du es schaffst, ein Fenster mit GLES-Kontext zu erstellen, musst du im Prinzip nur noch die "GetProcAddress"-Funktion des Headers umschreiben, die Beispiele anpassen und schon sollte es laufen.

-- Fr Jun 17, 2011 18:30 --

So,
jetzt, da ich meine Pandora in den Händen halte, hab ich mal ein bisschen gespielt und ein Hello World, sowie ein schwarzes SDL-Fenster gehen schon.
 
Back
Top