Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

18.02.2009, 19:26

Tile Engine mit OpenGL?

Nabend!

Zuerst einmal zu dem, was ich vorhabe:
In einem Fenster eine TileMap anzeigen, bsp. wie hier.

Soweit so gut.
Dazu will ich mit OpenGL arbeiten. Meine Theorie geht soweit:

Es wird eine TileEngine geschrieben mit folgenden Funktionen:
- Tiles/Sprite laden (BMP/PNG)
- Tile an einer Stelle positionieren (=anzeigen)
- Map aus TXT Datei (mit Einsen und Nullen) auslesen
-> 0 = Hinderniss
-> 1 = Begehbar
- Funktion, mit der man die Zahlen mit Tiles versehen kann

So ungefähr jedenfalls...Natürlich kommt da noch hinzu OpenGL zu
initialisieren, etc.

Soweit halt die Theorie, aber in der Praxis sieht das ganz anders aus und
da brauch ich eure Hilfe.
Wie gehe ich denn davor? Gibts bestimmte Funktionen, ich verstehe
das ehrlich gesagt nicht so ganz, wie das mit den Bildern laden funktioniert
und diese dann auch noch anzuzeigen. Da gibt es zwar einiges im Netz,
aber so richtig blicke ich da noch nicht durch.

Danke für eure Hilfe!
MfG Shiver!

„Ideen sind nur Ausgangspunkte. Um zu wissen, was man zeichnen will, muss man zu zeichnen anfangen.“ Pablo Picasso

Ibot Development - Mein Weg zum eigenen 2D RPG

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

18.02.2009, 19:36

Mir scheint fast als hättest du noch überhaupt keine Ahnung von der Materie... Es wird dir vermutlich nicht viel bringen, aber hier ein paar Hinweise:

o Grafiken laden kannst du mit einer der vielen Bibliotheken die im Netz kursieren, z.B. DevIL
o In GL kannst du Texturobjekte erzeugen und die Grafikdaten an diese übergeben (ins Videomem downloaden). Die Texturen kannst du auf deine Polygone mappen (glTexCoord, glMultiTexCoord, glTexCoordPointer, ...)
o Die Geometriedaten (Sprites) per VBO (!) direkt Serverseitig hinterlegen.
o Mit glOrtho kannst du in GL einen 2D-Modus (Parallelprojektion) "einschalten".

Ich würd sagen, schmeiß dich mal ins Vergnügen und schau wo du konkrete Probleme bekommst...

3

18.02.2009, 19:53

Zitat von »"David_pb"«

Mir scheint fast als hättest du noch überhaupt keine Ahnung von der Materie... Es wird dir vermutlich nicht viel bringen, aber hier ein paar Hinweise:

o Grafiken laden kannst du mit einer der vielen Bibliotheken die im Netz kursieren, z.B. DevIL
o In GL kannst du Texturobjekte erzeugen und die Grafikdaten an diese übergeben (ins Videomem downloaden). Die Texturen kannst du auf deine Polygone mappen (glTexCoord, glMultiTexCoord, glTexCoordPointer, ...)
o Die Geometriedaten (Sprites) per VBO (!) direkt Serverseitig hinterlegen.
o Mit glOrtho kannst du in GL einen 2D-Modus (Parallelprojektion) "einschalten".

Ich würd sagen, schmeiß dich mal ins Vergnügen und schau wo du konkrete Probleme bekommst...


Stimmt, habe nicht sehr viel Ahnung von OpenGL, abgesehen davon, dass
ich ein paar Einsteigertutorials gelesen habe
Das mit den Texturen und den Polygonen habe ich gelesen. Man muss
wohl die Bilder als Texturen laden und anschließend auf die Polygone
tun :?:
Meinst du mit VBO das hier?
Dann werde ich mal einlesen und die Befehle werde ich mir auch mal
genauer anschauen. Ich werde mal sehen, wie weit ich komme und melde
mich, sobald ich nicht weiterkomme. ;)

Vielen Dank für deine Hilfe, hat mir bestimmt geholfen! : )
MfG Shiver!

„Ideen sind nur Ausgangspunkte. Um zu wissen, was man zeichnen will, muss man zu zeichnen anfangen.“ Pablo Picasso

Ibot Development - Mein Weg zum eigenen 2D RPG

Anonymous

unregistriert

4

18.02.2009, 21:19

Bitte keine OpenGL Tutorials lesen! Die haben oft einen technischen Stand von 198x - 199x! Viele Techniken werden dort gar nicht erwähnt oder nur sehr lieblos, weil die Autoren keinen Plan haben.

Hol dir umbedingt dieses Buch, wenn es um OpenGL geht:
http://www.amazon.de/Beginning-Opengl-Game-Programming/dp/1592003699

So Bücher wie Red-Book usw. sind zwar schön und gut aber der letzte Steinzeit-Schund.

Hast du das Buch, hast du keine Probleme mehr und du wirst ein Guru in den Grundlagen von OpenGL ;)

5

19.02.2009, 12:36

@unsigned long
Red Book und Co. sind fuer Grundlagen allemal ausreichend. Desweiteren empfehle ich meist auch noch die Lighthouse Tutorials. Das Buch scheint aber auch nicht schlecht zu sein, wobei die Meinungen auf Amazon auseinandergehen. Im Maerz soll aber eine Second Edition rauskommen.

Und du widersprichts dir selbst:

Zitat

schön und gut aber der letzte Steinzeit-Schund
Guru in den Grundlagen


PS: Und nur weil etwas alt ist, ist es noch lange kein Schund. Auch wenn Programmierstil und -methodik sich gewandelt haben
If it were not for laughter, there would be no Tao.

Anonymous

unregistriert

6

19.02.2009, 12:53

knivil
Es ist Schund, denn seit dem neuen Standard sind viele Methoden, vorallem diese glBegin/glEnd und inneren Konsorten deprecated. Es wird viel zu viel Benutzt und gesagt: "OpenGL ist Kacke, viel zu lahm!" weil diese kranken State-Mashine-Methoden zum setzen von Daten gesetzt werden.

Na ja, Amazon Kommentare sind das eine. Da sind oft welche der Marke: "Wäh, ich dachte OpenGL ist OOP, scheiß Buch!"

Also meiner Meinung nach kann man Red Book und die NeHe Tutorials anzünden.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

19.02.2009, 13:10

Nö, das RedBook find ich ziemlich gut. Natürlich ist der Inhalt stellenweise veraltet, aber die Grundlagen werden sehr detailiert und gut beschrieben. Die Funktionalitäten die du ansprichst sind für Anfänger zum Großteil ohnehin nicht geeignet. ;)

Anonymous

unregistriert

8

19.02.2009, 13:22

Ich denke gerade das Thema VertexArrays und VertexBuffer sind sehr gut für Änfänger geeignet.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

9

19.02.2009, 13:30

Ne, gerade nicht. Wie viele Anfäger rennen dann ins nächste Forum weil sie mit der Dynamik, die diese Funktionalität bereitstellt, überhaupt nicht klar kommen. Ich glaube Immediate Mode ist zwar total veraltet aber für Anfänger "the way to go". :)

10

19.02.2009, 13:32

Klar, ich meine alles korrekt in den Speicher zu kopieren ist schon Anfangs richtig kniffelig. Aber dann sollte man Imobei glBegin deutlich hinschreiben, dass es sehr viel langsamer ist, als VBO's.
Dann sehe ich da eigentlich kein Problem mehr.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige