home *** CD-ROM | disk | FTP | other *** search
/ ftp.xmission.com / 2014.06.ftp.xmission.com.tar / ftp.xmission.com / pub / lists / fractdev / archive / v01.n015 < prev    next >
Internet Message Format  |  1998-12-04  |  41KB

  1. From: owner-fractdev-digest@lists.xmission.com (fractdev-digest)
  2. To: fractdev-digest@lists.xmission.com
  3. Subject: fractdev-digest V1 #15
  4. Reply-To: fractdev-digest
  5. Sender: owner-fractdev-digest@lists.xmission.com
  6. Errors-To: owner-fractdev-digest@lists.xmission.com
  7. Precedence: bulk
  8.  
  9.  
  10. fractdev-digest        Friday, December 4 1998        Volume 01 : Number 015
  11.  
  12.  
  13.  
  14.  
  15. ----------------------------------------------------------------------
  16.  
  17. Date: Fri, 4 Dec 1998 12:06:20 -0200 (EDT)
  18. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  19. Subject: Re: (fractdev) project list
  20.  
  21. On Thu, 3 Dec 1998, Phil McRevis wrote:
  22.  
  23. > This file attempts to list the works "in progress" at the time of the
  24. > current fractint release (19.6) and the people working on them.  It is
  25. > hoped that this file will help developers coordinate their efforts and
  26. > eliminate any duplicate effort.
  27. > This file last updated January 29th, 1998
  28. [snip]
  29.  
  30.     January? ups. Are the "mostly done" done then? :-)))))
  31.  
  32.     OK, my peebles:
  33.  
  34.     new fractal types:
  35.  
  36.     * Generalized julia popcorn with functions and complex parameters (the
  37.           images are sooo col. :-))
  38.  
  39.     * Latoocarfians - new orbit like fractal based on Pickovers' book.
  40.  
  41.     * New drawing method, suggested name: diffusion. Based on an aticle I
  42. wrote for Computer & Graphics (supposed to be printed on issue 24(3)): this
  43. method draws the poing evenly ditribuited over the screen. Two options: a block
  44. filling option, that resemples solid guessing and a non filling option
  45. (fillcolor==0) that "sprays the points over (kind of a "fade in" from the bk
  46. color).
  47.  
  48.     All are done and docs ready, have debugged the first two and the last is
  49. being debugged (some problems in save/restore).
  50.  
  51.     The patches will be with tim by the weekend.
  52.  
  53.     BTW: the latoocarfians are the first, nad I promissed to myself, the
  54. last orbit-like fractal I do (unless in VERY special cases). I plan to use the
  55. parser to implement a "roll-your-own"  orbit fractal in the next round :-)
  56.  
  57.     []'s
  58.  
  59.     Humberto R. Baptista
  60.     humberto@insite.com.br
  61.  
  62. - ---------------------------------------------------------------------------
  63. Insite - Solucoes Internet                         http://www.insite.com.br
  64.  
  65.  
  66. - --------------------------------------------------------------
  67. Thanks for using Fractdev, The Fractint Developer's Discussion List
  68. Post Message:   fractdev@lists.xmission.com
  69. Get Commands:   majordomo@lists.xmission.com "help"
  70. Administrator:  twegner@phoenix.net
  71. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  72.  
  73. ------------------------------
  74.  
  75. Date: Fri, 4 Dec 1998 12:30:01 -0200 (EDT)
  76. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  77. Subject: Re: (fractdev) C++ builder
  78.  
  79. On Thu, 3 Dec 1998, Phil McRevis wrote:
  80.  
  81. [...]
  82. > unix/linux/Mac.  This is why it is important to separate out the GUI
  83. > from the computation.  The GUI is going to be Xt/Xlib on linux/unix
  84. > and Mac Toolbox on the Mac (or whatever their favorite new app
  85. > interface is), homebrew on DOS, and Win32 on Win95/Win98/NT.
  86.  
  87.     Agreed, I woudn't be good to compromise with specific
  88. compiler/application frameworks or classes in Fractint.
  89.  
  90. > Aside from some form of pixel abstraction for image rendering, fractint's
  91. > GUI needs are relatively modest for a straight port/rewrite.
  92.  
  93.     Is it? I guess i do not know the code enought. I would like to see (or
  94. do if time permits) the abtraction with linkd to some items in the todo list
  95. and, for instance, fast (possibly hw linked) {blok,area}-filling routines etc.
  96.  
  97.     []'s
  98.  
  99.     Humberto R. Baptista
  100.     humberto@insite.com.br
  101.  
  102. - ---------------------------------------------------------------------------
  103. Insite - Solucoes Internet                         http://www.insite.com.br
  104.  
  105.  
  106. - --------------------------------------------------------------
  107. Thanks for using Fractdev, The Fractint Developer's Discussion List
  108. Post Message:   fractdev@lists.xmission.com
  109. Get Commands:   majordomo@lists.xmission.com "help"
  110. Administrator:  twegner@phoenix.net
  111. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  112.  
  113. ------------------------------
  114.  
  115. Date: Fri, 4 Dec 1998 13:11:53 -0200 (EDT)
  116. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  117. Subject: Re: (fractdev) Synchronous Orbits
  118.  
  119.     Hm. This sound great, and by what yo've written I gues that is what the
  120. other program does.
  121.  
  122.     BTW: i war discussing fractint with some friends from a Parallel
  123. Computing Lab and they've asked what kind of support/hook it has beccause
  124. fractals are _so_ easy to distribute among processores, pipelines, vector
  125. registers, machines etc.
  126.  
  127.     I am (for some time now) thinking about a _very_ simple way to put
  128. several machines working on a same images autommatically (work distribution) ans
  129. via network, but I keep wondering if we can come up with a code
  130. organization/API/abstratcion that can suppor multiprocessors, pipelining and
  131. vector computing.
  132.  
  133.     This is very similar to the syncronous orbit, except fro the
  134. interpolation part, I mean: if we did the work by chunks some "magic trick"
  135. could come up to split the work and/or to make similar operations "pipeline"
  136. friendly and/or to alocare chunks to vector machines.
  137.  
  138.     Have you discussed along this lines? Any ideas?
  139.  
  140.     []'s
  141.  
  142.     Humberto R. Baptista
  143.     humberto@insite.com.br
  144.  
  145. - ---------------------------------------------------------------------------
  146. Insite - Solucoes Internet                         http://www.insite.com.br
  147.  
  148.  
  149. - --------------------------------------------------------------
  150. Thanks for using Fractdev, The Fractint Developer's Discussion List
  151. Post Message:   fractdev@lists.xmission.com
  152. Get Commands:   majordomo@lists.xmission.com "help"
  153. Administrator:  twegner@phoenix.net
  154. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  155.  
  156. ------------------------------
  157.  
  158. Date: Fri, 4 Dec 1998 13:14:47 -0200 (EDT)
  159. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  160. Subject: Re: (fractdev) Re: source code
  161.  
  162. On Thu, 3 Dec 1998, Tim Wegner wrote:
  163.  
  164. [...]
  165. > already maintain 
  166. > 1. Fractint
  167. > 2. Xfractint (based on 1.)
  168. > 3. Non-integer Fractint 
  169.  
  170.     I haven't  looked to the Xfractint nor the non-integer, but aren't they
  171. "mergeable" with the original DOS? Except for a bunch of ptatform specific stuff
  172. in separate file of course. I keep thinking of the linux kernel tree. It is
  173. really something to be able to compile and prepare kernel in such a number of
  174. patforms and yu always get ALL the code to all platforms.
  175.  
  176.     []'s
  177.  
  178.     Humberto R. Baptista
  179.     humberto@insite.com.br
  180.  
  181. - ---------------------------------------------------------------------------
  182. Insite - Solucoes Internet                         http://www.insite.com.br
  183.  
  184.  
  185. - --------------------------------------------------------------
  186. Thanks for using Fractdev, The Fractint Developer's Discussion List
  187. Post Message:   fractdev@lists.xmission.com
  188. Get Commands:   majordomo@lists.xmission.com "help"
  189. Administrator:  twegner@phoenix.net
  190. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  191.  
  192. ------------------------------
  193.  
  194. Date: Fri, 4 Dec 1998 13:20:55 -0200 (EDT)
  195. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  196. Subject: RE: (fractdev) project list
  197.  
  198. On Fri, 4 Dec 1998, Ron Barnett wrote:
  199.  
  200. > To my knowledge there is only one general algorithm which works for all
  201. > fractals and gives a result which looks similar to the normal iteration
  202. > escape-base coloring. (I haven't tested them all :-), but none have failed
  203. > so far. I call the method exponential smoothing, which I discovered in 1997.
  204.  
  205.     Hm. Moving average exponential smoothing? Or exponential smoothing over
  206. all points? how does it maps from iterations -> color? 
  207.  
  208. > I have a beta program available on my web site to demonstrate some 24 bit
  209. > coloring techniques. The help file contains a description of exponential
  210. > smoothing. The site is http://www.hiddendimension.com I will post some
  211. > details on the method soon. I have tried to maintain compatibility with the
  212. > 256 color fractint maps because I feel this is one of the strengths of
  213. > fractint. 24 bit color is provided by smooth interpolation using either RGB
  214. > or HSI color spaces. There are numerous examples of fractals generated this
  215. > way on my web site, including some conversions for fractint formulae. The
  216. > test  program can utilize fractint FRM files after minor modifications to
  217. > the files.
  218.  
  219.     Would it help to have a HLS/HSI/HSB mode on the pallet editor? I could
  220. do this in a short time if it is helpful.
  221.  
  222.     And what do you (list?) think about other means of mapping from
  223. Iterations -> colors? Formulas? Tranpareny controls over multiple methods? 
  224.  
  225.     Ah, I forgot to mention:my diffusion drawing scheme can be used to
  226. interpolate a image and help with the anti-alias regardless of the original
  227. drawing method.
  228.  
  229.     []'s
  230.  
  231.     Humberto R. Baptista
  232.     humberto@insite.com.br
  233.  
  234. - ---------------------------------------------------------------------------
  235. Insite - Solucoes Internet                         http://www.insite.com.br
  236.  
  237.  
  238. - --------------------------------------------------------------
  239. Thanks for using Fractdev, The Fractint Developer's Discussion List
  240. Post Message:   fractdev@lists.xmission.com
  241. Get Commands:   majordomo@lists.xmission.com "help"
  242. Administrator:  twegner@phoenix.net
  243. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  244.  
  245. ------------------------------
  246.  
  247. Date: Fri, 04 Dec 1998 09:57:38 -0600
  248. From: "Damien M. Jones" <dmj@fractalus.com>
  249. Subject: Re: (fractdev) Platforms
  250.  
  251. Tim,
  252.  
  253.  - BTW VIsual C/C++ does not have a long double. I'm not sure about 
  254.  - Borland.
  255.  
  256. I knew VC++ 4 didn't have it, but I thought it had been restored in later
  257. versions.  I will be very sorry to hear it has not.
  258.  
  259.  - (This is a good idea - I see, but you don't, all the SPAM that get's 
  260.  - sent to the list but doesn't make it!)
  261.  
  262. Well, I may not see it for FractDev, but I see it for Fractal-Art and
  263. UltraFractal... makes me glad I'm using a similar option, else those lists
  264. would be spammed regularly.
  265.  
  266. Damien M. Jones   \\
  267. dmj@fractalus.com  \\  Fractalus Galleries & Info:
  268.                     \\  http://www.fractalus.com/
  269.  
  270. Please do not post my e-mail address on a web site or
  271. in a newsgroup.  Thank you.
  272.  
  273. - --------------------------------------------------------------
  274. Thanks for using Fractdev, The Fractint Developer's Discussion List
  275. Post Message:   fractdev@lists.xmission.com
  276. Get Commands:   majordomo@lists.xmission.com "help"
  277. Administrator:  twegner@phoenix.net
  278. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  279.  
  280. ------------------------------
  281.  
  282. Date: Fri, 04 Dec 1998 10:12:09 -0600
  283. From: "Damien M. Jones" <dmj@fractalus.com>
  284. Subject: Re: (fractdev) Parallel Processing
  285.  
  286. Humberto,
  287.  
  288. I once wrote a fractal generator for a dual-processor system, where the
  289. processors were not quite equal in speed.  The naive approach is to assume
  290. you have N processors, so the image should be divided into N portions and
  291. assigned to each processor.  Even if all the processors are equal in speed,
  292. this assumes it takes the same amount of time to render each piece, which
  293. is of course not true for most fractal images.
  294.  
  295. What I did was a little different.  I kept a single variable common to all
  296. processors that indicated the "next" line that needed to be drawn.  When a
  297. processor is looking for a line to be drawn, it atomically fetches and
  298. increments this counter, and then begins drawing the line.
  299.  
  300. For the system I was programming, using a shared memory location like this
  301. was cheap, and I needed real-time performance.  In other environments,
  302. communication may be more expensive, but real-time performance is not
  303. required.  I would suggest increasing the "unit size" from a single line to
  304. four or eight lines.  This would also allow guessing logic to be applied
  305. easily to the strip assigned to each processor.
  306.  
  307. Damien M. Jones   \\
  308. dmj@fractalus.com  \\  Fractalus Galleries & Info:
  309.                     \\  http://www.fractalus.com/
  310.  
  311. Please do not post my e-mail address on a web site or
  312. in a newsgroup.  Thank you.
  313.  
  314. - --------------------------------------------------------------
  315. Thanks for using Fractdev, The Fractint Developer's Discussion List
  316. Post Message:   fractdev@lists.xmission.com
  317. Get Commands:   majordomo@lists.xmission.com "help"
  318. Administrator:  twegner@phoenix.net
  319. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  320.  
  321. ------------------------------
  322.  
  323. Date: Fri, 4 Dec 1998 17:54 0000
  324. From: comdotatdotcom@csi.com
  325. Subject: (fractdev) RE: Evolver 
  326.  
  327. >"V" algorithm) and variations in two parameters aolong the axes x and
  328. >y: like
  329. >this:
  330. >
  331. >    V x-1 y-1 V y-1          V x+1 y-1
  332. >    V x-1          Orig. V        V x+1
  333. >    V x-1 y+1 V y+1          V x+1 y+1
  334.  
  335. >    The "x" and "y" above are parameters,
  336.  
  337. Great minds think alike apparantly :-)  This is the present setup of the
  338. evolver, the matrix can be any odd number in size and fractal type is
  339. about the only thing it doesn't change! Random parameter scrambling is
  340. also available, I'm still mulling over various possibilities for 'breeding'
  341. images, though these all require storing complete parameter sets for the
  342. images and would eat too much ram at present I suspect.
  343.  
  344. I like the sound of your diffusion plotting method, I had a go at
  345. something similar recently using modulo arithmetic and a pair of magic
  346. numbers.... I couldn't get it to work at all resoutions  due to me
  347. borrowing somebody elses algorithm without compreheding it fully :-)
  348.  
  349. Have you tested the diffusion method with small amounts of image
  350. panning? this causes very radical aspect ratio image segments  to be
  351. calculated and broke my attempt at a new plotting method quite
  352. thoroughly!
  353.  
  354. Cheers,
  355.         Robin.
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364. - --------------------------------------------------------------
  365. Thanks for using Fractdev, The Fractint Developer's Discussion List
  366. Post Message:   fractdev@lists.xmission.com
  367. Get Commands:   majordomo@lists.xmission.com "help"
  368. Administrator:  twegner@phoenix.net
  369. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  370.  
  371. ------------------------------
  372.  
  373. Date: Fri, 4 Dec 1998 18:07 0000
  374. From: comdotatdotcom@csi.com
  375. Subject: RE: RE: (fractdev) project list
  376.  
  377. Hi Ron,
  378.  
  379. >I haven't been able to devote much time to 24 bit color support.
  380. >Hopefully that will change in January
  381.  
  382. I was hoping to put  in some hooks for 24bit colour testing soon,
  383. basically by having variables for red,green,and blue which could be
  384. assigned values in the formula parser and then used to colour the pixel
  385. after the formula has bailed out. But I need to comprehend the parser
  386. properly first! the rest is allready there thanks to Bert Tyler.
  387. Addressing the CLUT from within the parser should be pretty straight
  388. forward too.....maybe!
  389.  
  390.  
  391. Cheers,
  392.          Robin.
  393.  
  394.  
  395.  
  396.  
  397.  
  398. - --------------------------------------------------------------
  399. Thanks for using Fractdev, The Fractint Developer's Discussion List
  400. Post Message:   fractdev@lists.xmission.com
  401. Get Commands:   majordomo@lists.xmission.com "help"
  402. Administrator:  twegner@phoenix.net
  403. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  404.  
  405. ------------------------------
  406.  
  407. Date: Fri, 4 Dec 1998 18:30 0000
  408. From: comdotatdotcom@csi.com
  409. Subject: RE: RE: (fractdev) project list
  410.  
  411. >    And what do you (list?) think about other means of mapping
  412. >from iterations -> colors? Formulas? Tranpareny controls over
  413. >multiple methods?
  414.  
  415. Formulae, definately. The Parser's already there, keep the pallette as
  416. well but different methods can do different things with it. Don't forget
  417. that people are managing to do amazing things with all sorts of  orbit
  418. behavior checking, not just iterations!
  419.  
  420. Robin.
  421.  
  422.  
  423.  
  424.  
  425. - --------------------------------------------------------------
  426. Thanks for using Fractdev, The Fractint Developer's Discussion List
  427. Post Message:   fractdev@lists.xmission.com
  428. Get Commands:   majordomo@lists.xmission.com "help"
  429. Administrator:  twegner@phoenix.net
  430. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  431.  
  432. ------------------------------
  433.  
  434. Date: Fri, 4 Dec 1998 18:24 0000
  435. From: comdotatdotcom@csi.com
  436. Subject: RE: Re: (fractdev) Synchronous Orbits
  437.  
  438. >    I am (for some time now) thinking about a _very_ simple way to
  439. >put
  440. >several machines working on a same images autommatically (work
  441.  
  442. Hi Humberto,
  443.  
  444. I've been wanting this to happen to fractint for year now! I had thought
  445. along the lines of just using disk video mode, a shared file, and a
  446. slightly modified single pass mode (just check the leftmost pixel in each
  447. row, if it's color 0 then set it to grab the row, cmpute a row of pixels,
  448. write them back and so on... not optimal but possibly very easy, just
  449. ignore the odd occasion when two cpus grab the same row )
  450.  
  451. Once the calculation engine is serperated from the UI then I suppose it
  452. gets much easier, just replace the user with a segmenter/dispatcher
  453. routine.
  454.  
  455. Cheers,
  456.          Robin.
  457.  
  458.  
  459.  
  460.  
  461. - --------------------------------------------------------------
  462. Thanks for using Fractdev, The Fractint Developer's Discussion List
  463. Post Message:   fractdev@lists.xmission.com
  464. Get Commands:   majordomo@lists.xmission.com "help"
  465. Administrator:  twegner@phoenix.net
  466. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  467.  
  468. ------------------------------
  469.  
  470. Date: Fri, 04 Dec 1998 14:09:54 -0700
  471. From: Phil McRevis <legalize@xmission.com>
  472. Subject: Re: (fractdev) Re: source code 
  473.  
  474. In article <199812040323.VAA01599@voyager.c-com.net>,
  475.     "Tim Wegner" <twegner@phoenix.net>  writes:
  476. > [manual versioning via diff/patch...] I probably will put the source in
  477. > some kind of version 
  478. > control system especially if we start having multiple versions. I 
  479. > already maintain 
  480.  
  481. If it helps, I can offer a public CVS repository.  (What's CVS?  See
  482. below)  What's nice about this is that you can control access by
  483. assigning usernames and passwords (including a published user/password
  484. pair for read-only access to the source) and giving active developers
  485. the power to update/checking their code remotely at any time.  It also
  486. automates the versioning.  To make a "release" you just tag all the
  487. code, then the "release" is whatever version was tagged.  They are
  488. using it for the GPL licensed Harvest code and it works well.  RCS and
  489. CVS are available for DOS/Win32 and for unix with source under GPL as
  490. well.
  491.                     -- Rich
  492.  
  493. CVS/RCS - What is it?
  494.  
  495. RCS is a version control system that managed file versions as a
  496. collection of context diffs against the most recent version.  RCS lets
  497. you branch versions so that multiple versions of the same file can
  498. exist concurrently in the version control system.  Each revision entered
  499. into the system has a timestamp, userid of the person making the
  500. change, and an optional freeform log message.  RCS deals exclusively
  501. with individual files and their revision histories, it has no concept
  502. of a group of related files or a hierarchical group of related
  503. directories containing source files.
  504.  
  505. CVS is a layer of source code management built on top of RCS,
  506. ultimately invoking RCS commands on the revision trails and source
  507. files.  CVS deals with entire directories and related groups of files
  508. however.  CVS also provides the ability to check out source code over
  509. a network by converting to a CVS server on the internet.  The transfer
  510. of source code is accomplished by compressing the source streams
  511. before transfer and also handles end-of-line differences between the
  512. server machine and the client machine.  This means that when you
  513. checkout unix source code remotely from a CVS server onto a local DOS
  514. (or Win32) box, all the source files have the DOS EOL convention.
  515. When you checkin a file from your DOS box, the EOL is switched back to
  516. whatever is native for the original source file.
  517. - --
  518. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  519.     ``Ain't it funny that they all fire the pistol,     
  520.       at the wrong end of the race?''--PDBT     
  521. legalize@xmission.com    <http://www.eden.com/~thewho>
  522.  
  523. - --------------------------------------------------------------
  524. Thanks for using Fractdev, The Fractint Developer's Discussion List
  525. Post Message:   fractdev@lists.xmission.com
  526. Get Commands:   majordomo@lists.xmission.com "help"
  527. Administrator:  twegner@phoenix.net
  528. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  529.  
  530. ------------------------------
  531.  
  532. Date: Fri, 04 Dec 1998 14:30:42 -0700
  533. From: Phil McRevis <legalize@xmission.com>
  534. Subject: Re: (fractdev) C++ builder 
  535.  
  536. In article <Pine.LNX.4.02.9812041222380.27340-100000@tatui.insite.com.br>,
  537.     Humberto Rossetti Baptista <humberto@insite.com.br>  writes:
  538. > > Aside from some form of pixel abstraction for image rendering, fractint's
  539. > > GUI needs are relatively modest for a straight port/rewrite.
  540. >     Is it?
  541.  
  542. I've browsed the code some, but mostly I have just been thinking of
  543. how fractint deals with everything input-wise.  It either does some
  544. modest screen/mouse graphics, or it uses a text-only mechanism.
  545.  
  546. As usual, its sloth not technology that holds us back :)
  547. - --
  548. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  549.     ``Ain't it funny that they all fire the pistol,     
  550.       at the wrong end of the race?''--PDBT     
  551. legalize@xmission.com    <http://www.eden.com/~thewho>
  552.  
  553. - --------------------------------------------------------------
  554. Thanks for using Fractdev, The Fractint Developer's Discussion List
  555. Post Message:   fractdev@lists.xmission.com
  556. Get Commands:   majordomo@lists.xmission.com "help"
  557. Administrator:  twegner@phoenix.net
  558. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  559.  
  560. ------------------------------
  561.  
  562. Date: Fri, 4 Dec 1998 19:25:45 -0600
  563. From: "Tim Wegner" <twegner@phoenix.net>
  564. Subject: Re: (fractdev) Re: source code
  565.  
  566. Humberto asked:
  567.  
  568. >     I haven't  looked to the Xfractint nor the non-integer, but aren't they
  569. > "mergeable" with the original DOS? Except for a bunch of ptatform specific stuff
  570. > in separate file of course. I keep thinking of the linux kernel tree. It is
  571. > really something to be able to compile and prepare kernel in such a number of
  572. > patforms and yu always get ALL the code to all platforms.
  573.  
  574. I didn't say quite enough. Fractint and Xfractint absolutely share 
  575. source with NO changes. You can copy the fractint source on top 
  576. of the Xfractint source and compile it. Some fractint files are not 
  577. used (for example, NONE of the assembler is used) and Xfractint 
  578. has some additional files. There is code of the form
  579.  
  580. #ifdef XFRACT
  581. ...
  582. #else
  583. ...
  584. #endif
  585.  
  586. to allow for places in the source where Xfractint must be different 
  587. from the DOS version. We could probably clean up a lot of those.
  588. The ugliest thing is that Fractint naively saves parameters by 
  589. writing the binary values to disk. Xfractint has some code that 
  590. translates the byte order and converts numbers to IEEE. When we 
  591. finally abandon DOS I intend also to abandon GIF and use PNG, 
  592. and redo the method of saving parameters in ASCII or other 
  593. portable scheme (something like imbedding the PAR entry in the 
  594. image instead of a binary image of the fractal info structure. I have 
  595. even reserved a PNG chunk name (fRAc) for this purpose.
  596.  
  597. This source compatability between Xfractint and Fractint has had 
  598. several tremendous advantages. For a time we received code 
  599. updates from the Xfractint folks that Fractint immediately inherited, 
  600. and vice versa. It is an easy matter to keep of Xfractint. The Motif 
  601. Fractint port suffered death by neglect because it differed 
  602. sufficiently from Fractint (dramatically in fact) that we couldn't 
  603. maintain it.
  604.  
  605. The down side is that the Xfractint interface is very idiosyncratic 
  606. and un-X-like. Because it is the fractint interface, except that the 
  607. graphics and text screens are in different windows.
  608.  
  609. The non-integer version came about because I was trying to save 
  610. resources to use in adding PNG support. Plus it is clear to me 
  611. integer math has no future, first because it is no longer faster than 
  612. floating point, and second because integer math will almost 
  613. certainly not survive any port to a flat memory model because the 
  614. guts are in assembler. (Having said that, if someone cared, the 
  615. assemble could be ported, at least to Intel platforms.)
  616.  
  617. Sofar, though, the team has not agreed to give up integer math yet, 
  618. although I believe that everyone agrees that we will abandon it at 
  619. the ame time we abandon the medium memory model.
  620.  
  621. The non-integer version has many code differences from the regular 
  622. version, and is not really mergeable. But it is not too hard to 
  623. maintain. I patch in every diff, and simple deal with all the failed 
  624. hunks. Not to bad for small changes.
  625.  
  626. I truly believe that once we are cut loose from DOS we will be able 
  627. to do a major reorganization of the architecture in a short order. I 
  628. don't think of this as abandoning Fractint and starting over as 
  629. Frederick suggested, but my view is not so different than his. In 
  630. early years Bert Tyler and I took turns making serious global 
  631. restructurings. We could, for example, get rid of the global 
  632. vatriables in a few weekends of work if we had already abandoned 
  633. the assembler.
  634.  
  635. Tim
  636.  
  637.  
  638.  
  639. - --------------------------------------------------------------
  640. Thanks for using Fractdev, The Fractint Developer's Discussion List
  641. Post Message:   fractdev@lists.xmission.com
  642. Get Commands:   majordomo@lists.xmission.com "help"
  643. Administrator:  twegner@phoenix.net
  644. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  645.  
  646. ------------------------------
  647.  
  648. Date: Fri, 4 Dec 1998 19:25:46 -0600
  649. From: "Tim Wegner" <twegner@phoenix.net>
  650. Subject: Re: (fractdev) Worklist and future directions 
  651.  
  652. >     The fact that we're dealing with a single-{process/thread} makes things
  653. > a little bit more complicated, but I guess we can limit the amount of polling
  654. > and implement a real message queue on the code.
  655.  
  656. When Bert Tyler wrote Winfract (The WIndows 3.1 port, now 
  657. hopelessly obsolete) he found that we have enough checks for 
  658. keypresses that he could check for events inside the keypress 
  659. check routine. This actually worked really well, though it probably 
  660. makes real Windows programmers shudder <g!> Winfract actually 
  661. shared most of Fractint's code.
  662.  
  663. >     Hm. I've listed a few items that have appeared here and that I
  664. > remembered being an issue to port a 16bit DOS app to 32-bit flat model
  665. > (optionally in a djgcc compatible fashion), specifficaly in the case o Fractint:
  666. >     - Assembly code (treatment of sements, direct access to mem. etc.)(gcc:
  667. > any way to use Intel's syntax on gcc??) (optimizations to 32 bit processors
  668. > (pentium class and above)?)
  669.  
  670. Assembly code needs to be rewritten or else Fractint will be 
  671. slower. But all the integer code can go, and the floating point code 
  672. may not be hard to port. Plus we can do this later and start with 
  673. the Xfractint C.
  674.  
  675. >     - Video access: direct mem access, VESA is a real mode API isn't it?
  676. > That would mean switching evey video access? I have read this in some list
  677. > asking why Linux did not use VESA. There is an article on September Linux Jounal
  678. > (page 54, if i remebember it) talking a little of this and making some paralels
  679. > on SVGAlib (on linux) and Video access on DOS.
  680.  
  681. The easiest possible port would be to djgpp. To do this:
  682.  
  683. 1. Merge the non-integer code with Xfractint
  684. .
  685. 2. Cut out all the Xwindows stuff, and add video support via the 
  686. Linux SVGA lib. (Did you know that Xfractint does not need 
  687. Xwindows? Invoke Xfractint -disk and the program works in 100% 
  688. character mode.)
  689.  
  690. 3. Port the the Linux version to djgpp, using the SVGALIB.
  691.  
  692. I don't think we should reinvent the well. If we want a DOS version, 
  693. we should use existing SVGA libraries. Of course for all GUI ports 
  694. we write to a virtual screen.
  695.  
  696. I believe it is possible to add assembler back in that would be 
  697. portable between Linux and DOS.
  698.  
  699. Some people might think this is a waste a time, but once Fractint 
  700. was ported to 32 bits flat memory, even though DOS or non-X 
  701. Linux, we could then get rid of all the memory saving junk like re-
  702. used arrays, get rid of global variables, etc. etc., and evolve a 
  703. decent underlying engine.
  704.  
  705. >     - Overlays (is it hard??)
  706.  
  707. Non issue! Flat memory models allow big footprints! No 640K limit. 
  708. Just make one big executable that would eat 2 mb or so.
  709.  
  710. >     - Compiler specific code (havent' seen _much_ of it except in regard to
  711. > the points above)
  712.  
  713. This is already identified and #ifdef'ed out in Xfractint.
  714.  
  715. >     - Linker (may be aproblem together with the assembly issue)
  716. ????
  717.  
  718. >     - Variable size/alignment (hm.. the first means new bugs, the second
  719. > less speed unless optimized)
  720.  
  721. The main issue is the way parameters are written inside GIFs, 
  722. which I have addressed elsewhere.
  723.  
  724. Tim
  725.  
  726.  
  727.  
  728. - --------------------------------------------------------------
  729. Thanks for using Fractdev, The Fractint Developer's Discussion List
  730. Post Message:   fractdev@lists.xmission.com
  731. Get Commands:   majordomo@lists.xmission.com "help"
  732. Administrator:  twegner@phoenix.net
  733. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  734.  
  735. ------------------------------
  736.  
  737. Date: Fri, 4 Dec 1998 19:25:45 -0600
  738. From: "Tim Wegner" <twegner@phoenix.net>
  739. Subject: Re: (fractdev) C++ builder 
  740.  
  741. Rich wrote:
  742.  
  743. > I've browsed the code some, but mostly I have just been thinking of
  744. > how fractint deals with everything input-wise.  It either does some
  745. > modest screen/mouse graphics, or it uses a text-only mechanism.
  746. > As usual, its sloth not technology that holds us back :)
  747.  
  748. Actually, I've found your  comments encouraging. It probably would 
  749. not be hard to make a simple fractint GUI interface, and also would 
  750. not be hard to port the whole source as long as it was a single 
  751. document with no multi-threading. I may have talked myself out 
  752. something I could do.
  753.  
  754. Tim
  755.  
  756.  
  757. - --------------------------------------------------------------
  758. Thanks for using Fractdev, The Fractint Developer's Discussion List
  759. Post Message:   fractdev@lists.xmission.com
  760. Get Commands:   majordomo@lists.xmission.com "help"
  761. Administrator:  twegner@phoenix.net
  762. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  763.  
  764. ------------------------------
  765.  
  766. Date: Fri, 4 Dec 1998 19:25:45 -0600
  767. From: "Tim Wegner" <twegner@phoenix.net>
  768. Subject: (fractdev) Parallel processing (was Synchronous Orbits)
  769.  
  770. >     I am (for some time now) thinking about a _very_ simple way to put
  771. > several machines working on a same images autommatically (work distribution) ans
  772. > via network, but I keep wondering if we can come up with a code
  773. > organization/API/abstratcion that can suppor multiprocessors, pipelining and
  774. > vector computing.
  775.  
  776. This is very easy to do, although what I have in mind is less 
  777. sophisticated than you have in mind. The "divide and conquor" 
  778. mechanism in the <b> command generates a batch file that builds 
  779. images piecewise. All you need is a shell script that can cause 
  780. fractint (Xfractint) to execute remotely, each piece on a separate 
  781. processor, and return the GIF file. This doesn't require any changes 
  782. to fractint itself. Thge logic to divide up, process, and recombine 
  783. the pieces is already there.
  784.  
  785. The value of this approach is that the method of starting processes 
  786. on different processors is machine dependent, so not a good 
  787. candidate to put *inside* fractint, hench the shell script approach.
  788.  
  789. Tim
  790.  
  791.  
  792. - --------------------------------------------------------------
  793. Thanks for using Fractdev, The Fractint Developer's Discussion List
  794. Post Message:   fractdev@lists.xmission.com
  795. Get Commands:   majordomo@lists.xmission.com "help"
  796. Administrator:  twegner@phoenix.net
  797. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  798.  
  799. ------------------------------
  800.  
  801. Date: Thu, 3 Dec 1998 19:41:17 +0100
  802. From: "Dean-Christian Strik" <dean2@bigfoot.com>
  803. Subject: Re: (fractdev) Welcome Humberto
  804.  
  805. I'm sorry to say, but I think it's getting all to private for a 'public'
  806. beta... I don't think it's right to almost keep it's existence a secret...
  807.  
  808. - --
  809.  
  810. Dean-Christian Strik
  811.    ICQ: 11760568
  812.  dean2@bigfoot.com
  813. cstrik.isg@hetnet.nl
  814.  
  815. The nice thing of standards is that there are so many to choose from.
  816. - -- Andrew S. Tanenbaum
  817.  
  818. - -----Original Message-----
  819. From: Tim Wegner <twegner@phoenix.net>
  820. To: fractdev@lists.xmission.com <fractdev@lists.xmission.com>
  821. Date: donderdag 3 december 1998 07 31 Fluxen
  822. Subject: Re: (fractdev) Welcome Humberto
  823.  
  824.  
  825. Humberto asked:
  826.  
  827. > OK, what would be best to post the patches or to send
  828. >them directly to
  829. > twegner@phoenix.net?
  830.  
  831. I'd rather get them directly. But it would be better to wait until you
  832. get the latest version which I will upload shortly (by Saturday). We
  833. are up to 19.61 patch 58! I could probably merge your patches
  834. relative to an older version but I'd much prefer if you are working off
  835. the same version we are.
  836.  
  837. > Yes I would like to discuss it and my tow inital cents are: place it in
  838. > one or two sites (like spanky and some friendly mirros) and allow the
  839. > download via HTTP only. A prety clear statement that it is beta code would
  840. > surely be better understood if on the download page that in some README
  841. that is
  842. > not alway read.
  843.  
  844. Good suggestion. Also, it is very good to hear from  you, it has
  845. been a few years!
  846.  
  847. Tim
  848.  
  849.  
  850.  
  851.  
  852. - --------------------------------------------------------------
  853. Thanks for using Fractdev, The Fractint Developer's Discussion List
  854. Post Message:   fractdev@lists.xmission.com
  855. Get Commands:   majordomo@lists.xmission.com "help"
  856. Administrator:  twegner@phoenix.net
  857. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  858.  
  859.  
  860.  
  861.  
  862. - --------------------------------------------------------------
  863. Thanks for using Fractdev, The Fractint Developer's Discussion List
  864. Post Message:   fractdev@lists.xmission.com
  865. Get Commands:   majordomo@lists.xmission.com "help"
  866. Administrator:  twegner@phoenix.net
  867. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  868.  
  869. ------------------------------
  870.  
  871. Date: Thu, 3 Dec 1998 19:35:40 +0100
  872. From: "Dean-Christian Strik" <dean2@bigfoot.com>
  873. Subject: Re: (fractdev) Welcome Humberto
  874.  
  875. Tim W. wrote:
  876.  
  877. > Hi Robin! I see you have a new identity!
  878.  
  879. Seems more like an internet overload ;-)
  880.  
  881. >> I'm gane! How about tentatively suggesting a christmas or new year
  882. >> rrelease for public beta code? seems like a handy date in the not too
  883. >> near, not too distant future.
  884. >
  885. > It just depends on the team being ready. But I have many fewer
  886. > reservations about publishing the public *source*, it is a bigger deal
  887. > to publisg the beta *executable*. I have had beta source at my FTP
  888. > site for a long time, but I hadn't kept it up because no one here in
  889. > fracvtdev asked for it.
  890.  
  891. I don't see the problem with beta executables, really. I know some beta
  892. testers who don't even know how to write a dos batch file.... executables are
  893. a lot more attractive to many people. Is it just that it's because of the
  894. beta?
  895.  
  896. - --
  897.  
  898. Dean-Christian Strik
  899.    ICQ: 11760568
  900.  dean2@bigfoot.com
  901. cstrik.isg@hetnet.nl
  902.  
  903. The nice thing of standards is that there are so many to choose from.
  904. - -- Andrew S. Tanenbaum
  905.  
  906.  
  907.  
  908.  
  909.  
  910. - --------------------------------------------------------------
  911. Thanks for using Fractdev, The Fractint Developer's Discussion List
  912. Post Message:   fractdev@lists.xmission.com
  913. Get Commands:   majordomo@lists.xmission.com "help"
  914. Administrator:  twegner@phoenix.net
  915. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  916.  
  917. ------------------------------
  918.  
  919. Date: Thu, 3 Dec 1998 19:27:54 +0100
  920. From: "Dean-Christian Strik" <dean2@bigfoot.com>
  921. Subject: Re: (fractdev) Worklist and future directions
  922.  
  923. Hi,
  924.  
  925. >form of dialogs, etc.  The biggies left for me are file-parsing (PARs
  926. >FRMs MAPs), palette editing, and general UI cleanup.  I'm currently
  927.  
  928.  
  929. There can hardly be real mac-specific code for par-parsing, can there? I hope
  930. I'm not showing too much of my ignorance here ;-)
  931.  
  932. >Future directions?  I vote for a cleaner layer of abstraction seperating
  933. >Fractint from platform/gui.  POV-Ray is my inspiration!
  934.  
  935. I hope I'm parsing this right...
  936.  
  937. You write you're writing mac-specific code. This separation you're proposing
  938. is, however, contrary to that. Too bad really.
  939.  
  940. - --
  941.  
  942. Dean-Christian Strik
  943.    ICQ: 11760568
  944.  dean2@bigfoot.com
  945. cstrik.isg@hetnet.nl
  946.  
  947. The nice thing of standards is that there are so many to choose from.
  948. - -- Andrew S. Tanenbaum
  949.  
  950.  
  951.  
  952.  
  953.  
  954. - --------------------------------------------------------------
  955. Thanks for using Fractdev, The Fractint Developer's Discussion List
  956. Post Message:   fractdev@lists.xmission.com
  957. Get Commands:   majordomo@lists.xmission.com "help"
  958. Administrator:  twegner@phoenix.net
  959. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  960.  
  961. ------------------------------
  962.  
  963. Date: Thu, 3 Dec 1998 19:28:38 +0100
  964. From: "Dean-Christian Strik" <dean2@bigfoot.com>
  965. Subject: Re: (fractdev) Worklist and future directions
  966.  
  967. Problem's just most people haven't converted to unices yet... :)
  968.  
  969. - --
  970.  
  971. Dean-Christian Strik
  972.    ICQ: 11760568
  973.  dean2@bigfoot.com
  974. cstrik.isg@hetnet.nl
  975.  
  976. The nice thing of standards is that there are so many to choose from.
  977. - -- Andrew S. Tanenbaum
  978.  
  979. - -----Original Message-----
  980. From: Kragen <kragen@pobox.com>
  981. To: fractdev@lists.xmission.com <fractdev@lists.xmission.com>
  982. Date: woensdag 2 december 1998 22 59 Fluxen
  983. Subject: Re: (fractdev) Worklist and future directions
  984.  
  985.  
  986. >On Wed, 2 Dec 1998, Humberto Rossetti Baptista wrote:
  987. >> Other thing that I have been thinking for some time now. Should we think
  988. >> of a 32 bit version of fractint?
  989. >
  990. >xfractint is 32-bit on 32-bit machines, and 64-bit on 64-bit machines.
  991. >
  992. >--
  993. ><kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  994. >It frightens the daylights out of me whenever I hear people proclaim that
  995. >the less knowledge our children have access to, the better.
  996. >-- Duane Lindstrom, at <URL:http://www.examiner.com/skink/skinkmail.html>
  997. >
  998. >
  999. >--------------------------------------------------------------
  1000. >Thanks for using Fractdev, The Fractint Developer's Discussion List
  1001. >Post Message:   fractdev@lists.xmission.com
  1002. >Get Commands:   majordomo@lists.xmission.com "help"
  1003. >Administrator:  twegner@phoenix.net
  1004. >Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1005.  
  1006.  
  1007.  
  1008.  
  1009. - --------------------------------------------------------------
  1010. Thanks for using Fractdev, The Fractint Developer's Discussion List
  1011. Post Message:   fractdev@lists.xmission.com
  1012. Get Commands:   majordomo@lists.xmission.com "help"
  1013. Administrator:  twegner@phoenix.net
  1014. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1015.  
  1016. ------------------------------
  1017.  
  1018. Date: Fri, 04 Dec 1998 20:46:52 -0700
  1019. From: Phil McRevis <legalize@xmission.com>
  1020. Subject: Re: (fractdev) Parallel processing (was Synchronous Orbits) 
  1021.  
  1022. In article <199812050125.TAA19284@voyager.c-com.net>,
  1023.     "Tim Wegner" <twegner@phoenix.net>  writes:
  1024. > This is very easy to do, although what I have in mind is less 
  1025. > sophisticated than you have in mind. The "divide and conquor" 
  1026. > mechanism in the <b> command generates a batch file that builds 
  1027. > images piecewise. All you need is a shell script that can cause 
  1028. > fractint (Xfractint) to execute remotely, each piece on a separate 
  1029. > processor, and return the GIF file. This doesn't require any changes 
  1030. > to fractint itself. Thge logic to divide up, process, and recombine 
  1031. > the pieces is already there.
  1032.  
  1033. Another alternative is to write a "fractal daemon" that listens on a
  1034. socket for work requests.  It processes its work and sends the result
  1035. back over a socket.  You have to define the communications protocol
  1036. that is used over the socket (don't forget byte-ordering and
  1037. machine-dependent floating point issues of you're transporting more
  1038. than image data), but that is not too hard.  The nice thing about the
  1039. proliferation of the internet is that it makes TCP/IP and sockets
  1040. available on pretty much every machine these days, becoming the
  1041. defacto networking API between heterogeneous hosts (amazing, considering
  1042. that is the point of TCP/IP in the first place :).
  1043.  
  1044. Parallel processing becomes just a matter of network socket I/O.  Of
  1045. course, you have network bandwidth and latency to deal with, which can
  1046. often be more costly than doing some kind of architecture specific SMP
  1047. type thing.  On the other hand, its very portable to a machine with
  1048. sockets, which is most machines these days.
  1049. - --
  1050. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  1051.     ``Ain't it funny that they all fire the pistol,     
  1052.       at the wrong end of the race?''--PDBT     
  1053. legalize@xmission.com    <http://www.eden.com/~thewho>
  1054.  
  1055. - --------------------------------------------------------------
  1056. Thanks for using Fractdev, The Fractint Developer's Discussion List
  1057. Post Message:   fractdev@lists.xmission.com
  1058. Get Commands:   majordomo@lists.xmission.com "help"
  1059. Administrator:  twegner@phoenix.net
  1060. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1061.  
  1062. ------------------------------
  1063.  
  1064. End of fractdev-digest V1 #15
  1065. *****************************
  1066.  
  1067.