Revisions-Verlauf von FractSurf http://www.FractSurf.de Autor: Julian Bischof AuthorOf@FractSurf.de ======================================================================= 2.0.1.58 Nov 2001===================================================== - Noch am Umbau: - History verbessert: auch eigene Klasse draus gemacht. Verwaltet sich selbst und besitzt kleine Preview-Bitmaps zu jedem Eintrag. - Speicherproblem entdeckt: Im Scr-Modus scheint der reservierte Speicher zu wachsen, kann's mir aber nicht erklären und bin mir auch nicht sicher, ob's so ist. - Datenverwaltung nochmal debugged (s. 2.0.0.56). Scheint stabil gegenüber krassen Eingaben zu sein. - Hashverwendung vollständig (hoffe ich) umgesetzt. FractSurf ist jetzt polylingual ;-) - Framerate des Screensavers mehr als verdoppelt !!! (FastPaint-Methode in Assembler geschrieben. Scheint stabil zu sein, trotz recht geringer Fehlerabfangerei.) ======================================================================= 2.0.1.57 Okt 2001===================================================== - Immernoch am Vollenden der Umstrukturierung. - schweren Bug in "Ebene duplizieren" entfernt. War Ursache für mehrere Fehlverhalten; u.A. Prüfung, ob neu berechnet werden muss. - Screensaver läuft wieder. Allerdings noch superlahm. - Fkt zum automat. zoomen im scr-mode neu geschrieben. - Taskbareintrag verschwindet jetzt nach Beenden als Scr. - Errorlogging eingebaut. Bei Fehlern in kritischen Methoden wird Fehler in "Error.log" aufgezeichnet. - Alle Modelle (ausser "Eigene") in Assembler gecodet! *protz* Geschwindigkeitszuwachs ca. 300 bis 1000 (tausend!) % Insbes. Sinus und PseudoSinus haben profitiert. (Schon praktisch, Mathe zu studieren ;-)) - Neues Modell "Quaternionen" eingebaut - allerdings noch sehr rudimentär. Da steckt viel drin, muss mir aber noch Steuerung ausdenken. (Bisher alles mit komplexen Zahlen (2-dimensional) gewesen. Quaternionen sind grösser (4-Dim). Das passt nicht so recht in die Programm-Struktur). Auch ein 3D-Objekt wäre denkbar - aber erstmal das, was schon da ist, zu Ende bringen. - Eigene Modelle (Stringpolynome) in Assembler geschrieben. *Megafreu* Funzt aber nur, wenn alle Exponenten ganzzahlig und < 256 (also Bytes) sind. Aber schnell wie Sau: Geschwindigkeitszuwachs 800 - 1500 (!!) % ======================================================================= 2.0.0.56 Sep & Okt 2001=============================================== Habe 'Hintergrund einfrieren' (s. 1.4.1.53) ordentlich fortgesetzt: - Komplette Umstrukturierung des Programms: (endlich ordentliche Trennung v. Daten und Oberfläche ;-) - Klasse TLayer geschrieben, enthält alle iterativen Fktn zur Berechnung, alle Zeichenmethoden und die Daten. Verwaltet einzelnes Objekt - wesentl. Methode dabei ist "Update", wo alle Daten auf Veränderungen geprüft werden und ggf. neu berechnet und/oder gezeichnet wird. Neue dabei: Instanzen enthalten Opacitytable, der die Deckkraft jeder Farbstufe aufnimmt -> einzelne Farben abschwächen oder unsichtbar möglich. - Klasse TLayerList geschrieben, die *trommelwirbel* Liste von TLayer mit verwaltenden Methoden bereitstellt. Gibt Update weiter an alle Member. Beim Zeichnen wird mit schwarzem Bitmap begonnen; dann zeichnen sich die Member der Reihe nach mit entsprech. Deckkraft und Zeichenstil dazu. -> Bilder sind nun beliebig mischbar!!!!! *freufreu* Die wichtigsten Zeichenstile (alles Pixelweise) : Normal: NeueFarbe*Deckkraft + AlteFarbe*(MaxDeckkraft - Deckkraft) Additiv: NeueFarbe*Deckkraft + AlteFarbe Subtraktiv: AlteFarbe - NeueFarbe*Deckkraft Luminanzen: NeueFarbe dient nur als Helligkeitsfaktor für AlteFarbe Die restlichen sind "chaotisch" (was halt so passiert, wenn man z.B. Longint^2 in ein Byte stopft ;-)), aber z.T. sehr schön -> neues Fenster "Ebenen" gemacht, in dem die LayerList verwaltet wird. (hab mir bissl von PhotoShop abgekuckt :-)) - Bookmarks haben neues Feld: "Hintergrund färben nach...". Konvergente Punkte können entweder nach Betrag, Real- oder Imaginärteil des letzten Wertes gefärbt werden. Fenster "Hintergrund" entsprech. angepasst. Problem mit Versionskonflikt beim laden noch nicht gelöst. - Werkzeugleiste in "Navigator" eingebaut. Oberfläche ist jetzt fast schon intuitiv ;-)). Entsprech. Controls aus anderen Fenstern entfernt. Gleich auch passende Cursor eingebaut. - Kleinere Bugs bei Datenverwaltung entfernt. Das letzte berechnete Bild wird jetzt bei Berechnungsabbruch gerettet. Sehr segensreich... Trotzdem noch nicht sehr stabil. Muss mich noch mehr um Exceptions kümmern... - Screensaver läuft noch nicht anständig :-( Hat den Umzug in eigene Klasse irgendwie nicht gut vertragen, aber z.Zt. gibts wichtigeres. - Schnuckeligen Button in die Captionleiste der Child-Fenster eingebaut, (auch wie in PhotoShop :-)) der das Fenster auf seine Captionleiste verkleinert. Seehr praktisch! - Klasse TStringHash geschrieben. (Wie TStringlist, aber Indizierung über Strings statt Zahlen). Damit kann on the Fly die Sprache gewechselt werden, da alle Controls und Dialoge ihren Text/Caption/Hint aus dem Hash beziehen. Ausserdem kann jeder ein entsprech. Textfile in seine eigene Sprache übersetzen. Wenn das Proggi mal ordentlich publik wird und die User nett genug sind, gibts FractSurf in zig Sprachen :-)) Bisher nur wenig Controls angepasst - is ne scheissarbeit!! Alles noch zu buggy, um es zu veröffentlichen. Die Umstrukturierung ist noch nicht vollständig ausgetestet. Ich mach trotzdem mit der Versionsnummer weiter, sonst komm' ich durcheinander. ======================================================================= 1.4.2.55 am 5.9.2001================================================== - Screenshot-Funktion in Bildschirmschoner eingebaut: Bei Taste 'J' wird Bookmark angelegt ======================================================================= 1.4.2.55 am 17.8.2001================================================== - Fenster zur Anzeige der Daten in den Bookmarks eingebaut. - kleineren Bug in 'Bookmark wiederherstellen' und 'Bookmark hinzufügen' entfernt: Vorschrift bei eigenen Modellen wurde nicht immer verwendet / gespeichert ======================================================================= 1.4.2.54 am 15.8.2001================================================== - DirectX für Bildschirmschoner eingebaut - sieht scheissegeil aus!!! Nur auf Win98SE mit DX8 getestet! Nicht auf NT oder anderen DX-Versionen! - Bug bei Zoomen auf gedrehter Arbeitsfläche entfernt ---- Version hochgeladen ---- ======================================================================= 1.4.1.53 am 4.8.2001================================================== - entfernen nicht vorkommender DivergenzStufen auch in 'Bitmap direkt schreiben' eingebaut - 'Progress-Bar' eingebaut -> Fortschritt beim Berechnen/Schreiben der Bilder visualisiert (dadurch entsteht bei ungeübten Usern nicht mehr der Eindruck, als würde das Programm 'schlafen') - Hintergrundpixel einfrieren eingebaut -> Bilder können 'vermischt' werden. Diese Funktion hat glaub ich viel Potential und schreit nach Verbesserung... ======================================================================= 1.4.1.52 am 3.8.2001================================================== - Nach Berechnung werden jetzt standardmässig nicht vorkommende DivergenzStufen aus dem Verlauf entfernt -> Knopf 'Gruppieren' aus Fenster Farbgebung entfernt - Bug in 'Bitmap direkt schreiben' entfernt: gepufferten FileStream geschrieben und eingebaut -> Bug OK und ausserdem Grösse jetzt völlig beliebig. (theoretisch bis MaxInt*MaxInt (MaxInt = 2147483647) - die Festplatte will ich sehen ;-)) - Verschiebung der fremden Fenster bei Screensaver-Mode weniger 'aggressiv' gemacht ---- Version hochgeladen ---- ======================================================================= 1.4.1.51 ca. am 25.7.2001============================================= - Menüstruktur verändert - Bookmarks besitzen jetzt Feld 'Autor' - Mapi-Funktion eingebaut, damit neue Bookmarks mit 2 Klicks an Fractsurf.de geschickt werden können - Disclaimer eingebaut - Seitenverhältnis von Fenstergrösse unabhängig einstellbar gemacht - 'Arbeitsfläche drehen' eingebaut - Bildwiederholfrequenz in Auflösungs-Routinen des Bildschirmschoner-Modus für NT eingebaut NOCH NICHT GETESTET! - Kubische Splines in Farbverlauf eingebaut; schööön! :-))) ---- Version hochgeladen ---- ======================================================================= 1.4.1.50 ca. am 20.2001=============================================== ---- Version hochgeladen ----