DGL
https://delphigl.com/forum/

Diskussion: Tutorialüberarbeitung
https://delphigl.com/forum/viewtopic.php?f=21&t=7992
Seite 3 von 7

Autor:  Traude [ Mo Dez 08, 2008 17:09 ]
Betreff des Beitrags: 

Das ist gut, dass Du das sagst. :wink: Ich melde mich nämlich hier um mich zu zerknirschen, weil ich mich um zwei Tage verspäte.

Übrigens: Ich habe mir das DGLSDK nicht neu heruntergeladen. Auf meiner Version ist noch der Bug mit dem Little Endian im EasySDL drauf. Wenn der Bug inzwischen beseitigt ist, betrachtet diesen Hinweis als gegenstandslos.

Autor:  i0n0s [ Mo Dez 08, 2008 20:04 ]
Betreff des Beitrags: 

Hier findest du immer die aktuellste Version:
http://svn.delphigl.com/dglsdk_linux/trunk

Autor:  Traude [ Di Dez 09, 2008 07:51 ]
Betreff des Beitrags: 

Danke für die Info. Steht dieser Link auch irgendwo im Wiki?

Autor:  i0n0s [ Di Dez 09, 2008 11:50 ]
Betreff des Beitrags: 

Ja, aber leider bei SVN versteckt.

Autor:  Lord Horazont [ Di Dez 09, 2008 15:04 ]
Betreff des Beitrags: 

$Offtopic
Wenn die aktuelle Version stable ist, wie wäre es dann mal mit einem offiziellen Release? Ich denke, gerade Anfänger werden nicht sonderlich motiviert sein im SVN rumzuhacken (ich hab das bis heute noch nicht wirklich hinbekommen).

Gruß Lord Horazont

Autor:  Flash [ Mi Dez 10, 2008 09:23 ]
Betreff des Beitrags: 

Das Update des DGLSDK steht schon eine Weile aus. Ich bin da sehr dafür, dass zumindest die Versionsangabe aktualisiert wird und wo möglich die neuen Versionen von Libs reinkommen.

Autor:  Traude [ Mi Dez 10, 2008 09:49 ]
Betreff des Beitrags: 

Ich habe heute früh folgende Header händisch aus dem DGL SVN heruntergeladen:

sdl.pas
sdl_image.pas
sdl_ttf

easySDL.pas
easySDLFont.pas
easySDLTextures.pas
template.pas

jedi-sdl.inc



Ich arbeite in Windows32(XP) und Delphi7, weil ich denke, dass die meisten, die hier ankommen mit Windows und Delphi arbeiten. Ich benutze das template.pas.

Die Schwierigkeiten, die ich mit meinen alten Headern mit der Schrift hatte, sind behoben. Allerdings gabs noch einen anderen Fehler, der nicht behoben ist: Wenn ich das pure Template nehme, und einfach keine Textur verwende (ich habe nur die beiden Zeilen, wo die Textur geladen wird und wo sie gebunden wird, auskommentiert), dann gibt es Bildfehler. Unten am Screenshot ist links das im template befindliche Quad zu sehen (ohne die Textur drauf) und rechts der Torus, den ich gebastelt habe, um das Licht für Tutorial 8 demonstrieren zu können. Die Software für den Torus ist plattformunabhängig gehalten und er funktioniert auch, wenn ich ihn in Delphi ohne SDL verwende. Habt Ihr einen Tip für mich, wo ich den Fehler suchen soll?

Dateianhänge:
Bildfehler.jpg
Bildfehler.jpg [ 50.25 KiB | 6722-mal betrachtet ]

Autor:  Aya [ Mi Dez 10, 2008 13:12 ]
Betreff des Beitrags: 

Hi,

das hat jetzt zwar nur bedingt mit dem thema zu tun, aber ich wollte es trotzdem kurz losweden :)

Wieso wollt ihr unbedingt den anfängern SDL "aufzwingen"?

Ich kann nur von mir selbst reden, aber mich nervt es extrem wenn ich tausende header dateien und DLLs brauche um mein Programm zu schreiben.. zumal SDL denke ich wirklich nur für Spiele gut geeignet ist, aber es gibt sicher viele neulinge die gern auch einfach stink normale buttons etc in ihrem Programm haben wollen.. und da weiß ich nicht wie einfach das mit SDL ist.

Ich meine ja nicht das man direkt mit WinAPI daher kommen muß, keineswegs.. aber evtl für die grundlagen einfach auf ein einfaches Panel auf dem via VCL erstellen Form zeichnen, oder alternativ eine OpenGL Komponente erstellen (das hatte ich mir früher gemacht.. einfach die Kompo auf mein Form gezogen und schwupp hatte ich mein OpenGL Context.. mit events for OnDraw, OnInitialise etc).

Den Anfänger komplett von der VCL wegzureißen finde ich halt nicht so praktisch.. dadurch darf er dann erstmal auch noch SDL lernen, statt das was ihn eigentlich interessiert - OpenGL.


Und für die anfänger die sich nicht um die Initialisierung kümmern wollen, ist denke ich eine simple VCL-Komponente immernoch viel sinnvoller (siehe DelphiX.. das wird heute noch extrem viel benutzt, weil es eben super einfach in der handhabung ist).

Aya.. :)

PS: Wenn interesse besteht kann ich auch meine Komponente von damals rauskramen und euch geben..ist halt sehr alt, dementsprechend basiert die glaube ich noch auf der OpenGL12.pas und ist vom programmierstyl hier und da evtl etwas merkwürdig.. aber sie funktioniert sehr simpel.

Einfach auf's Form packen, und im ObjectInspector alles wichtige eintellen (Perspective/Ortho etc).. automatisch mit drin war auch schon nen FPS Counter und TimeFactor berechnung etc... so das man sich einfach nur auf das wesentliche - das "malen" mit OpenGL konzentrieren kann :)

(Dinge wie bei DelphiX, also irgendwelche Manager klassen etc sind natürlich nicht mit drin)

Autor:  i0n0s [ Mi Dez 10, 2008 14:20 ]
Betreff des Beitrags: 

Ganz einfach:
Weil wir auch Linuxleute ansprechen wollen. Und VCL geht nicht unter Linux.
Daher bietet SDL eine einfache Lösung. Und wenn du dir SDL mal anschaust wirst du merken, dass weniger komplex als die WinAPI ist.
Und für die Leute die mit SDL überhaupt nichts zu tun wollen, gibt es easySDL, was das SDL und seine Initialisierung komplett kapselt, sodass sie sich nur um den Rendercode kümmern müssen.

Autor:  Aya [ Mi Dez 10, 2008 14:26 ]
Betreff des Beitrags: 

i0n0s hat geschrieben:
Ganz einfach:
Weil wir auch Linuxleute ansprechen wollen. Und VCL geht nicht unter Linux.
Daher bietet SDL eine einfache Lösung. Und wenn du dir SDL mal anschaust wirst du merken, dass weniger komplex als die WinAPI ist.
Und für die Leute die mit SDL überhaupt nichts zu tun wollen, gibt es easySDL, was das SDL und seine Initialisierung komplett kapselt, sodass sie sich nur um den Rendercode kümmern müssen.


Ok Linux wäre ein argument, wobei es doch unter Linux mit Lazarus auch sowas wie die VCL gibt, oder? Aber da hab ich keine Ahnung von..
Aber wie gesagt, war nur eine sache die ich mal dazu sagen wollte.. das zumindest mich als anfänger SDL eher hinderlich gewesen wäre als vorteilhaft.

Aya

Autor:  Traude [ Mi Dez 10, 2008 14:45 ]
Betreff des Beitrags: 

Zitat:
Ok Linux wäre ein argument, wobei es doch unter Linux mit Lazarus auch sowas wie die VCL gibt, oder?

Ja aber die arbeiten dort mit entweder QT oder GTK. Lazarus hat eine OpenGL-Komponente, aber die ist wie alles in Lazarus: total eingewickelt und verpackt. Bei dieser Lösung siehst Du Deinen Rendering Context nicht mal. Das ist für einen, der ernsthaft mit OpenGL arbeiten will, nicht akzeptabel. Deshalb verwenden die Leute SDL.

Ich selber verwende die "nackte" Windows API und seit neuestem die "nackte" X11-Umgebung. Funktioniert zufriedenstellend und ist mir persönlich lieber als SDL. Das Easy-SDL ist für Leute gedacht, die nicht viel nachdenken und bloß ohne viel Aufwand irgendetwas ausprobieren wollen. Dazu sollte es aber auch gleich und klaglos funktionieren, sowohl in Windows als auch in Linux.

Damit komm ich wieder auf meinen obigen Bug zurück. I0n0s?
Traude

Autor:  i0n0s [ Mi Dez 10, 2008 15:02 ]
Betreff des Beitrags: 

Welche template.pas? Die unter /misc/easySDL_test hat keine Texturen und sollte bitte nicht verwendet werden.
Du meinst vermutlich die template.dpr oder?
Dann hast du Zeile 97 und 125 auskommentiert?

Bis auf die Farbe konnte ich dann dein Ergebnis reproduzieren. Was aber auch klar ist, denn in Zeile 92 werden die FPS mit Hilfe einer Textur gezeichnet. Diese ist dann aktiv und führt zu deinem Ergebnis. Also muss die auch auskommentiert werden. Und jetzt bitte noch die Zeile 124 wo die Schrift initialisiert wird. Denn an der Stelle wird die Schrifttextur auch als aktiv gesetzt.
Es wird also einfach die Textur nicht zurückgesetzt. Was ich persönlich aber nicht als Bug ansehe ;)

Autor:  Traude [ Mi Dez 10, 2008 15:30 ]
Betreff des Beitrags: 

OK, alles klar, es war die Schrifttextur (da hätte ich wirklich auch selber draufkommen können). Rot habe ich es nur gemacht, damit man es besser erkennen kann. Ich habe mir noch nicht die Zeit genommen, mich in EasySDL einzulesen.

Das Tutorial 8 selber find ich ganz OK. Man muss eigentlich nur ein paar Schreibfehler verbessern.

Mein Zeitplan für heute:
1. Ich habe eine Klasse TShape3D geschrieben, die Kugel und Torus erzeugen kann (siehe http://wiki.delphigl.com/index.php/Zweifach_Parametrisierte_Geometrie), damit kann man das Licht gut demonstrieren. Aber es ist noch ein Bug drin, den eliminiere ich heute noch. Dann erzeuge ich mal eine EasySDL-Demo für das normale OpenGL-Licht und häng sie hier rein und bitte Euch dann, das zu begutachten. Und wenn ich damit fertig bin, dann
2. widme ich mich den Schreibfehlern im Tutorial 8.

Autor:  i0n0s [ Mi Dez 10, 2008 15:38 ]
Betreff des Beitrags: 

Lasst euch ruhig Zeit, solange es noch dieses Jahr fertig wird, ist es kein Problem.
Das einzige was wichtig ist, ist eben, dass ihr es macht und nicht wie bei den anderen Bereichen die Leute untertauchen wenn die Arbeit verteilt wird.

Autor:  Lord Horazont [ Mi Dez 10, 2008 18:50 ]
Betreff des Beitrags: 

Ich finde den Einwand von Aya durchaus gerechtfertigt, etwas, worüber ich als SDL-User noch nicht nachgedacht habe.

Vielleicht sollte man über eine offenere OpenGL-Komponente für Lazarus nachdenken, wo wir auch an den RC rankommen und die auf dem dgl-header basiert.
Das würde es für Linuxseitige Einsteiger oder generell Lazarusbenutzer viel angenehmer machen.

Ich denke, dafür müsste man sich durch die Codes der bestehenden OpenGL-Kompo durchwühlen und irgendwie die erzeugung des Kontextes rauskramen und wiederverwenden. Der Rest läuft ja dann über die dglOpenGL.pas ab.

Gruß Lord Horazont

Seite 3 von 7 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/