Mandelbrot-Renderer

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

mpmxyz

BeitragMo, Jun 28, 2010 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo BBP!
Bei den Tests eines Moduls für komplexe Zahlen ist ein kleines Nebenprodukt angefallen, welches ich keinem vorenthalten möchte:
Ein Mandelbrot-Renderer
Er nutzt Doubles zur Berechnung, sodass die es erst relativ spät zu Ungenauigkeiten kommt.
Bis zu 18129 Iterationen sorgen für eine (fast) ungetrübte Detailfülle.
Mit benutzerdefinierten Gradienten und dem integrierten HDR kann man die Kontraste der Ergebnisse steigern oder einfach ihre Schönheit in neue Dimensionen heben!
Doch nun lasse ich die Bilder für sich sprechen:
user posted image
user posted image
user posted image
(Achtung, das letzte Bild ist fast 4 Megabyte groß!)
Wer jetzt Lust bekommen hat, die gezeigten Bereiche selbst "zu besuchen", wird dieses Feature zu schätzen wissen:

Nach einer kurzen (<1s) Analyse des Bildes bringt der Renderer einen direkt zum gezeigten Auschnitt.

Für jeden Interessenten gibt es hier den Download. (Version 1.4)
Eine schöne Reise wünsche ich euch!


P.S.: Die Steuerung ist übrigens *hust* selbsterklärend. Wink
  • Zuletzt bearbeitet von mpmxyz am So, Jul 04, 2010 23:17, insgesamt 11-mal bearbeitet

Firstdeathmaker

BeitragMo, Jun 28, 2010 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Extrem cool. Kannste noch einstellen dass man selber die Auflösung des Programmes wählen kann? Dann kann man sich selber schöne Desktops rendern Wink
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

mpmxyz

BeitragMo, Jun 28, 2010 22:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für das Lob!
Ich habe mir eben mal eine kleine Input-Funktion dafür zusammengebastelt. (Es gibt jetzt auch Antialiasing-Optionen!)
Jetzt steht deinem Desktophintergrund nichts mehr im Weg.
(von der gigantischen Renderzeit abgesehen Twisted Evil)
mfG
mpmxyz
Edit: Jetzt kannst du sogar ein fertig gerendertes Bild herunterladen. Smile
(Größe: 1600x1200, Iterationen: 6000, Antialiasing: 2x2, Rechenzeit: 30 Minuten)
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Firstdeathmaker

BeitragDi, Jun 29, 2010 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Och, mir reicht 1920x1080 mit 100 Iterationen und 2fach Antialiasing.
Im Moment rechne ich gerade an einem 4000x3000 Bild, 1000 Iterationen mt 1fach Antialiasing Wink

By the way: Abbrechen der aktuellen Berechnung mit Esc wäre gut, damit man ruhig mit höheren Einstellungen experimentieren kann, ohne dass man das Programm killen muss wenn es dann doch mal zu viel war...

Der absolute Knaller wäre natürlich jetzt noch Multithreading-Support, sodass ich meine 4 Kerne benutzen könnte um das zu rendern. Aber ich denke dazu müsstest du warscheinlich recht viel umstellen, oder?


Edit: Ein paar Ergebnisse, natürlich in mind. Full-HD (1080p) Qualität Wink


1920x1080 Desktop 1 (1,4 MB)
1920x1080 Desktop 2 (1,1 MB) << das habe ich mir als Desktop gemacht Wink
4000x3000 Loop (13,9 MB)
  • Zuletzt bearbeitet von Firstdeathmaker am Do, Jul 01, 2010 15:44, insgesamt einmal bearbeitet

mpmxyz

BeitragMi, Jun 30, 2010 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Die drei Bilder sind nicht schlecht.
Das zweite Bild könnte eventuell eine Runde Antialiasing gebrauchen. ("Antialiasing: 1" deaktiviert es aber. Wink)
Du hast dich bei dem dritten Link übrigens vertippt.
(Richtig: http://www.illusion-games.de/d...ktale/test3.png)
Wie lange hat dein Rechner zum Rendern des großen Bildes gebraucht?
Nun zu den Featurewünschen:
Escape zum Beenden des Renderns
Das baue ich gleich ein.
Es hatte mich vorher einfach zu wenig gestört, da ich ja immer den roten BlitzMax-Button hatte. Wink
Ich werde dabei auch eine Automatik einbauen, die verhindert, dass man durch einen unbedachten Tastendruck beim Rendern nach 10 Minuten Renderzeit auf einmal ein neues minderwertiges Bild gerendert wird. (Das wäre ein echtes schlimmes Erlebnis.)
Multithreading
In den letzten 24 Stunden wurde mir dieses Feature dreimal vorgeschlagen.
In dieser Zeit habe ich auch schon in Gedanken mit einer Umsetzung herumgespielt.
Hier kommt es nur auf die Unterstützung der BlitzMax-Module an.
Hier hat Mark Sibly nämlich leider mögliche Speicherlecks eingebaut.
Da ich aber nur wenige Module nutze, ist es möglich, dass ich in dieser Hinsicht keine Probleme haben werde.
Die eigentliche Umsetzung ist dabei relativ einfach, da die Mandelbrotberechnungen ein sehr gut parallelisierbarer Prozess sind.
Die Geschwindigkeit wird sich bei deinem Rechner wahrscheinlich mehr als verdreifachen, falls BlitzMax keinen Unsinn baut.
Sobald beim letzten Punkt Klarheit geschaffen wurde, melde ich mich wieder.
mfG
mpmxyz

Firstdeathmaker

BeitragDo, Jul 01, 2010 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
an dem großen habe ich ca 20 Minuten gerechnet. Ohne aa geht es ja recht fix...

wird es irgendwann auch mal source geben? Oder ist es generell closed source?

Deinen Generator finde ich von den Ergebnissen her besser als so viele komplette Programme die man so im Internet bekommen kann, vor allem das HDR ist cool.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

hamZta

Administrator

BeitragDo, Jul 01, 2010 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Finde die Ergebnisse aus dem Programm auch sehr cool! Habe mir eins von deinen Bildern geklaut, firstdeathmaker (Screenshot).

Ist das in BlitzMax geschrieben, mpmxyz? Wenn ja, dann fände ich es auch klasse wenn du den Source dafür freigibst Smile Dann kann ich mir unter Linux selbst Bilder generieren.

hamZta

Xaymar

ehemals "Cgamer"

BeitragFr, Jul 02, 2010 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir damit eines gerendert(6 Stunden erstellzeit).
user posted image
Größe: 2560 Höhe: 1024 AA: 16 I: 512(für nen Dualscreen PC Smile )

Edit: nein, warum denn in der schule? Ich habe anderes zutun, z.b. den Newton Wrapper
  • Zuletzt bearbeitet von Xaymar am Fr, Jul 02, 2010 14:44, insgesamt einmal bearbeitet

mpmxyz

BeitragFr, Jul 02, 2010 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
6 Stunden! Shocked Das sind mehrere Hundert Milliarden Berechnungsschritte!
Lass mich raten:
Du warst in dieser Zeit in der Schule. Wink

Zum Code:
Ja, es ist BlitzMax.
Ursprünglich war das ganze ein kleiner Test für eines meiner Module. (Das Modul ist inzwischen draußen, da es die Berechnungen etwa um den Faktor 10 verlangsamt.)
Dem entsprechend sieht der Code zur Zeit *hust* bescheiden aus.
Da ich aber ab jetzt Ferien habe, werde ich mich wohl wegen der Nachfrage noch einmal dransetzen, nachdem das Multithreading drin ist. (Es scheint keine Probleme mit der Threaded-Kompilierung zu geben. Smile )
mfG
mpmxyz
ein nächtliches Update: Shocked Shocked Das 4000x3000-Bild von Firstdeathmaker habe ich mit Multithreading in 30 Sekunden nachgerendert!
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am Sa, Jul 03, 2010 1:20, insgesamt einmal bearbeitet

mpmxyz

Betreff: Multithreading ftw!

BeitragSa, Jul 03, 2010 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
@vanjolo:
Nicht schlecht!
Aber was suchen zivile Schiffe in deinem Spiel? Confused

Ich habe in das Mandelbrot-Renderprogramm jetzt eine Multithreading-Unterstützung integriert.
Standardmäßig wird nur ein Thread zum Rechnen genutzt.
Mit F7 kann man die Anzahl der zum Rechnen genutzten Threads einstellen.
Es scheint im Moment leider einen - sehr sehr selten vorkommenden - Fehler zu geben:
An mir zufällig erscheinenden Zeitpunkten scheint sich einer der Rechenthreads aufzuhängen; das Programm bleibt mit 0% Auslastung stehen. Confused
Da dieser Fehler aber nur wenige Male und nur im Release-Modus vorkam, konnte ich ihn noch nicht beheben.
(Nun seid ihr vorgewarnt! Wink )
Wenn ihr das Programm lieber im Hintergrund laufen lassen wollt bzw. andere Programme während der Berechnung noch Luft haben sollen, nehmt die Schneckenversion!
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am So, Jul 04, 2010 17:29, insgesamt einmal bearbeitet

Alkan

BeitragSa, Jul 03, 2010 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich hab mal die neue Version deines Mandelbrot-Renderers getestet und das ergebnis war seh gut Wink
Nur kann ich maximal 4x-Antialiasing machen und je höher die Auflösung ist deste weniger.
Außerdem kann ich maximal bis 8000x6000 Rendern Crying or Very sad
Weißt du vielleicht woran das liegen könnte?
Aber trotzdem sehr gute Arbeit Wink

MfG
Alkan

P.S. Ich hab auch mal was gerendert(8000x6000 bei 1000 Iterationen, 1xAntialiasing und ca. 30 sek. Rechenzeit:
https://www.blitzforum.de/upload/file.php?id=8991
Hauptrechner: Win7 Ultimate x64|AMD Phenom II X4 965 BlackEdition 4x3.4GHz|4 GB DualKit DDR3-1600 Ram|1.5 TB Samsung EcoGreen|Cougar CM 700Watt|ASRock M3A790GFX/120M|Nvidia GeForce 9500GT|Ati Radeon HD3300(Onboard-Deaktiviert)
Server(früher Hauptrechner): Ubuntu 9.1 x86|Intel P4 HT 3GHz|Ati Radeon X600Pro|200 GB HDD
Worklog: Planetensimulation
Homepage(Under Construction): alkan96.dyndns.org
Wenn schon falsch, dann richtig falsch.

Pummelie

BeitragSa, Jul 03, 2010 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
So, habe mir jetzt auch einen eigenen Desk erstellt,
1280x1024
1024
anti: 2
Zeit: a. 5 min

user posted image
It's done when it's done.
  • Zuletzt bearbeitet von Pummelie am So, Jul 04, 2010 13:39, insgesamt 2-mal bearbeitet

DaysShadow

BeitragSa, Jul 03, 2010 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab auch eines gemacht, ist noch ein wenig nachbearbeitet in paint.net(Leuchten)...
1440x900

Macht jedenfalls Spaß damit Bilder zu machen Wink

user posted image

Edit: Der Gradient dafür https://www.blitzforum.de/upload/file.php?id=9004
Blessed is the mind too small for doubt
  • Zuletzt bearbeitet von DaysShadow am So, Jul 04, 2010 18:45, insgesamt einmal bearbeitet

Xaymar

ehemals "Cgamer"

BeitragSo, Jul 04, 2010 3:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Edit: meh 2 Executables...
user posted image+user posted image=user posted image

Firstdeathmaker

BeitragSo, Jul 04, 2010 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Jaaa, die Multithreaded Version ist deutlich schneller geworden!

Verbesserungsvorschläge:
- F7 in die Hilfe aufnehmen
- Möglichkeit einbauen, dass man Koordinaten eingeben kann zu denen man möchte. Sonst sucht man sich wirklich tot....
- Meistens stirbt bei mir die MT-Version bei 1920x1080 6000 Iterationen und 4x aa ab. 2x aa geht Problemlos.

Für die meisten Bilder brauche ich jetzt so 30 Sekunden, 1920x1080 6000 Iterationen und 4x aa.

Hier mal ein paar Bilder:

Motiv A, 1920x1080 12000 Iterationen, 2x aa

Motiv A, 1920x1080 6000 Iterationen, 1x aa

Motiv A, 1920x1080 6000 Iterationen, 2x aa

Motiv A, 1920x1080 6000 Iterationen, 4x aa

Motiv A, 800x600 6000 Iterationen, 12x aa

Motiv B, 1920x1080 6000 Iterationen, 2x aa

Motiv C, 1920x1080 6000 Iterationen, 4x aa

Motiv D, 1920x1080 6000 Iterationen, 2x aa

Motiv E, 1920x1080 6000 Iterationen, 2x aa

Weitere folgen...

mpmxyz

BeitragSo, Jul 04, 2010 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu den Problemen bei großen Bildern:
Das ist zwar nicht das Problem, das ich meinte, aber darum habe ich mich eben mal gekümmert.
Eine Lösung habe ich leider nicht finden können.
Ich weiß nur, dass der Fehler bei den BlitzMax-Pixmaps zu liegen scheint.
Dass die Fehler bei Antialiasing früher auftauchen, liegt daran, dass ich eine entsprechend größere Pixmap zur Vorschau nutze. Das wäre der einzige Punkt, den ich verbessern könnte. Confused

Nun antworte ich mal - mehr oder weniger - der Reihe nach:
@Chrise und vanjolo:
Danke für die Aufklärung! So lernt man mal etwas neues. Smile
@DaysShadow
Das ist ein sehr schönes Bild!
Das bringt mich auf eine Idee:
Hängt noch eure Gradienten an, falls ihr eigene erstellt habt.
Die besten werde ich dann mit in das Paket integrieren.
@Xaymar
Sag' bloß, dass du den Schneckenrenderer dafür verwendet hattest? Wink
@Firstdeathmaker
Die ersten beiden Punkte sind erledigt.
Warum suchst du dich eigentlich tot?
Hast du etwa kein Bild von der Stelle gespeichert gehabt? Das könntest du nämlich wieder laden.
Die Motive C bis E gefallen mir sehr. Auch die farbige Gestaltung hat etwas. (Gradient?)
mfG
mpmxyz
Edit: Oh, das Projekt zieht sich schon über eine Seite.
Hier ist noch einmal der Download.
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am So, Jul 04, 2010 23:17, insgesamt 2-mal bearbeitet

DaysShadow

BeitragSo, Jul 04, 2010 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Also die neueste Version hat scheinbar meinen Grafiktreiber crashen lassen Wink
Multithreading auf 2 wegen 2 Kernen, Iterationen auf 1024, immer nur im Programm rendern lassen zum anschauen, also nicht um es als Bild zu speichern, viele Gradienten probiert, ausgemacht und Crash -> Bluescreen mit nvlddmkm.sys als Ursache.

Und danke, ziert jetzt meinen Desktop Wink Gradient ist beim Bild editiert.

Edit: Ah genau, habe gerade Nicdels Beitrag gelesen, ich habe auch nur 50% Auslastung trotz 2 Kernen und 2 eingestellten Threads.
Blessed is the mind too small for doubt
  • Zuletzt bearbeitet von DaysShadow am So, Jul 04, 2010 21:35, insgesamt einmal bearbeitet

Nicdel

BeitragSo, Jul 04, 2010 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Seltsamerweise funktioniert das Multithreading nicht. Ich hab es auf 8 Kerne eingestellt (Core i7, siehe Laptop), es wird aber nur einer verwendet.
Ansonsten ein tolles Programm, auch ich hab schon einen neuen Desktophintergrund Very Happy
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

mpmxyz

BeitragSo, Jul 04, 2010 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
@DaysShadow:
Der Crash tut mir Leid.
Etwas in der Kategorie ist mir hier noch nicht passiert.
@DaysShadow + Nicdel:
Welche der beiden *.exe-Dateien habt ihr gestartet?
Ich denke mal, dass es die Mandelbrot.snail.exe war.
Diese ist nämlich im "Not Threaded"-Modus kompiliert worden. (Falls es mal Probleme mit der Threaded-Exe gibt, ist das die Notlösung.)
Ich hatte nur vergessen gehabt, das entsprechende "Menü" und den dazu gehörigen Hilfe-Text in einen "?Threaded"-Bereich zu stellen.
Das ist aber jetzt behoben.
Ich habe eine kleine Warnung eingebaut, die aktiviert wird, wenn man die Anzahl an Iterationen erhöhen sollte.
Die Umschalttaste kehrt jetzt die Wirkung von "I" um.
Außerdem sind im Paket jetzt einige der hier veröffentlichten Gradienten enthalten.

An die Moderatoren habe ich auch eine Bitte:
~Antrag auf Abspaltung aus dem WiP-Thread~
Als ich das Programm hier hineingestellt hatte, dachte ich nicht, dass es so gut ankommen würde.
Nun ist aber schon etwa eine Seite an Kommentaren geschrieben worden.
Ich möchte nicht, dass andere Projekte hier erdrückt werden. Wink
mfG
mpmxyz
Edit: Danke! Smile
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am So, Jul 04, 2010 23:26, insgesamt einmal bearbeitet

D2006

Administrator

BeitragSo, Jul 04, 2010 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
~AUFSPALTUNG~

Den Einfall hatte ich auch schon und der Bitte komme ich folglich gerne nach.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group