This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to for more info.

Content-ID: <>

On Mon, 1 Sep 1997, David Gamble wrote:
> I'm sorry if this question is asked too often, but
> I've given this far too much (for me) thought, and I +have+
> to know if someone's finally worked out how to
> do a +decent+ cloud simulation.

> Plasma is a plausible option for generating clouds,
> but it never looks quite right.

> What I'd +ideally+ like to achieve would be a
> system where you could let the clouds "generate",
> and roll like real clouds do... You can't do
> that using plasma (which by the definition I'm
> using is 2d)

> I've seriously considered the idea of generating
> points inside a 3d (volume renderable) array,
> and generating clouds using some (simple) fractal
> method (to do the inny and outy bits), but

> Foley et al describe Gardner's method, modelling
> clouds on deformed ellipsoids, doesn't sound too
> nice, as eventually, (as would be relatively easy
> with a volume render), I would code routines to
> fly amongst the clouds.... Gardner's method
> doesn't sound like it'll have to same evolution (rolling)
> as Voss's method - also described, but no implementation
> is shown :(
> Still, I'd rather use an implementation based on concentrations
> of water vapour to generate the shape/orientation/evolution of
> a cloud...

> So...

> Has anyone seen, or better still coded a realistic
> cloud simulator?

> A perfect answer would be: "Yes, i coded the best one ever
> for my demo 'flejfjwa', here's how it works" :-)

David, hello there, how are you?

        In perfect answer to your question : Yes, I coded the best one
ever for my BBS Intro 'Stormclouds', here's how it works :

Are you familiar with backfeeds at all?  They're quite tricky to get the
grasp of, but well worth the time and effort in study.  In my opinion they
have evolved from the fire routines of old (Also, of which I have coded
the best one ever *8)...

How?  First I create two buffers of 64k each (Not a double buffer, you'll
nead a *triple* buffer for this!) and plot lines of random length and
pixelations along the base of the display.  The generic brand smoother is
then applied, and using two pregenerated offset arrays (X & Y co-ords) I
scale the first buffer against the second.  What I mean by this is I take
copies of what has been placed into the first buffer and apply it to the
second.  This gives the effect of uniform forward motion.  The second
buffer is then scaled against the first, resmoothed and flipped to video
memory (The included code is for mode 13h).  To make it easier to
understand what is happening : Some {*word*99}py EBCDIC (Gawd, I wish unix had
extended ASCII...)

                        |                       |  - Copy N
                            |              |       - Copy N-1

                                etc etc...         - Copy N-2... N-(N-1)

                                   =               - Original pixel

It sounds a little complex, and indeed, it is : But when it's finally done
you'll think : Shiesse, that was easy.
I am aware that this NG is non-binary, but ragardless, I have included
source to my Intro should anybody else wish to view and use it  (I'd be
very happy if it were distributed... &8)  Any queries, comments,
suggestions; I just hope it was what you were looking for david,

Stay cool,

                        .Mikhovitch (Caglios) Hansenschaeur.

    [ Do what thou wilt shall be the whole of the Law - A. Crowley ]
              :: Remove .spamitech from my addy to reply ::
Goth.Code 3.1 GoCS3DJ5  TSeGYrv8  P{*word*205}c  B11/21Bk!"1  cBu(Bk)-w6G  V6S
M2p2gD  ZTeFaz  C9o  a20+(23)  n4  b75T  h184  g6T??92A  mEy2Ni1@S1  w5T
v8MS  r8I  p1ZZZZZz775Zz  D77~  h8(TFeDPPeSa)  sM5SSsNy  k6mDPTZ  N??93O
RfmS  LauQLD7
                :: Good god!!  My signature is a man! ::

Content-Transfer-Encoding: BASE64
Content-ID: <>