![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I know others have done this already, but nothing like rolling your own...
Grass iso-surface, rendered with radiosity. Getting there....
--
#macro G(D,E,F)#local I=array[3]{D,E,F}#local B=0;triangle{#while(
B<3)#while(I[B])A[mod(I[B],10)]+#local I[B]=div(I[B],10);#end<-5,-
2,9>#local B=B+1;#end}#end #local A=array[7]{x,x*2,x*4,y,y*2,y*4,z
}light_source{-x*6-z*9,1}mesh{G(105,10,146)G(105,246,10)G(105,56,
146)G(105,1256,246)G(1256,126,220)G(22156,2216,201)pigment{rgb 1}}//TM
Post a reply to this message
Attachments:
Download 'a2.jpg' (50 KB)
Preview of image 'a2.jpg'
![a2.jpg](/povray.binaries.images/attachment/%3C3c075565%40news.povray.org%3E/a2.jpg?ttop=443840&toff=10050&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tom Melly schrieb in Nachricht <3c075565@news.povray.org>...
>I know others have done this already, but nothing like rolling your own...
>
>Grass iso-surface, rendered with radiosity. Getting there....
>
Looks good!
What was the rendertime for this.
Did you use R. Suzuki's method or another one? (This is a hidden request for
the code :o))
Marc-Hendrik
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Marc-Hendrik Bremer" <Mar### [at] t-online de> wrote in message
news:3c076bb1@news.povray.org...
>
> Looks good!
Thanks!
> What was the rendertime for this.
> Did you use R. Suzuki's method or another one? (This is a hidden request for
> the code :o))
>
For the full 800*600 with AA it took 10 hours (the image I posted was just a bit
of it).
No, the code is my own - I recall the Suzuki image, but I have no idea how
similiar or not my code is. Here it is...
global_settings {
assumed_gamma 1.0
noise_generator 2
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
}
}
camera {
location <0.0, 5.0, -2.5>
look_at <0.0, 0.0, 5.0>
}
sky_sphere {pigment{rgb<0.0,0.1,0.8>}}
light_source {
<0, 0, 0> // light's position (translated below)
color rgb <1, 1, 1> // light's color
translate <-30, 30, -30>
}
#declare GS = 20;
#declare GH = 2;
#include "functions.inc"
#include "finish.inc"
#declare fn_Grass = function(x,y,z){
y +
min(
0,
sin( // x sin, add curve, add offset planting
((x + ((f_noise3d(x*10,0,z*10)+y)^2)/5 ) + f_noise3d(0,0,z))*GS*3
) / GH + // -1/GH > 1/GH
sin(
((z + ((f_noise3d(x*10,0,z*10)+y)^2)/5 ) + f_noise3d(x,0,0))*GS*2
) / GH // -1/GH > 1/GH // -2/GH > 2/GH
)
}
isosurface {
function{fn_Grass(x, y, z)} // alternative declared function
contained_by{box{<-25,-0.1,-2.5>,<25,1.1,30>}}
accuracy 0.001 // accuracy of calculation [0.001]
max_gradient 20 // maximum gradient the function can have
[1.1]
evaluate 1, 1.2, 0.99 // evaluate the maximum gradient
pigment{ForestGreen}
}
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Tom Melly" <tom### [at] tomandlu co uk> wrote in message
news:3c0775ba$1@news.povray.org...
> For the full 800*600 with AA it took 10 hours (the image I posted was just a
bit
> of it).
>
On a P3 733 using 3.5.7.icl
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tom Melly wrote:
>
> For the full 800*600 with AA it took 10 hours (the image I posted was just a bit
> of it).
>
> [code]
You might get some improvement in quality and speed by using the
'Radiosity_OutdoorLight' settings (or similar) from 'rad_def.inc'.
Christoph
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Christoph Hormann" <chr### [at] gmx de> wrote in message
news:3C077A22.A8C56173@gmx.de...
> You might get some improvement in quality and speed by using the
> 'Radiosity_OutdoorLight' settings (or similar) from 'rad_def.inc'.
>
Ta for the tip - note to self, take a look at ALL the includes...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tom Melly schrieb in Nachricht <3c0775ba$1@news.povray.org>...
>No, the code is my own - I recall the Suzuki image, but I have no idea how
>similiar or not my code is. Here it is...
Thanks, I'll have a look at it. Gilles Tran's mesh-grass is very good
considering render speed, but as it can't be used in CSG it's very difficult
to "lay" something in it, if it's not short enough.
Thanks again,
Marc-Hendrik
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |