Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dreidimensionales Array darstellen. (https://www.delphipraxis.net/153661-dreidimensionales-array-darstellen.html)

Muellermilchtrinker 11. Aug 2010 17:40

Dreidimensionales Array darstellen.
 
Hallo DP,

habe ein Array
Delphi-Quellcode:
var cuar: array[1..5][1..5][1..5] of integer
und möchte dieses gerne in 3D darstellen. Habe gedacht, dass ich für jedes Element einen kleinen Würfel mache.
Habe gelesen, dass das mit OpenGL funktioniert. Hat jmd. dafür einen Code, oder ein kleines Tutorial indem das erklärt wird???
Danke euch schonmal.

Jens01 11. Aug 2010 20:22

AW: Dreidimensionales Array darstellen.
 
http://www.delphigl.com/
Hier gibt es alle Tutorials. Den Würfel mit OpenGL zu machen ist recht einfach. Bis Du OpenGL am Laufen hast, dauert es aber....
Gruss Jens

Uwe Raabe 11. Aug 2010 20:30

AW: Dreidimensionales Array darstellen.
 
Zitat:

Zitat von Jens01 (Beitrag 1041339)
http://www.delphigl.com/
Hier gibt es alle Tutorials. Den Würfel mit OpenGL zu machen ist recht einfach. Bis Du OpenGL am Laufen hast, dauert es aber....

In dem Fall werfe ich mal GLScene in den Ring. Damit bekommt man das in wenigen Minuten hin. Ich bin auch gerne bereit, die Würfel als Lehrbeispiel zu liefern - allerdings nur wenn eines meiner installierten Delphi's passt...

Muellermilchtrinker 12. Aug 2010 17:56

AW: Dreidimensionales Array darstellen.
 
Also, ich hab jetzt das Tutorial durch. Mein Formular steht, hat ein blauen Hintergrund und da drin ist ein farbiges Quadrat.
Meine Frage jetzt, wie kann ich das ganze auf einem Panel zeichnen, d.h. das Panel als Darstellung nutzen. Und wie bilde ich jetzt die Würfel???

blackfin 12. Aug 2010 17:59

AW: Dreidimensionales Array darstellen.
 
Zitat:

GLScene
Ich finde, GLScene ist mit Vorsicht zu geniessen.
Zum "mal schnell was zusammenklicken" mag das ganz nett sein und es hat wirklich mächtige Funktionen, allerdings lässt die Performance ganz schön zu wünschen übrig, sobald man Shader benutzt (für jedes Material und jedes Objekt wird der einzeln Shader initialisiert->gerendert->finalisiert anstatt Objekte mit dem gleichen Shader in einem Aufwasch zu rendern), was das K.O. für jede moderne Applikation ist. Und um das gerade zu biegen, muss man tief in den Source :D
Ausserdem verstecken sich in GLScene massig Bugs, die extrem nerven können. Und hat man dann keine Ahnung von OpenGL, so ist man fast hoffnungslos verloren.
Ich finde die Idee dahinter wirklich gut und verwende es teilweise auch, aber man muss meiner Meinung nach vorher schon in OpenGL halbwegs firm sein, um die Bugs und Fallstricke suchen und eliminieren zu können.

@Müllermilchtrinker: Willst du dir ne Anzeige für einen LED-Cube bauen? :D
Sollte ich die Tage mal Zeit haben, wurschtel ich mal ne Routine zusammen.

Generell sollte dir dabei aber auch folgendes NeHe-Tutorial helfen:
http://nehe.gamedev.net/data/lessons....asp?lesson=05

Ganz unten gibts dafür auch einen Delphi-Quellcode.


Zitat:

Meine Frage jetzt, wie kann ich das ganze auf einem Panel zeichnen
Du verwendest das Handle des Panels für das Erstellen des OpenGL-Context.

turboPASCAL 12. Aug 2010 18:09

AW: Dreidimensionales Array darstellen.
 
Ich habe da mal etwas vorbe...

So etwas ?
http://www.delphipraxis.net/838301-post10.html
http://www.delphipraxis.net/attachme...enshot_206.jpg

Muellermilchtrinker 12. Aug 2010 18:11

AW: Dreidimensionales Array darstellen.
 
Ihr habt's erraten. Soll eine Mustererstellung für meinen LED Cube werden. Aber der ist nur 5³. Es steht bis jetzt alles, außer die 3D Ansicht. :D
Das mit dem Panel hat sich erledigt.

Jens01 12. Aug 2010 19:33

AW: Dreidimensionales Array darstellen.
 
Du solltest Dich hiermit beschäftigen, wenn Du genanntes Tut durch hast :
http://wiki.delphigl.com/index.php/glBegin
Ich würd sagen GL_QUADS und GL_QUAD_STRIP sind wichtig für Dich.

ein Würfel könnte so aussehen :
Delphi-Quellcode:
glBegin(GL_QUADS);
//vorderseite
glVertex3f(0, 0, 0);
glVertex3f(1, 0, 0);
glVertex3f(1, 1, 0);
glVertex3f(0, 1, 0);
//Seite rechts
glVertex3f(0, 1, 0);
glVertex3f(1, 1, 0);
glVertex3f(1, 1, 1);
glVertex3f(0, 1, 1);
//Seite links .. usw
glEnd;

Muellermilchtrinker 16. Aug 2010 19:10

AW: Dreidimensionales Array darstellen.
 
Hat keiner ein Beispiel für mich???

Jens01 16. Aug 2010 19:24

AW: Dreidimensionales Array darstellen.
 
Wo hängst Du?
Wenn Du mein Beispiel vervollständigst, hast Du einen ganzen Würfel!
Das ist dasselbe, wie aus dem NeHe Tut, welches blackfin verlinkt hat.
Für viele kleine Würfel mußt Du entweder jeden Würfel einzeln eingeben oder mit einer Schleife die Würfel erzeugen.
Mach mal den ganzen Würfel und guck obs läuft!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.
Seite 1 von 5  1 23     Letzte »    

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