AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonkey 3D Schatten?

Ein Thema von JayZ · begonnen am 14. Mai 2016 · letzter Beitrag vom 17. Mai 2016
Antwort Antwort
Seite 1 von 2  1 2      
JayZ

Registriert seit: 14. Mai 2016
34 Beiträge
 
#1

Firemonkey 3D Schatten?

  Alt 14. Mai 2016, 22:41
hey!
ich bin neu hier und auch noch frisch in delphi
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)
  Mit Zitat antworten Zitat
JayZ

Registriert seit: 14. Mai 2016
34 Beiträge
 
#2

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 09:01
weiss denn keine bescheid
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#3

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 09:44
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
JayZ

Registriert seit: 14. Mai 2016
34 Beiträge
 
#4

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 09:48
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?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#5

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 14:13
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
JayZ

Registriert seit: 14. Mai 2016
34 Beiträge
 
#6

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 14:38
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
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.477 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 19:14
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.
Miniaturansicht angehängter Grafiken
disco-ligh.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 19:18
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 Hab viel gesucht doch nie was gefunden. Hast du mehr infos dazu?

Freundliche Grüsse
Milos
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.477 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 22:06
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).
Angehängte Dateien
Dateityp: zip Disco.zip (71,2 KB, 25x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Firemonkey 3D Schatten?

  Alt 16. Mai 2016, 23:37
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
Milos
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 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