POV-Ray : Newsgroups : povray.binaries.animations : something I've been working on (MPEG1, 468KB) : Re: something I've been working on (MPEG1, 468KB) Server Time
1 Jul 2024 03:50:49 EDT (-0400)
  Re: something I've been working on (MPEG1, 468KB)  
From: Zeger Knaepen
Date: 13 Oct 2006 16:23:03
Message: <452ff5a7$1@news.povray.org>
"Tim Nikias" <JUS### [at] gmxnetWARE> wrote in 
message news:452fe9da@news.povray.org...
> Looks nice, especially that fiery animation is great, care to share 
the 
> particle's setup (I'm guessing discs with a neatly animated pigment)?

tnx :)

yes, the fire and smoke are just discs using these macros as a pigment:

-- begin code --
//Slime's code :)
#macro Additive_Blend(Color)
 #local Additiveness=1.00001;
 #local Color = <1,1,1> * Color / (1 - Additiveness);
 rgbt <Color.x, Color.y, Color.z, Additiveness> //Transparency + (1 - 
Transparency) * Additiveness>
#end

//smoke
#macro RookPigment(T,TR)
  pigment_pattern {
   function {max(min(x,1),0)}
   translate -x*.5 
   scale sqrt(2)
   rotate y*45
  }
  color_map {
   [0 rgb .0125 transmit T]
   [1 rgb .5 transmit T]
  }  
  translate -TR
  warp {turbulence .25 lambda 3}
  translate TR
#end

//fire
#macro VuurPigment(T,TR)
 pigment_pattern {
  granite
  scale 16
  color_map {[0 rgb 0][1 rgb 1-T]}
  warp {turbulence 1.5}
  translate y*clock*2
 }
 color_map {
  [0 Additive_Blend(0)]
  [.5 Additive_Blend(<1,.45,.2>*.5)]
  [1 Additive_Blend(<1,.65,.4>*2)]
 }
 translate -TR
 warp {turbulence 1.5}
 translate TR
#end

//a macro for animating 'flashes'
#macro flash(T,P,Grens)
  #if (T<Grens)
    #local T=1-(T*(1/Grens));
  #else
    #local T=(T-Grens)/(1-Grens);
  #end
  #local R=pow(T,P);
  R
#end


  #declare Seed2=seed(pID+10);

//a firey disc, 
// pStatus is the status of the particle, where pStatus=0 at it's 
birth and 1 when it dies
// pLocation is the location of the particle
  disc {
   0,y,1
    #local Translate=rand(Seed2)*500;
   pigment {
    pigment_pattern {spherical poly_wave 2}
    pigment_map {
     [0 VuurPigment(1,Translate+z*clock*.5)]
     [1 VuurPigment(flash(pStatus,2,.0625),Translate+z*clock*.5)]
    }
   }
   finish {ambient 1}
    Point_At_Trans(Camera_Lookat-Camera_Location) 
    scale (3-2*pStatus)/15
    translate pLocation
    no_shadow
  }

//and a smokey disc
// pStatus is the status of the particle, where pStatus=0 at it's 
birth and 1 when it dies
// pLocation is the location of the particle
  disc {
   0,y,1.5
    #local Translate=rand(Seed2)*500;
   pigment {
    pigment_pattern {spherical poly_wave 1}
    pigment_map {
     [0 RookPigment(1,Translate+z*clock*.5)]// scale .5]
     [1 RookPigment(flash(pStatus,1,.3),Translate+z*clock*.5)]// scale 
.5]
    }
    translate Translate
    warp {turbulence .5 lambda 3}
    translate -Translate
   }
   finish {ambient 1}
    Point_At_Trans(Camera_Lookat-Camera_Location) 
    scale (3+4*pStatus)/20
    translate pLocation
    no_shadow
  }

-- end code --

(something like that :))

> But, I also have to admit that I'm a little sad that you overlooked my 

> particle-system. It's entirely flexible, you can add as many objects 
as 
> you like for interaction, there's no particle-particle-interaction, 
but 
> hey, you can call macros for when objects get hit, you can add your 
own 
> variables to attach to the macros in case you want to animate them in 
> some special way with your own macros...

hmm, sounds interesting and worth checking out !
let's see :p

hmm, looks good! I like the particle-splitting-on-collision-feature :) 
I'm thinking about how to add that to my system :p

> I guess I have to be more offensive about my Include-Files. I need a 
> better marketing concept...

hmm, dunno
but, let's do some google-testing:

searching for: povray "particle system"
gives Rune's website before your site :-/ Even Chris Colefax's website 
comes before yours, and he doesn't seem to have made anything new in 2 
years :(

however, searching for: povray particles
gives first Colefax's site, then, at the bottom of the first page, your 
page directly followed by Rune's page

if I search for: povray particle
then Rune's site is the first hit, Colefax's site the second, and you're 
not even on the first page (????)


so, for some reason, google likes Rune's site more than your site, which 
is why I overlooked your site.  My apologies :)

(but I would have made my own system anyway, it's just too fun to do 
things yourself imho :))

(btw, I just noticed: all these searches are apparently done while being 
signed in to Google, so they might be personalised search-results)


cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.