AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Fraktal-Raytracer, mein Lebenswerk :)

Fraktal-Raytracer, mein Lebenswerk :)

Ein Thema von dizzy · begonnen am 1. Jul 2005 · letzter Beitrag vom 9. Aug 2007
Antwort Antwort
Seite 2 von 11     12 34     Letzte » 
Benutzerbild von dizzy
dizzy
Registriert seit: 26. Nov 2003
Hallo miteinander!

Heute Nacht ist es so weit. Ich stelle hier jetzt zum ersten Mal das Programm zur Verfügung, von dem ich seit ich programmiere träume. Es ist sicherlich noch nicht perfekt und auch nicht 100% fertig (welches Programm ist das schon ), aber es beinhaltet im Großen und Ganzen Freizeitarbeit die immer wieder mal sporadisch gemacht wurde, von nunmehr fast 4 Jahren. Vieles davon ging natürlich nicht direkt ein, da vieles Spielerein und Tests waren die mir beim Verständnis mancher Dinge weiter geholfen haben. Ich habe mit und an diesem Projekt so viel gelernt wie an keinem Programm zuvor.

Was tut dieses Dingsbums?
Es ist ein waschechter Raytracer der es (bisher ausschließlich) vermag sogenannge Quaternion-Fraktale zu rendern. Diese sind auf Basis von Quaternionen berechnet, die ihrerseits die Fortführung der komplexen Zahlen in die 4. Dimension sind. 3 davon nehme ich her, und stelle sie dar .

Das hier ist übrigends der (eigentlich einzige) Grund für meinen CQParser den ich hier vor einiger Zeit schonmal vorgestellt habe .

Ein paar Kleinigkeiten sein gesagt:
Ich bin mir darüber im Klaren, dass es zunächst nicht an allen Stellen gleich offensichtlich ist, welche Einstellung was bewirkt. Zu einer Doku muss ich mich noch durchringen (die auf Grund einiger Hintergrundinfos die ich gerne mitgeben würde recht umfangreich ausfallen müsste...). Durch Ausprobieren sollte sich aber vieles erschließen - SO kompliziert wie es oben klingt ist es nicht.
Ein Feature ist noch drin, dass durch eine Nachlässigkeit von ganz am Anfang übrig ist: Verstellt alles, aber NICHT die Kameraposition auf der x- und y-Achse! Auf z ist's okay, aber bei den anderen beiden wird schlicht falsch gepixelt . Das auszubügeln erfordert leider noch einen Rewrite einiger Kernteile.


Ich freue mich auf Meinungen, Bugreports und Feature-Vorschläge von meiner Lieblingscommunity (die nicht wenig daran beteiligt ist, dass ich überhaupt so weit kommen konnte )

\\Edit: Eine kleine Hilfe habe ich in diesem Beitrag hinzugefügt.
Miniaturansicht angehängter Grafiken
screenie_154.png  
Angehängte Dateien
Dateityp: zip fract-pics_106.zip (1,85 MB, 491x aufgerufen)
Dateityp: zip qed_783.zip (297,7 KB, 585x aufgerufen)
INSERT INTO HandVonFreundin SELECT * FROM Himmel
 
Benutzerbild von MisterNiceGuy
MisterNiceGuy

 
Delphi 7 Personal
 
#11
  Alt 1. Jul 2005, 12:32
Bitte schlag mich
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#12
  Alt 1. Jul 2005, 14:04
Hui - ja dann mal ein paar Stellungnahmen vorweg

Zitat:
Und beim rendern > Abort knopf wird go nicht wieder enabled ...
Ooops, wird sich drum gekümmert.

Zitat:
Es hat sich meines gesamten freien Arbeitsspeichers bemächtigt (ca 50-60 MB), die Preview-Funktion hat sich aufgehängt (Rest ging noch) und danach lies es sich nur noch über den Taskmanager beenden. Weiss auch nicht... hab ich ihn überfordert vielleicht?
Naja, 50-60MB sind ja nicht grad viel freier Speicher . Allerdings ist das durchaus ein passabler Wert (je nach Einstellungen), da hierbei durchaus ein Haufen an Daten anfällt. Speicherschonender hieße hier auch langsamer - und da das Verfahren prinzipbedingt nicht viel schneller sein kann (Stichwort: Volumetrisches Raytracing), habe ich mich so entschieden.
Was den Aufhänger angeht, so kann das auch sehr stark an Einstellungen liegen. Ich werde mit einer kleinen Anleitung auch mal ein paar Empfehlungen angeben denke ich .

Zitat:
Bug ?
- hatte alle Fenster offen und wollte eins Schließen, schwupp war das Programm aus Shocked keine Fehlermeldung.
Das ist mir bisher nicht untergekommen...


Zitat:
- beim öffnen eines neuen Fensters (wenn schon eins offen ist) in den Vordergrund setzen (muss den Knopf immer 2 x drücken)
- Minimize, Schließen Icons um nicht erst den passenden Button zu suchen.
- Sequence als AVI speichern
- Dazu habe ich leider (und auch krampfhaft) keine Lösung gefunden.
- An sich garkeine schlechte Idee. Sicherlich intuitiver als über die Buttonleiste.
- Hab ich auch schon dran gedacht, und soll auch mal rein kommen.

Zitat:
Eine möglichkeit ein einstellungs-profil zu speichern wäre toll.
Dafür ist schon mal das MainMenu vorgesehen (wie ja wie bereits auffiel bisher keinerlei Funktion hat ). Ich wollte damit lediglich warte bis möglichst alle Features fertig sind die ich mir so vorstelle, um da im Nachhinein nicht zu viel rumdoktorn zu müssen. Es wird aber ein erweiterbares Format auf Basis von XML werden, so dass Änderungen da nicht so schwierig werden sollten.

Zitat:
mir gefällt das Progämmle auch sehr gut, allerdings würde ich mir wünschen, dass Du einerseits etwas mehr über die Formel erzählst und die Einstellungen erzählst, so dass wir nicht Eingeweihten auch eine Chance haben diese etwas besser zu versehen und somit sinnvoller einzusetzen
Ich werd mich nachher mal an einen Guide machen. Das problem dabei ist, dass man zum wirklichen Verständnis dessen was da passiert, ein paar Worte mehr sagen muss. Die muss ich noch geieignet wählen und komprimiert zu Bildschirm bringen .

Zitat:
die einzelnen Fenster sollten undocked sein, so dass man sich alle gleichzeitig anzeigen kann - ich hätte ja über die Monitore verteilt genug Platz Wink
Hm, das würde fürchte ich nen Rewrite des gesamten Fensterhandlings erfordern. (Und ich bin kein so großer Fan von komplett "floatenden" Fenster-Fragmenten.) Reicht es nicht evtl. das Programm über alle Bildschirme zu maximieren?

Zitat:
Bei den Sequenzen sollte der Fortschritt (Frame X von Y) mit angezeigt werden
Die Trackbar unten läuft mit

Zitat:
Ich war zwar erst entäuscht über die Pixligkeit die mein Irgendwas da hatte, aber nach dem Rendern, war's nur noch genial !
Preview = 1/2 der Fensterauflösung hochskaliert. Spart ungemein Zeit, und ist ja nur eine Vorschau

Zitat:
- Wäre es eventuell auch möglich, Bilder zu laden und diese zu rendern ?
s.o.

Zitat:
- Falls möglich, den Code noch optimieren um Resourcen zu sparen
(Antialias stufe 7 braucht fast 30 Minuten bei mir)
Das AA ist nicht mehr großartig verbesserbar. Es wird (und muss auch bei volumetrischem Raytracing) via Oversampling gemacht werden, d.h. bei Stufe 7 wird das Bild im Grunde in 3,5-facher Größe gerendert, und dann mit einem Interpolationsalgo runterskaliert. Ich habe bei meinen (langen) Recherchen nur optimierte Verfahren für polygonbasiertes Rendring gefunden. AA ist einfach kostspielig (und daher eigentlich nur für das endgültige Bild einsetzbar).
\\Edit: Man bedenke, dass die doppelte Bildgröße die vierfache Pixelanzahl beinhaltet, was auch einen 4-fachen Zeitaufwand (in etwa) ausmacht.


Danke euch kräftig für's Testen und die Statements! Und wie ich ja schon befürchtet habe muss ich doch noch ein paar erklärende Zeilen aufsetzen . So soll es sein.

Gruss,
Fabian
Fabian K.
  Mit Zitat antworten Zitat
Dax
 
#13
  Alt 1. Jul 2005, 14:21
Wow Das Ding ist ja wirklich geil geworden

Ich krieg auch keine Metalle hin, vielleicht könntest du ja mal ein paar Color-Settings posten, wenn du Zeit hast

Und noch ein paar Formeln


read you,
Dax
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#14
  Alt 1. Jul 2005, 16:32
Ich habe nun eine schnelle kleine Anleitung zusammengestrickt. Ich hoffe sie beantwortet ein paar Fragen, und hilft schöne Bildchen zu machen
Angehängte Dateien
Dateityp: zip qed-help_747.zip (100,1 KB, 199x aufgerufen)
Fabian K.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 11 Alexandria
 
#15
  Alt 1. Jul 2005, 18:32
Hier mal ein Ergebnis Es macht Spaß, aber es ist echt schwer reinzukommen, zumal es mir schon zweimal abgestürzt ist - ohne Settings-Save ist das echt nachteilig...

......
Miniaturansicht angehängter Grafiken
test_02_626.gif  
Daniel W.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#16
  Alt 1. Jul 2005, 19:06
Hier ein neuer Desktophintergrund

Gerendert mit 1280 x 960 und 4 fach Antialising ~ 45 min. (AMD 2800+)

wirkt aber irgendwie doch ein bisschen pixelig ...
Miniaturansicht angehängter Grafiken
test01_100.jpg  
  Mit Zitat antworten Zitat
Dax
 
#17
  Alt 1. Jul 2005, 19:18
Huch *staun* Irgendwie bring ich echt nie was fertig, was über Presets hinausgeht..
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#18
  Alt 1. Jul 2005, 19:37
Da, schau dir mal diese Beispieleinstellungen an, da müsstest sogar du etwas schaffen

(am besten mit ner schönen landschaft als reflexionsmap - und *wuppdi* sieht's noch besser aus )
Miniaturansicht angehängter Grafiken
beispiel_904.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh
 
#19
  Alt 1. Jul 2005, 22:15
Ein eigener Raytracer, wie genial ist das denn ?
Hier mal meine zwei Versuche.
Wie wäre es noch mit einem dreidimensionalen Apfelmännchen ?

PS: Der Name ist gut .
Miniaturansicht angehängter Grafiken
fractal3_443.png   fractal4_127.gif  
Sebastian
  Mit Zitat antworten Zitat
Daniel G
 
#20
  Alt 1. Jul 2005, 23:57
Bei solchen Programmen wünsch ich mir immer 'nen eServer BlueGene. Ach ja....


Gut übrigens, dass du die Hilfe nachgereicht hast. Ich render dann noch ein wenig...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:58 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