POV-Ray : Newsgroups : povray.binaries.scene-files : Grass Test Source Server Time
2 Sep 2024 00:19:33 EDT (-0400)
  Grass Test Source (Message 1 to 4 of 4)  
From: Bryan Valencia
Subject: Grass Test Source
Date: 22 Mar 2004 12:30:20
Message: <405f22ac@news.povray.org>
I told you it was simple.


Post a reply to this message


Attachments:
Download 'Test.pov.txt' (5 KB)

From: stephen parkinson
Subject: Re: Grass Test Source
Date: 22 Mar 2004 15:05:42
Message: <405f4716$1@news.povray.org>
Bryan Valencia wrote:
> I told you it was simple.
> 
> 
> 

had a little play, tried to email sender but it bounced
hope you can figure out
a) what i've done?
b) is it an improvement?

stephen


Post a reply to this message


Attachments:
Download 'us-ascii' (5 KB)

From: Bryan Valencia
Subject: Re: Grass Test Source
Date: 2 Apr 2004 10:56:10
Message: <406d8d1a$1@news.povray.org>
Thanks, I adopted some of your ideas... It seems as though you were trying
to randomize the grass color, but you did it in a place that it would only
be called once.  Couldn't quite figure that out.

"stephen parkinson" <ste### [at] zmemw16demoncouk> wrote in message
news:405f4716$1@news.povray.org...
> Bryan Valencia wrote:
> > I told you it was simple.
> >
> >
> >
>
> had a little play, tried to email sender but it bounced
> hope you can figure out
> a) what i've done?
> b) is it an improvement?
>
> stephen
>


----------------------------------------------------------------------------
----


> // Persistence of Vision Ray Tracer Scene Description File
> // File: ?.pov
> // Vers: 3.5
> // Desc: Basic Scene Example
> // Date: mm/dd/yy
> // Auth: ?
> //
>
> #version 3.5;
>
> #include "colors.inc"
>
> // radiosity (global illumination) settings
> global_settings {
> ambient_light rgb .3
>   radiosity {
>     pretrace_start 0.08           // start pretrace at this size
>     pretrace_end   0.04           // end pretrace at this size
>     count 35                      // higher -> higher quality (1..1600)
[35]
>     nearest_count 5               // higher -> higher quality (1..10) [5]
>     error_bound 1.8               // higher -> smoother, less accurate
[1.8]
>     recursion_limit 3             // how much interreflections are
calculated (1..5+) [3]
>     low_error_factor .5           // reduce error_bound during last
pretrace step
>     gray_threshold 0.0            // increase for weakening colors (0..1)
[0]
>     minimum_reuse 0.015           // reuse of old radiosity samples
[0.015]
>     brightness 1                  // brightness of radiosity effects
(0..1) [1]
>
>     adc_bailout 0.01/2
>     //normal on                   // take surface normals into account
[off]
>     //media on                    // take media into account [off]
>     //save_file "file_name"       // save radiosity data
>     //load_file "file_name"       // load saved radiosity data
>     //always_sample off           // turn sampling in final trace off [on]
>     //max_sample 1.0              // maximum brightness of samples
>   }
> }
>
>
> #declare A=100;
> #declare B=100;
>
>
> #debug "Setting up Camera\n"
> // ----------------------------------------
>
> camera {
>   location  <0, 15, -B/2>
>   direction 1.5*z
>   right     x*image_width/image_height
>   look_at   <0.0, 0.0,  0.0>
> }
>
> sky_sphere {
>   pigment {
>     gradient y
>     color_map {
>       [0.0 rgb <0.5,0.7,1.0>]
>       [0.7 rgb <0.0,0.4,0.7>]
>     }
>   }
> }
>
> light_source {
>   <0, 0, 0>            // light's position (translated below)
>   color rgb 2  // light's color
>   translate <-40, 80, -20>*1000
> }
>
> // ----------------------------------------
> #debug "Creating Land Array\n"
> #declare R=seed(1.23487);
> #declare GC1=seed(1.63487);
> #declare H=array[A][B];
> #declare a=0;
> #while (a<A)
> #declare b=0;
> #while(b<B)
> #declare D=sqrt( (A/2-a)*(A/2-a) + (B/2-b)*(B/2-b) );
> //#declare H[a][b]=sin(sqrt(a))+sin(a/2+b/2)+sin(sqrt(b))+cos(b/30);
>
> #declare H[a][b]=rand(R)*D/10;
>
> #if (a=0) #declare H[a][b]=0; #end
> #if (a=A-1) #declare H[a][b]=0; #end
> #if (b=0) #declare H[a][b]=0; #end
> #if (b=B-1) #declare H[a][b]=0; #end
>
> #declare b=b+1;
> #end
> #declare a=a+1;
> #end
>
>
> #debug "Averaging Land\n"
> #declare a=1;
> #while (a<A-1)
> #declare b=1;
> #while(b<B-1)
> #declare
H[a][b]=(H[a-1][b-1]+H[a-1][b]+H[a-1][b+1]+H[a][b-1]+H[a][b]+H[a][b+1]+H[a+1
][b-1]+H[a+1][b]+H[a+1][b+1])/9;
> #declare b=b+1;
> #end
> #declare a=a+1;
> #end
>
>
>
> #debug "EnMeshing\n"
> #declare MyMesh=mesh{
> #declare a=1;
> #while (a<A)
> #declare b=1;
> #while(b<B)
> triangle{<a,H[a][b],b>, <a-1,H[a-1][b],b>, <a,H[a][b-1],b-1>}
> triangle{<a-1,H[a-1][b-1],b-1>, <a-1,H[a-1][b],b>, <a,H[a][b-1],b-1>}
> #declare b=b+1;
> #end
> #declare a=a+1;
> #end
> texture{
> pigment{color Tan}
> normal{granite 1 scale .1}
> }
> }
>
> #debug "Creating Grass Proto\n"
> //vars for the grass blade
> #declare A1=<-1,0,0>;
> #declare B1=A1*<-1,1,1>;
> #declare C1=<-.5,4,.5>;
> #declare D1=C1*<-1,1,1>;
> #declare E1=<-.25,6,2>;
> #declare F1=E1*<-1,1,1>;
> #declare G1=<0,7,4>;
>
> #declare GrassMesh= mesh{
> triangle{A1,B1,C1}
> triangle{B1,C1,D1}
> triangle{C1,E1,D1}
> triangle{E1,F1,D1}
> triangle{E1,F1,G1}
> texture{
> pigment{color rgb<0,rand(GC1),0.5*rand(GC1)>}
> finish{phong 1}
> }
> }
>
> #macro Grassblade()
> object{GrassMesh
> scale <0.1,0.6+rand(R),0.8>*.25
> rotate < (rand(R)-0.25)*90,
> (rand(R)-0.5)*90,
> (rand(R)-0.75)*90>
> }
> #end
>
>
> union{
>
> #object{MyMesh}
>
> #debug "Planting Grass\n"
> //Grass
> #declare a=0;
> #while (a<A)
> union{
> #declare b=0;
> #while(b<B)
> #declare P=trace(MyMesh,<b,1000,a>,-y);
> #if (int(P.y)=int(int(P.y/2)*2))
> #object{Grassblade()
> translate P
> }
> #end
> #declare b=b+rand(R)/2;
> #end
>
> #debug concat("Planting grass row ",str(a,0,1)," of ",str(A,0,1),"\n")
> bounded_by{box{<0,0,b><A,2,b+1>}}
> }
> #declare a=a+rand(R);
> #end
> translate <-A/2,0,-B/2>
>
> }
>
>
> //water
> plane{y,0
> texture{
> pigment{color rgb .6}
> normal{bumps 7}
> finish{phong 0.75 reflection .3}
> }
> rotate <0,30,0>
> scale < 1.5,0,2>
> translate 0.5*y
> }


Post a reply to this message

From: stephen parkinson
Subject: Re: Grass Test Source
Date: 2 Apr 2004 12:45:43
Message: <406da6c7@news.povray.org>
Bryan Valencia wrote:
> Thanks, I adopted some of your ideas... It seems as though you were trying
> to randomize the grass color, but you did it in a place that it would only
> be called once.  Couldn't quite figure that out.
> 
i thought what i was trying to do was add some variation (randomness) to 
the angle of the grass blade in x,y,z

i may have tried something with the intensity of the green, seaside 
grass tends to be darker, more a green-blue looking at the beach 
outside(well about 0.75 miles) Lancs, NW England

i just tried tkdiff on test.pov and my grass-test.pov, seemed to have 
totally confused it, as well as me:-(
so if you could detail my error, i'd be grateful, macro name would be 
enough, istr i played with grass at blade level


glad to supply i hope constructive comments

stephen


Post a reply to this message

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