Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Nov 28, 2021 04:35

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Aug 07, 2021 17:59 
Offline
DGL Member

Registriert: Mi Aug 04, 2021 21:07
Beiträge: 2
Programmiersprache: Delphi
Mahlzeit! :)

Ich stell mich kurz mal vor um einen Eindruck zu vermitteln bei was ich konkret Hilfe bräuchte.

(Hintergrund Info)
Ich heiße Ben, mittlerweile 41 Jahre und hab als reines Hobby schon seit Turbo Pascal allerlei Kram erstellt. Ich würde mich als Framework Rumschubser bezeichnen, jemand der nie großes Interesse hatte wie Dinge im Kern funktionieren, Hauptsache sie gehen. Deshalb hab ich schon früh Frameworks, APIs ect sehr zu schätzen gewusst. Das erste Windows Spiel lief mit DelphiX danach eines mit Powerdraw (Von Lifepower/Afterwarp). Mit den Nachfolgern Asphyre und PXL hab ich von 2004 bis 2018 eine Adventure Point & Click Engine/Editor weiterentwickelt (adventure-creator.com) mit der viele Leute zu meiner Freude insgesamt ein paar Dutzend Spiele fertig gestellt haben. Eigentlich hab ich das Projekt beendet aber jüngst hat ein Nutzer meiner Engine ein Spiel als Freeware auf Steam veröffentlicht und damit durchaus relativ Reichweite entwickelt. Deswegen hab ich wieder Bock bekommen doch noch mal was auf die Beine zu stellen... nur wenn dann eben von Grund auf neu! Diesmal mit 3D Option und Crossplatform, also mindestens Android.

Leider ist PXL ebenfalls beendet und Lifepowers aktuelles Framework richtet sich nun an Buisness und CAD Anwendungen. Es ist absolut mächtig, keine Frage, aber eben nicht entwickelt mit Blick auf Spiele was einige Dinge fehlen lässt sowie auch den Android Support, der zwar angekündigt ist aber bestimmt in diesem Bereich keine Priorität hat.

(Nur mein aktuelles Problem)
Ich weis nicht wie ich am besten Anfangen soll. Ich hab nach Framework Alternativen gesucht aber nichts gefunden womit ich klar käme oder alles kann was ich suche.

Dann dachte ich : "OK, dann muss ich eben wieder ganz klein Anfangen" also direkt OpenGL lernen und alles was ich brauche mir selbst beibringen. So bin ich hier gelandet.
Soweit so gut, hab mir einiges an Tutorials und Quickstarter Guides angeguckt und denke damit erst mal gut klarkommen zu können, aber eines fehlt scheinbar: Hinweise wie man mit OpenGLES anfängt. Überhaupt findet sich dazu überall recht wenig, also Delphi + OpenGLES.
Der Header von DGL ist ja auch nur für Desktopsysteme.

Dann schien es SDL wäre die Antwort, aber da gibts für Android gar keine Library (so) und keinerlei Header für Delphi außer eben für Desktopsysteme.

Ich möchte von Anfang an parallel lernen, also jeden Schritt sowohl für Windows als auch für Android ausführen können. (Initialisieren, erstes Dreieck zeichnen, erste Textur laden ect)

(Was ich also gerne wissen würde)
- Welchen Header für OpenGLES kann man verwenden? Unter Delphi/Firemonkey gibt es wohl einen aber ist der brauchbar wenn der normale OpenGL Header von Delphi so schlecht und veraltet sein soll?
- Gibt es ähnliche Tutorials wie hier über erste Schritte mit OpenGL aber eben mit dem Target Android /OpenGLES?
- Oder Beispielprojekte zum anschauen?


tl;dr
Wie fange ich am besten an wenn ich OpenGLES auf Delphi mit Ziel Android lernen will?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Aug 07, 2021 20:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 577
Programmiersprache: C++
Hm, ich bin mir nicht sicher, was du willst (bzw. ob du es selber weißt :wink: ).

Wenn du dich eigentlich nicht für Details interessierst (wie in deiner Kurzvorstellung angedeutet), sondern einfach nur schnell etwas zum Laufen kriegen willst, solltest du dich mal nach fertigen Engines umschauen (Unreal, Unity, ggf. Irrlicht, wobei ich nicht weiß wie gut das inzwischen auf Android funktioniert). Da wirst du dann mit Delphi bzw. Pascal allerdings nicht weit kommen. Du müsstest also ein Framework und eine andere Sprache lernen.

Willst du dich hingegen selbst um die Details kümmern, so sei dir gesagt, dass OpenGL ES nicht viel anders ist als modernes OpenGL. Mit modernem OpenGL meine ich das, was im Core Profile zur Verfügung steht. Also nicht glBegin und glEnd. OpenGL ES ist mehr oder weniger eine Teilmenge von "normalem" OpenGL. Daher sollten vom DGL-Header ausgehend keine allzu großen Änderungen nötig sein.

Falls die OpenGL-Entwicklung der letzten 15 Jahre an dir vorbeigegangen sein sollte, wird jetzt möglicherweise dein Weltbild zersört :twisted: :wink: :
  • Shader sind jetzt Pflicht. Es gibt keine Fixed-Function-Pipeline mehr.
  • Matrix-Funktionen wie gluPerspective, glFrustum, glOrtho usw. werden nicht mehr von OpenGL/GLU zur Verfügung gestellt. Dazu nimmt man andere Bibliotheken, oder wer es ganz hart will, programmiert es selbst.
  • Der Immediate Mode mit glBegin/glEnd ist weggefallen. Stattdessen lädt man seine Vertices und Indices in ein Buffer Object, beschreibt das Vertex Format mit einem Vertex Array Object und rendert das ganze mit glDrawArrays, glDrawElements oder einer ihrer Varianten.
  • Unser DGL-Wiki ist leider sehr in die Jahre gekommen und größtenteils noch nicht daran angepasst. Schau lieber gleich ins offizielle OpenGL-Wiki (ich hoffe du verstehst Englisch?).

Vulkan sollte man heutzutage auch erwägen, wenn man ganz von vorne anfängt. Davon gibt es keine ES-Version, es wird überall das gleiche genommen. Wobei ich glaube (nicht weiß), dass der Support von OpenGL ES auf Mobilgeräten immer noch verbreiteter sein dürfte. Und wie es da mit Delphi-Headern steht, weiß ich nicht. Allgemein kann man sagen, dass Delphi zwar in den 2000ern mal sehr beliebt war, aber mittlerweile benutzt das fast niemand mehr. Dementsprechend kriegt man auch keine neuen Libraries mehr für die Sprache.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Aug 07, 2021 21:49 
Offline
DGL Member

Registriert: Mi Aug 04, 2021 21:07
Beiträge: 2
Programmiersprache: Delphi
Das hat doch schon etwas geholfen. Nämlich das ich merke wie wenig Detail Ahnung ich eigentliche habe ^^ (Shader sind jetzt Pflicht hab ich noch verstanden ;) ) und es wahrscheinlich besser ist meinen altbekannten Weg noch ein mal einzuschlagen und dann sehen werde wie weit ich komm. Sollte ich es schaffen wieder was auf die Beine zu stellen werde ich aber gerne darüber im Forum posten.

Danke fürs Antworten (Und Prost weil ich gerade ein Bier anhebe) :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Aug 15, 2021 15:48 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jun 05, 2013 15:12
Beiträge: 152
Wohnort: Glinde
Programmiersprache: Delphi 7
Wenn ich die Zeit dafür hätte:

Ich glaube, wenn ich noch mal anfangen sollte, dann würde ich auf Lazarus umsatteln.
Larzarus ist im Grunde Free Pascal.
Lazarus kompiler kann deinen code für andere Betriebssysteme bereitstellen:
Alle Windows Systeme {$IFDEF WINDOWS}
Windows 32 Bit {$IFDEF WIN32}
Windows 64 Bit {$IFDEF WIN64}
Windows CE {$IFDEF WINCE}
Linux {$IFDEF LINUX}
Mac OS X {$IFDEF DARWIN}
Classic Macintosh {$IFDEF MAC}
OS2 {$IFDEF OS2}
FreeBSD {$IFDEF FREEBSD}
NetBSD {$IFDEF NETBSD}
Amiga {$IFDEF AMIGA}
Atari {$IFDEF ATARI}
PalmOS {$IFDEF PALMOS}

Ich würde versuchen ein moderneres OpenGL zu lernen. z.B. mit diesem Tutorial.
http://mathias1000.bplaced.net/Tutorial_HTML/OpenGL_3.3/
Warnung: Shader sieht nach C++ aus. Ich hasse C++.

Eine Pascal compiler für Shader wäre cool.
Ich hoffe ich konnte dir einen alternativen weg aufzeichnen.

_________________
幸福は笑う人に来て ~~ koufuku wa warau hito ni kite
Das Glück kommt zu denen die lachen


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Aug 16, 2021 19:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 577
Programmiersprache: C++
Polarwolf hat geschrieben:
Warnung: Shader sieht nach C++ aus.

Die Shader sind in GLSL geschrieben. Darum wirst du wohl kaum herum kommen, egal ob du modernes OpenGL, WebGL, OpenGL ES oder Vulkan nimmst.

Die Frage ist, ob man in FreePascal für Android programmieren kann, was ja offenbar die Zielplattform ist.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.040s | 16 Queries | GZIP : On ]