Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 3D-Darstellung von "Mensch ärgere dich nicht"? (https://www.delphipraxis.net/99615-3d-darstellung-von-mensch-aergere-dich-nicht.html)

Nicolai1234 14. Sep 2007 20:39


3D-Darstellung von "Mensch ärgere dich nicht"?
 
Hallo,
für die Schule programmieren wir gerade ein Mensch ärgere dich nicht Spiel. Im Prinzip ist das auch kein Problem, aber wir dachten uns, dass wir als kleines Extra gerne eine dreidimensionale Darstellung des Spieles mit einbauen würden.
Ich würde dabei gerne auf die Verwendung von großartigen Fremdbibliotheken verzichten und möclgichst viel selbst machen.

Ich stelle mir das so vor, dass mein ein dreidimensionales Array voller Punkte (Tcolor) hat und man dieses dann auf ein einzelnes Bild projeziert(Kamerapunkt kann man dann auch frei wählen). Leider weiß ich nicht genau, wie man das umsetzten könnte. Außerdem könnte ich mir vorstellen, dass man dann relativ lange auf das Bild warten muss, da die Berrechnung so seine Zeit dauern könnte.
Gibt es da eine einfache Lösung, wie man das machen kann? Oder sollte man doch auf OpenGL oder dergleichen zurückgreifen?

Vielen Dank im voraus
Nicolai

Bubblegum 14. Sep 2007 21:07

Re: 3D-Darstellung von "Mensch ärgere dich nicht"?
 
Zitat:

Oder sollte man doch auf OpenGL oder dergleichen zurückgreifen?
will dich nicht entmutigen, aber mal so eben schnell was in 3D mit OpenGL oder mit DirectX programmieren - iss nicht! Das ist eine eigene Welt, die man sich hart erarbeiten muss. Und das braucht leider auch viel Zeit, auch wenn du auf eine vorhandene 3D Engine zurückgreifst.
Empfehle dir das ganze in 2D mit einer 3D-Perspektive zu machen. Dann aber richtig schön! Kannst ja mit 3D anfangen, fertig wirst du dann aber wohl erst im nächsten Schuljahr.

Matze 14. Sep 2007 21:31

Re: 3D-Darstellung von "Mensch ärgere dich nicht"?
 
Zitat:

Zitat von Bubblegum
will dich nicht entmutigen, aber mal so eben schnell was in 3D mit OpenGL oder mit DirectX programmieren - iss nicht!

Also Standard-Objekte (Kugel, Zylinder, ...) mit OpenGL darzustellen ist nicht schwer, dazu gibt's auch zahlreiche Tutorials und ich denke, das weiß Nicolai auch. Das schwierigste ist vermutlich die Rechnerei mit den Koordinaten/Vektoren.

Mit TCanvas eine 3D-Ansicht zu zeichnen ist nicht ohne, aber eine schöne Herausforderung, nur eine wechselnde Kameraperspektive und ähnliches wird sehr aufwändig sein. Der Ansatz mit dem 3-dimensionalen Array klingt interessant, doch ob das performant umzusetzen ist, kann ich nicht sagen, würde mich aber auch interessieren. Wie man das allerdings projizieren kann, weiß ich nicht. Vermutlich geht das dann auch über die Vektorrechnung. bei großen Arrays könnte das natürlich eine Weile dauern, bis das berechnet ist.

Auf der sicheren - aber evtl. weniger interessanten - Seite bist du mit OpenGL. Da kann man relativ schnell gute Ergebnisse erzielen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz