Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   3D Bibliothek Delphi nur für "Blöcke" in 3D (https://www.delphipraxis.net/177089-3d-bibliothek-delphi-nur-fuer-bloecke-3d.html)

Moehre 15. Okt 2013 14:37

3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Hallöchen,

ich habe 0 Ahnung von Grafikprogrammierung unter Delphi, ansonsten bin ich aber mit der Sprache so einigermassen vertraut ;)
Jetzt suche ich nach einer Möglichkeit, aus meinem Programm heraus mehrere Quader in einem Raum zu definieren (nur einfache Blöcke ohne Texturen, höchstens in einer einfachen Farbe eingefärbt) und diese dann 3D darstellen zu können mit der Möglichkeit, sich mit der Maus und/oder Tastatur durch diesen Raum zu bewegen.

Gibt es da Komponenten oder Blibliotheken, mit denen das unter Delphi XE2 möglich ist? Oder evt. als Webanwendung unter Intraweb? (Es soll ja 3D Bilbiotheken für Browser geben, aber wie gesagt, habe ich da 0 Plan ...)

Vielen Dank schonmal für eure Tips,

Gruss
Moehre

Perlsau 15. Okt 2013 14:59

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Ja, gibt es. Google wird dir weiterhelfen. Allerdings stellen die 3D-Engines, die es für Delphi gibt, nicht gerade leichte Kost dar.

Moehre 15. Okt 2013 15:04

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Auf die Idee zu googlen bin ich auch schon gekommen - und die ersten 20 Seiten Threads habe ich auch durchgelesen. Grade weil es ja anscheinend keine leichte Kost ist, hatte ich gehofft, jemand könnte mir einen Tip geben, mit welcher Bibliothek ich das am EINFACHSTEN machen kann. Ich will ja kein Spiel programmieren und brauche auch keine Texturen, RayTracing, Sound, Kollosionserkennung oder was weiss ich. Vielleicht hat hier ja auch jemand eine einfache Engine geschrieben, mit der das möglich ist?!

Gruss
Moehre

Der schöne Günther 15. Okt 2013 15:06

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Wenn es wirklich auf ein ganz konkretes Szenario ("Flat shaded Blöcke") beschränkt ist hätte ich mir noch überlegt, ob man es nicht selbst von Null aufzieht - Gesetzt die Zeit reicht. Denn so viel ist das ja nicht...

Den Web-Teil verstehe ich nicht. Ich weiß nicht was du vor hast (und den IntraWeb-Teil kenne ich auch nicht) aber das würde ich auf den Client verlagern. Flash (Logik über AS3)und WebGL (Logik über JavaScript) stellen dafür eigentlich die Standard-Wege dar...

Ansonsten: XE2. Firemonkey. Das hat doch schon 3D-Geschichten?

Moehre 15. Okt 2013 15:14

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
@Den schönen Günther (netter Nick) Ja wie, Delphi XE hat schon 3D Funktionen?? Wie gesagt, ich habe bisher noch NIE irgendwas mit Grafikprogrammierung zu tun gehabt. In irgendeiner C't der letzten Ausgaben war mal ein Bericht über 3D im WebBrowser und da ich schon etwas mit IntraWeb programmiert habe, dachte ich daran. Hätte halt den Vorteil, daß ich nicht auf Windows Rechner fixiert bin, sondern sowas auch über ein Android Tab laufen könnte.

Es geht letztendlich um die Darstellung eines Lagers mit allen Lagerorten als 3D Objekt. (Vielleicht nicht wirklich nützlich, aber COOL :)

Gruss
Moehre

Der schöne Günther 15. Okt 2013 15:22

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Dachte ich neulich auch, Verlauf von Messwerten als 3D-Landschaft. Wurde leider nicht ganz ernstgenommen und ist jetzt wieder draußen :-(

Das geht bei mir zwar auf das seelige Jahr 2012 zurück, aber mein letztes 3D-Projekt das sowohl auf klassischen Windows-Desktops als optional auch iOS oder Android-Geräten laufen sollte habe ich in Flash realisiert. Es war keine nativ kompilierte Anwendung (wie Delphi oder C++), sondern halt Bytecode für den Flash Player. Auf dem Desktop musste halt das Flash-Plugin installiert sein, aber so lief es im Browser (auch Vollbild möglich).
Für iOS-Geräte konnte man es aus der IDE auch irgendwie kompilieren, das war aber nicht mehr mein Fall. Stichwort Adobe AIR und so.

Mittlerweile würde ich so etwas über WebGL aufziehen, das steckt zwar nach all der Zeit immer noch etwas in den Kinderschuhen, aber langsam unterstützen es die meisten Browser recht gut. Inwiefern die Performance auf Mobilgeräten akzeptabel ist weiß ich nicht.

Sowohl WebGL als auch Flash zielen momentan meine ich beide noch auf OpenGL ES2.0 ab. Aber Firemonkey auch:

Das schnellste und wohl unkomplizierteste wäre wohl einfach eine FireMonkey-Anwendung. Mit XE2 ist doch (glaube ich) iOS bereits möglich, Android erst mit XE5. Aber man bliebe gleichzeitig auch bei Delphi :-)

Uwe Raabe 15. Okt 2013 15:31

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Fang doch mal damit an: FireMonkey_3D-Tutorial

Moehre 15. Okt 2013 15:36

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Vielen Dank für eure Antorten! Der Tip mit Firemonkey Tutorial und WebGL war genau das, was ich gesucht habe - werde mich da mal mit beschäftigen ;)

Gruss
Moehre

@DSG: Schade, das deine Idee nicht angenommen wurde. Ich versuche das, als "Navi" für den Staplerfahrer zu verkaufen - es ist ein wirklich GROSSES Lager ;)

Phoenix 15. Okt 2013 17:23

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Ich würde eher tatsächlich bei der Web-Idee bleiben.

Mit CSS3 und ein paar Transformations ist es sehr einfach möglich, 3D-Objekte zu positionieren.
Und diese können voll Interaktiv sein, also z.B. drehbar, ein Video auf einer der Seiten zeigen, Texte auf seiner Seite anzeigen etc.

Die Basics findest Du hier (ein etwas älterer Artikel mit einem Update von 2010, das ist dort auch verlinkt): http://www.paulrhayes.com/2009-07/an...3d-transforms/
Du musst also im Prinzip nur ein bisschen HTML und CSS generieren, und das war's dann auch schon. Funktioniert eben dann auch problemlos auf alle gängigen Geräten.

Der schöne Günther 15. Okt 2013 17:35

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Stimmt, seit CSS3 gibts da auch 3D-Transformationen. Aber bevor man da viel Arbeit reinsteckt würde zumindest ich mich in Sachen Performance auf gängigen Zielgeräten (wie älteren Android-Phones) versichern...

Union 15. Okt 2013 18:15

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab genau so etwas mal mit GLScene gemacht. Der Einstige ist etwas hart, geht aber ganz gut nachher.

Jens01 15. Okt 2013 18:56

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Zitat:

Es geht letztendlich um die Darstellung eines Lagers mit allen Lagerorten als 3D Objekt. (Vielleicht nicht wirklich nützlich, aber COOL
Also meine Feststellung zu 3D ist: "ganz oder gar nicht"

Also entweder man beschäftigt sich damit -und das ist anfangs hart- oder läßt es bei 2D.

Meine Empfehlung GLScene (wie schon gesagt) oder OpenGl pur, das ist für sowas fast besser.

Gruss Jens

blackfin 15. Okt 2013 22:15

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Ich würde bei einem Delphi-Programm ebenfalls zu GLScene raten.
Der Vorteil ist, dass man am Anfang nicht komplett ins "kalte Wasser" geschmissen wird, da es viele Primitive und auch erweiterte Funktionen mitbringt, allerdings durch die DirectOpenGL-Komponente auch sehr einfach direkt "nativen" OpenGL-Code einbinden kann. Das macht die Lernkurve dann doch etwas flacher, wenn man anfangs auf "vorgefertigtes" zurückgreifen zu können, anstatt bei 0 zu beginnen.
Auch wenn direkt OpenGL schreiben effizienter ist und auf lange Sicht auch mehr Lerneffekt hat.

Nach einiger Zeit mit GLScene kann man auch z.B. leicht die OpenGL-Tutorials von DGL, NeHe und Konsorten durchspielen, da man bereits ein gewisses Grundverständnis zur Materie hat.

Ein paar farbige Quader + Kamerasteuerung hackst du dir mit GLScene innerhalb weniger Minuten zusammen, selbst die Erstellung und Steuerung via Code ist ziemlich logisch und einfach gehalten.

Die Webgeschichte ist an sich schon auch interessant, allerdings ist WebGL erst noch in den Startlöchern und auf einer Vielzahl von mobilen Geräten noch nicht verfügbar oder aber die Performance lässt zu wünschen übrig.
CSS3 ist dafür kein echtes 3D, das ist eher Spielerei für den 3D-Gebrauch (wenn auch für andere Dinge sehr nett).
Aber auch hier ist die Unterstüzung von 3D-Transformationen auf mobilen Geräten eher mau.

Zum Rumspielen und um gerüstet für die Zukunft zu sein sollte man sich WebGL sicher genauer ansehen, aber für eine Produktionsumgebung würde ich es jetzt noch nicht einsetzen. Dafür ändern sich Implementierungen noch zu häufig, was beim Coden ziemlich frustrierend sein kann. Was heute geht, geht nach dem nächsten Browser- / OS-Update wieder nicht mehr und man ist dauernd der Gefahr ausgesetzt, dass sich der "Standard" und die Art und Weise darin zu programmieren laufend ändert bis es endlich mal einheitliche Implementierungen und einen richtigen Standard gibt.

Moehre 16. Okt 2013 14:29

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Es bleibt schwierig - kann es sein, daß in XE2 noch keine Firemonkey 3D Anwendungen möglich sind? Ich sehe unter "Datei - Neu" nur "Firemonkey HD Anwendung" und keine "3D Anwendung" - von den in der Beschreibung erwähnten Experten ganz zu schweigen.

Bei WebAnwendungen (mit Intraweb) habe ich leider die Erfahrung gemacht, daß es je nach Browser zu völlig unterschiedlichen Darstellungen und Verhaltensweisen kommen kann - wie das dann bei 3D aussieht, bleibt offen. Der Vorteil bei Firemonkey wäre, daß ich native Android oder IOS Anwendungen schreiben könnte - müsste ja eigentlich etwas schneller sein als über WebGL, oder? Hat da zufällig jemand Erfahrungen, wie schnell die Engines arbeiten? Es kann durchaus sein, daß eine 3D-Landschaft aus mehreren 1000 Cubes bestehen würde ...

Gruss
Moehre

Union 16. Okt 2013 14:33

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Wenn 3D fehlt ist Deine XE2 Installation vielleicht fehlerhaft. Ich würde auf keinen Fall anfangen mit XE2 zu entwicklen, da Du aufgrund der vielen Änderungen an Firemonkey und am Compiler Deinen Code dann später wegwerfen kannst. Lieber gleich mit XE5 - aber die Performance läßt bereits mit 2D etwas zu wünschen übrig.

Moehre 16. Okt 2013 14:34

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Uhh - die Upgrade Preise sind ja nicht grade von Pappe bei Embacadero ... was wäre denn die günstigste Variante von XE2 Enterprise aus?

Union 16. Okt 2013 14:37

AW: 3D Bibliothek Delphi nur für "Blöcke" in 3D
 
Enterprise kaufen und SA abschließen. Das ist ein hartes Brot, scheint aber momentan sowiseo der einzige zukunftstraächtige Weg zu sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 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