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

Aktuelle Zeit: So Jul 13, 2025 15:13

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SDL??
BeitragVerfasst: Do Mär 04, 2004 15:19 
Offline
DGL Member

Registriert: Do Mär 04, 2004 15:00
Beiträge: 5
Hi,

also ich möchte jetzt mal mich etwas in SDL einzuarbeiten. So nun habe ich auch schon mal das DGL-SDK (10MB) heruntergeladen und es auch gleich mal ausprobiert. Ich hab die Datei mir Delphi geladen und gestarted woraufhin dann ain Fenster erscheint mit nem Dreieck und nem Quadrat drinnen. Ja so das war dann mal ein Erfolgserlebnis!! :)
Nun habe ich aber versucht etwas selbst zu schreiben (also was ich so in tuts gelesen) aber da fangen jetzt die Probleme an. Wo schreib ich das rein?? (Mag sein das die Frage total bescheuert ist aber ich habe sicher schon so an die 5 tuts gelesen aber es bis jetzt nch nicht herausgefunden).
Frage 2: Die Befehle für SDL und OpenGl sind schon die geichen oder??
Frage 3: Ist es einfacher SDL in C zu programmieren(dumme Frage in nem Delphi-Board aber falls es jemand weiss)??

So nun Post ich mal die letzten Zeilen von diesem Programm (oben beschrieben) das ich in Delphi aufgerufen habe:
Code:
  1. (******************************************************************************)
  2. (******************************************************************************)
  3. //  Hauptprogramm
  4. (******************************************************************************)
  5. (******************************************************************************)
  6.  
  7. begin
  8.   // Initalisierung
  9.   Init_SDL;
  10.   Init_OpenGL;
  11.  
  12.   // Setzen eines Timers für FPS-Berechnung
  13.   SDL_AddTimer(1000,@glTimer,nil);
  14.  
  15.   // Anpassen der Fenstergröße
  16.   glResizeWindow( SCREEN_WIDTH, SCREEN_HEIGHT );
  17.  
  18.   // Eintritt in Main-Loop
  19.   while ( Done <> -1 ) do
  20.   begin
  21.     glHandleEvents;
  22.     glDrawScene;
  23.     Inc(FPSCount);
  24.   end;
  25. end.
  26.  

Das ist von dieser DGL-SDK Datei aus Source/template/SDL12/opengl12_sdl.

Ich hoffe ihr könnt mir helfen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 16:00 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Ich denke, dass wir erstmal grundlegend klarstellen sollten, dass SDL und OpenGL zwei total verschiedene Dinge sind. SDL ist eine Art DirectX bei dem jedoch versucht wird möglichst Plattform unabhängig zu funktionieren. Unter Windows-Systemem benutzt SDL_Sound also DSound unter Linux entsprechend FMOD oder ALSA oder was auch immer zur Verfügung hängen mag. Genauso verhält es sich bei SDL auch mit dem Fenstermanagement. Während die VCL und API auf Windows-Systemen aufbauen bietet SDL praktisch eine eigene "Windows-API", die dann auf allen Systemen läuft. Du kannst also SDL benutzen um ein Fenster zu erzeugen in dem Du dann OpenGL initalisierst und renderst. Eine Auswirkung auf die OpenGL-Befehle hat das nicht.

SDL ist unter Delphi genauso leicht einzusetzen wie unter C oder Perl ;) SDL ähnelt der Grundphilosophie von OpenGL sehr, so dass die Befehle mit wenigen Kenntnissen der Sprache nahezu 1:1 in eine andere Sprache übernommen werden können.

Wo was genau hinkommt, habe ich nicht verstanden. Da solltest Du nochmal genauer werden, aber eigentlich sollte man dem Template alles entnehmen können... dachte ich bisher immer :wink:

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 16:14 
Offline
DGL Member

Registriert: Do Mär 04, 2004 15:00
Beiträge: 5
Hi Phobeus,
Erstmal Danke für die schnelle Antwort!
Was meine Frage 2+3 angeht Ok das hab ich nun verstanden.
Was die erste Frage angeht: Man sollte halt doch immer alles zuerst durchlesen und nicht bloss schnell überfliegen. :)
Habs jetzt auch gefunden!! Die Frage war einfach wo ich zum Beispiel ein Dreieck zeichnen lassen kann, also wo ich denn Befehl dazu hinschreiben muss!!
Gut da ich das jetzt verstanden habe hat ich noch ne Frage:
Was für ein Programm wäre so für den Anfang gut einfach mal um ein bischen in alles hineinzukommen(Also wür mich zum Programmieren). N kleines,simples Spiel oder sowas!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 16:23 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Nun, das rendern eines Dreieckes sollte bestenfalls immer in der Programmschleife erfolgen, da man sonst nicht lange was davon hat *sg* ;)
Nein, im Ernst, würde mir die Templates anfanges genau ansehen und versuchen nachzuvollziehen, was dort, warum gemacht wird. Das ist dann sicherlich ne guter Start.
Eine gute Software für den Anfang gibt es eigentlich nicht und sollte sich auch ein wenig nach deinen Vorlieben richten. Einige finden es unglaublich interessant irgendwelche Kugeln beim rotieren zu zusehen, während andere lieber ne kleinen Tetris-Clone versuchen zu schreiben. In jedem Fall solltest Du ein kleines Projekt wählen bei dem Du Dir 100% sicher bist, dass Du es realisieren kannst. Hast Du anfangs bereits an einigen Stellen größere Zweifel, so kannst Du Dir sicher sein, dass Du die wahren Probleme noch gar nicht erahnst. Die sind meist nämlich recht gut verdeckt ;)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 17:09 
Offline
DGL Member

Registriert: Do Mär 04, 2004 15:00
Beiträge: 5
Ok, dann werd ich wohl erstmal nur so etwas rumprobieren.
Aber ich möchte eigentlich anfangs nur so im 2D Bereich bleiben. Gibt es auch speziell dazu Tuts. Die auf dieser Site sind ja alle für 3D.
Habe mir nämlich zum Ziel Gesetz irgendwann mal in ferner Zukunft ein Adventure ala Monkey Island(Loom, ZakMcKraken,...) zu machen.
Also alles 2D.

Und noch ne kleine Frage: Mache gerade diese Einsteiger Tuts von dir. Und bin gerade bei diesem Rotate Befehl. Im Tut steht das der Befehl so geht: glRotate(90,0,1,0); bei mir funktioniert er aber nur wenn ich ein f hinter Rotate setzte also so: glRotatef(90,0,1,0);. Warum ist das so oder ist das nur ein kleiner Verschreiber im Tut??


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 17:24 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
@2D: kommt halt drauf an, was Du genau machen willst. Solltest Du nur einfache Dinge in 2D machen, so solltest Du Dir vielleicht einmal einige Beispiele ansehen, die es bei den JEDIS zu SDL gibt (einfach mal Google zu den beiden Begriffen fragen) ;) 2D geht auch in OpenGL, siehe unser FAQ und dem "Fenster"-Sample auf Jan Horns Seite (Sulaco). Einige Grundlagen von OpenGL sollten dafür aber in jedem Fall auch da sind, immerhin gibt es als Bonbon netter Transparent und Blending-Effekte ;)

@Tutorial: Das ist nun ne philosophische Frage. Die Einsteiger-Tutorials basieren auf den Headern, die von Borland kommen und diese sind leider Gottes teilweise falsch portiert worden. Damals war OpenGL12 noch nicht so weit verbreitet und ich habe mich entschlossen die Header von Borland zu nutzen, die eben die Funktionsnamen ohne einem "f" ausgewiesen hatten. Das DGL nun ja aber selbst OpenGL1.5-Header vorzuweisen hat, werden wir im Rahmen einer Nachkorrektur auch die Tutorials bald entsprechend daran anpassen. Solange gilt : Einfach mal ne f hinten dran setzen, dass ist in jedem Fall die korrekten Funktionsnamen ;)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 19:46 
Offline
DGL Member

Registriert: Do Mär 04, 2004 15:00
Beiträge: 5
Naja ich möchte halt hinbekommen das man ein Hintergrundbild hat und darauf eine Spielfigur(also ein anderes Bildchen) durch das klicken auf ne andere Stelle hin und herbewegen kann. Sowas in der Art halt. Denke aber das ist als Anfänger noch ziemlich schwer oder?

Kleine Frage: Was sind JEDIS? Sind das die Sachen die in der Unit drinstehen, also um OpenGL zu initialisieren?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 22:41 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Die Jedis: http://www.delphi-jedi.org/ ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 23:03 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Das ist immer eine Frage wie aufwendig es sein soll ;) Ne Hintergrundbild un eine perspektivenlose Figur, die sichd arauf bewegt, ist relativ leicht zu realisieren. Soll die Figur an gewissen Punkten näher kommen, wird es dann schon ne wenig komplizhiert (wobei sich das alles noch in Grenzen hält, sofern man sich nur auf 2 Achsen bewegt und eine fixiert ist).

Die JEDIS haben nicht mit den Funktionen zu tun. Es handelt sich dabei um einen Zusammenschluss von Programmierer, die versuchen (vorwiegend durch Portierung von APIs) Delphi mehr Bedeutung zu kommen zu lassen. SDL ist z.B. eine solche API, der sich die JEDIS gewimdet haben.

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 07, 2004 15:20 
Offline
DGL Member

Registriert: Do Mär 04, 2004 15:00
Beiträge: 5
Also,
Erstmal danke für die Antworten. Mit der JEDI Seite kann ich zwar überhaupt nichts anfangen, was wohl daran liegt das sie auf Englisch ist. Denke zwar das schon mehr oder weniger gut Englisch kann aber ich kapiers da mit denn ganzen "Fachbegriffen" nich so.

So nun hab ich aber ne Site gefunden die denke ich mal mir sehr nützlich sein kann in meinem Vorhaben (das mit dem 2D Adventure):
http://www.untergrund-spiele.de

Dort habe ich einige Tutorials zu SDL gefunden. So nun aber mein Problem oder was ich nich verstehe!!!
Ich habe mir ja von www.delphigl.com diese Datei zum initialieren von SDL runtergeladen. Nun ist es aber so das das bei den tutorials bei www.untergrund-spiele.de anders gemacht wurde. Und wenn ich es nun mit den Befehlen von dort versuche ist es so das entweder müsste ich dazu noch irgendwas runterladen oder ich kapier nicht wo ich die Befehle einfügen muss. Zum Beispiel hier
http://www.untergrund-spiele.de/tut_window.php3?t_id=250

Irgendwie check ich bei dem ganzen noch nich so ganz durch. Aber ist das nich unsinnig das überall anders zu machen, da wär doch was einheitliches nich schlecht(oder ist das einheitlich und ich kapiers einfach nicht?).[/url]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 23, 2005 13:54 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wie gesagt: Alle OpenGL Befehle zum Zeichnen gehören in die Hauptschleife. Im Template von Phob gibts dafür ein extra unterprogramm. Dort sollten die Befehle dann rein oder von dort aus aufgerufen werden. Is echt net die Welt.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]