Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Firemonkey 3D Schatten? (https://www.delphipraxis.net/189193-firemonkey-3d-schatten.html)

JayZ 14. Mai 2016 22:41

Firemonkey 3D Schatten?
 
hey!
ich bin neu hier und auch noch frisch in delphi :twisted:
ich spiele grade einwenig mit firemonkey 3d und finde das ganze interessant! jedoch finde ihc nur das TLigthMaterialSource welches kombiniert mit TLight zwar die seiten der objekte mit dem richtigen lichtverhältnis einfärbt aber keine schatten auf den boden wirft...
ist es irgendwie möglich den schatten selbst einzubauen oder finde ich das bei firemonekey einfach nicht?

danke im vroaus!

€dit: entschuldigt die rechtschreibfehler, schreibe das im bett aus dem handy aus x)

JayZ 16. Mai 2016 09:01

AW: Firemonkey 3D Schatten?
 
weiss denn keine bescheid:?::?::?::?::?::?: :(

Uwe Raabe 16. Mai 2016 09:44

AW: Firemonkey 3D Schatten?
 
Ist jetzt nicht direkt FireMonkey bezogen, aber Schatten sind schon sehr anspruchsvoll. Bei der Beleuchtungsberechnung wird in der Regel lediglich eine Farbe ermittelt, die sich aus der Materialfarbe und den verschiedenen Lichtanteilen, gegebenfalls unter Berücksichtigung des Einfallswinkels (z.B. bei Spots), errechnet. Bei Schatten spielen aber auch die anderen Objekte der Szene eine Rolle, die ja den Lichteinfall beeinflussen können. Daß dies im Normalfall nicht berücksichtigt wird, sieht man z.B. daran, daß ein Hohlkörper, wie z.B. ein Rohr, innen genauso beleuchtet wird wie außen.

Solange man kein rechenintensives Raytracing verwendet, um eine Szene zu rendern, wird es mit den Schatten eher schlecht aussehen.

JayZ 16. Mai 2016 09:48

AW: Firemonkey 3D Schatten?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1338212)
Ist jetzt nicht direkt FireMonkey bezogen, aber Schatten sind schon sehr anspruchsvoll. Bei der Beleuchtungsberechnung wird in der Regel lediglich eine Farbe ermittelt, die sich aus der Materialfarbe und den verschiedenen Lichtanteilen, gegebenfalls unter Berücksichtigung des Einfallswinkels (z.B. bei Spots), errechnet. Bei Schatten spielen aber auch die anderen Objekte der Szene eine Rolle, die ja den Lichteinfall beeinflussen können. Daß dies im Normalfall nicht berücksichtigt wird, sieht man z.B. daran, daß ein Hohlkörper, wie z.B. ein Rohr, innen genauso beleuchtet wird wie außen.

Solange man kein rechenintensives Raytracing verwendet, um eine Szene zu rendern, wird es mit den Schatten eher schlecht aussehen.

schade :( gibt es sonst eine möglichteit mit firemonkey auf windows ios und android mit 3d und 'besserer' grafik zu benutzen? wie wörs mit freepascal waere das besser geignet?

Uwe Raabe 16. Mai 2016 14:13

AW: Firemonkey 3D Schatten?
 
Zitat:

Zitat von JayZ (Beitrag 1338213)
schade :( gibt es sonst eine möglichteit mit firemonkey auf windows ios und android mit 3d und 'besserer' grafik zu benutzen? wie wörs mit freepascal waere das besser geignet?

Wie schon gesagt, ist das keine Besonderheit von FireMonkey oder Delphi, sondern liegt einfach an der verwendeten Grafikengine - sei es nun DirectX oder OpenGL. Da ändert auch ein anderer Compiler nichts.

Es gibt sicher Bibliotheken, die dort einiges mehr bieten. Meistens sind die auf 3D-Spiele ausgelegt. Eventuell kann man die dann auch unter Delphi nutzen. Mit den Bordmitteln ist das allerdings nicht zu erreichen, wenn man nicht selbst so eine Bibliothek von Grund auf neu schreiben will.

JayZ 16. Mai 2016 14:38

AW: Firemonkey 3D Schatten?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1338226)
Zitat:

Zitat von JayZ (Beitrag 1338213)
schade :( gibt es sonst eine möglichteit mit firemonkey auf windows ios und android mit 3d und 'besserer' grafik zu benutzen? wie wörs mit freepascal waere das besser geignet?

Wie schon gesagt, ist das keine Besonderheit von FireMonkey oder Delphi, sondern liegt einfach an der verwendeten Grafikengine - sei es nun DirectX oder OpenGL. Da ändert auch ein anderer Compiler nichts.

Es gibt sicher Bibliotheken, die dort einiges mehr bieten. Meistens sind die auf 3D-Spiele ausgelegt. Eventuell kann man die dann auch unter Delphi nutzen. Mit den Bordmitteln ist das allerdings nicht zu erreichen, wenn man nicht selbst so eine Bibliothek von Grund auf neu schreiben will.

ok danke

Harry Stahl 16. Mai 2016 19:14

AW: Firemonkey 3D Schatten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Man kann hier schon was machen. In welchem Umfang, hängt letztlich davon ab, was Du machen möchtest.

Einfache Sachen kann man schon hinbekommen. Anliegend mal eine Screenshot von meinem Disco-Demo, dass ich nun statt mit einem Materialsource mit einem LightMaterialsource verbunden habe und eine Shadow-Animation hinzugefügt habe.

Mit den verschiedenen Reglern kann man die Postion des Schattens ändern und mit den Lichtreglern eben das Licht.

Ist ein wenig Gefummel, geht aber.

milos 16. Mai 2016 19:18

AW: Firemonkey 3D Schatten?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1338232)
Man kann hier schon was machen. In welchem Umfang, hängt letztlich davon ab, was Du machen möchtest.

Einfache Sachen kann man schon hinbekommen. Anliegend mal eine Screenshot von meinem Disco-Demo, dass ich nun statt mit einem Materialsource mit einem LightMaterialsource verbunden habe und eine Shadow-Animation hinzugefügt habe.

Mit den verschiedenen Reglern kann man die Postion des Schattens ändern und mit den Lichtreglern eben das Licht.

Ist ein wenig Gefummel, geht aber.

Wow, echt interessant hätte nicht gedacht das das irgendwie geht :o Hab viel gesucht doch nie was gefunden. Hast du mehr infos dazu?

Freundliche Grüsse

Harry Stahl 16. Mai 2016 22:06

AW: Firemonkey 3D Schatten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe das Projekt mal in eine ZIP-Datei gepackt und hochgeladen.

Allerdings hat es keine einzige Zeile Source-Code, ist alles nur per Live-Bindings gemacht.

Projekt "Disco" ist noch unter XE7 als Demo erstellt, habe wie gesagt, nur kurz die Schatten-Teile ergänzt, sollte aber ohne Probleme auch unter neueren Delphis funktionieren.

Der Trick ist hier, dass es ein 2D-Projekt ist und die Effekte an das Viewport3D (in dem die 3D-Objekte liegen) ran gehängt werden können. Man müsste also in der Konsequenz für jedes 3D-Objekt einen eigenen Viewport erstellen, wenn man unterschiedliche Effekte auf mehrere 3D-Objekte anwenden möchte.

Wie gesagt, nur eine kleine ganz einfache "Spielerei", für Spiele-Programmierung dürfte das nicht geeignet sein, aber für einfachere Vorhaben könnte es evtl. eine Hilfe sein.

Schatten und Licht muss man hier manuell mit den Reglern einstellen. Man könnte das natürlich auch berechnen (die einzelnen Light-X,Y,Z-Werte in eine sinnvolle Korrelation mit .direction und .distance des Schatten zum Objekt bringen), aber dazu hatte ich gerade keine Lust (und keine Zeit).

milos 16. Mai 2016 23:37

AW: Firemonkey 3D Schatten?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1338236)
Ich habe das Projekt mal in eine ZIP-Datei gepackt und hochgeladen.

Allerdings hat es keine einzige Zeile Source-Code, ist alles nur per Live-Bindings gemacht.

Projekt "Disco" ist noch unter XE7 als Demo erstellt, habe wie gesagt, nur kurz die Schatten-Teile ergänzt, sollte aber ohne Probleme auch unter neueren Delphis funktionieren.

Der Trick ist hier, dass es ein 2D-Projekt ist und die Effekte an das Viewport3D (in dem die 3D-Objekte liegen) ran gehängt werden können. Man müsste also in der Konsequenz für jedes 3D-Objekt einen eigenen Viewport erstellen, wenn man unterschiedliche Effekte auf mehrere 3D-Objekte anwenden möchte.

Wie gesagt, nur eine kleine ganz einfache "Spielerei", für Spiele-Programmierung dürfte das nicht geeignet sein, aber für einfachere Vorhaben könnte es evtl. eine Hilfe sein.

Schatten und Licht muss man hier manuell mit den Reglern einstellen. Man könnte das natürlich auch berechnen (die einzelnen Light-X,Y,Z-Werte in eine sinnvolle Korrelation mit .direction und .distance des Schatten zum Objekt bringen), aber dazu hatte ich gerade keine Lust (und keine Zeit).

Sieht gut aus und ist schön gelöst ^^ Hoffe es kommt bald echter Schatten oder bessere OpenGL Unterstützung. Die 3D Seite von FMX finde ich leider im gegensatz zu FMX HD nicht wirklich brauchbar, da müsste schon die OpenGL API ordentlich aufrufbar sein...

Freundliche Grüsse


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 Uhr.
Seite 1 von 2  1 2      

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