Thank you all for your comments about Fractint and Windows...
Thank you all for your comments about Fractint and Windows and your efforts on Fractint's behalf. I have derived much pleasure from Fractint's use and the results of other's using it to explore the vast uncharted realms of fractals. In particular, I like the powerful capability that the formula parser provides. I would like to see Fractint ported into MS Windows in some form so that many more people can benefit from its capabilities. I am trying to figure out if I might be of some use to the development team. If I understand your emails correctly, I currently see multiple paths being pursued towards integrating Fractint into Windows. I see that the difficulty (practicality) of pursuing any one particular path varies with the decisions made re initial features, memory model, run-time environment, targeted op sys and development environment. Its difficult for me to see which path is a practical one for me to attempt to try to support and which is best for the future of Fractint -- especially in view of the lack of a current consensus concerning a practical eventual target model and execution environment. Again, thank you for your comments about Fractint and Windows. - Hal Lane ######################### # hallane@earthlink.net # ######################### -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.408 / Virus Database: 268.13.11/496 - Release Date: 10/24/06
In article <MDBBJLBFBICIIEIHFBMEGEMFCNAA.hallane@earthlink.net>, "Hal Lane" <hallane@earthlink.net> writes:
Thank you all for your comments about Fractint and Windows and your efforts on Fractint's behalf. [...]
I think all of us share your thoughts re: Fractint. What I did was work from an XFractint code base. First, I printed out the *entire* source code to fractint and studied it. The printout is about 4 inches thick when printed double-sided! Maybe I'm "oldschool" by working from a printout but for me it has always been the best way to understand a very large body of code because you can spread everything out on the table, couch, chairs, etc. to get it all within your visual field of view. After studying everything, I identified the points where the calculating code called back to the user-interface code. Since the code originates before "event style" programming, it tends to be things like "check if a key was pressed" and so-on. What XFractint did was hook in the event processing in these functions. So when you checked if a key was pressed, the XEvent queue would be processed. It ends up that the polling style I/O code of the DOS world ends up being called often enough that your events are processed in a timely fashion. After identifying all these sorts of UI callbacks and various system type functions having to do with timers and things like that, I refactored them all into a structure of function pointers. The current "device" was a global variable pointing to one of these filled out structures. When you called the global function that said "check for a key pressed", it just called through the global structure pointer into the member function. Kind of like a poor-man's object method call. The member function then had access to its internal device data that it needed for that device. I had everything refactored and compiling, but I got pulled in other directions before I had a chance to get everything debugged. I still believe that this is the right way to go in that it maximally preserves the existing code base, but still moves us in the right direction. I keep hoping that someone will drive this effort towards completion, but if noone else does, then I will come back to it when my book is finished, which is looking sooner rather than later at this point, although I've been working on it for about 6 years now :-). I still have a soft spot in my heart for fractint and if noone else does it, then I will eventually move it to a modern UI platform! I still think it could be preserved to work under dos DPMI style environment as well. I would ultimately like to refactor the whole polling UI business out of the code and move it to a real event processing architecture, but for the moment, I think its more expedient to hack in the event processing into the polling code the way XFractint does it. If you want to see my effort at refactoring the UI code, I still have it around somewhere. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html>
Rich wrote:
I think all of us share your thoughts re: Fractint.
Rich, Jonathan and I are both grateful for your earlier effort. As you pointed out, you had to give it up before you could get it to a runnable stage. Perhaps you were closer than we realized, I don't know.You invested a lot of effort. For personal reasons you didn't quite get it finished, and for personal reasons on our end, Jonathan and I didn't or couldn't pick up your work. If your sources could be gotten to work, and if your modified version had a clear enough relationship to the original sources, and we knew what your starting point was, we might be able to merge in our subsequent work since we have a very detailed source change history. I realize a lot of time has gone by, but then the rate of change hasn't been too frenetic for some years. Tim
In article <453FA853.32017.3A7862@twegner.swbell.net>, "Tim Wegner" <twegner@swbell.net> writes:
If your sources could be gotten to work, and if your modified version had a clear enough relationship to the original sources, and we knew what your starting point was, we might be able to merge in our subsequent work since we have a very detailed source change history. I realize a lot of time has gone by, but then the rate of change hasn't been too frenetic for some years.
I think the work could be merged back into the current sources. As I understand it, the changes since my attempt have been around adding new features, not refactoring the main compute engine or any of the UI entry points. Basically, I *only* touched the UI and system-y like functions and not the fractal compute engine. I thought Jonathan had it merged with his Allegro version at one point, but it probably doesn't matter now and would be better off re-merging with the existing sources. Hell, I might even attempt such a merge given a crappy Winter weekend when there was nothing better to do. I've got a tarball of it around somewhere and if nothing happens by the xmas holidays, I'll give the merge a try then. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html>
In article <453FB0A8.15482.5B0341@twegner.swbell.net>, "Tim Wegner" <twegner@swbell.net> writes:
Rich wrote:
I've got a tarball of it around somewhere and if nothing happens by the xmas holidays, I'll give the merge a try then.
Rich, remind me what platform you are using for the compiler/target OS/graphics.
I've got Windows XP and I use VS.NET 2003 for my compiler. I think this was one of the reasons that I started with the XFractint code base -- it was already compiling without all the 16-bit DOS-isms. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html>
participants (3)
-
Hal Lane -
Richard -
Tim Wegner