![](/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) |
Okay, this probably isn't enough trees to count as a forest, but that's
not the point. :-)
I'm playing with a macro that lays out trees over a landscape. It
generates clumps with random size and spread, and randomly scales and
rotates individual trees.
It also accepts an array of objects for trees. It randomly picks an
array entry for each tree it "plants". The given screenshot uses three
different tree meshes generated with PovTree.
PovTree generates include files with the tree mesh in the variable
"TREE". I can import several PovTree includes with code like this:
#declare treeShape = array[3];
#include "linden-lowres1.inc"
#declare treeShape[0] = TREE;
#include "linden-lowres2.inc"
#declare treeShape[1] = TREE;
#include "linden-lowres3.inc"
#declare treeShape[2] = TREE;
Finally, the landscape is a mesh generated by my very own "Poor man's
Terragen" program. :-) (Actually, it's the same mesh is used in my
"RSOCL" image.)
Come to think of it, everything in this image is a mesh. And the other
objects I planned on adding to this image are meshes made in Wings3D. I
should title the image Mesh World. 8-/
--
William Tracy
afi### [at] gmail com -- wtr### [at] calpoly edu
You know you've been raytracing too long when the sun hurts your eyes.
-- AmaltheaJ5
Post a reply to this message
Attachments:
Download 'a4b.jpg' (220 KB)
Preview of image 'a4b.jpg'
![a4b.jpg](/povray.binaries.images/attachment/%3C47a179bb%40news.povray.org%3E/a4b.jpg?ttop=443866&toff=3400&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) |
Interestingly enough, in 1999 Mark Wagner wrote something identical called
Vegetate. It was based on the same principles. It included collision
detection, exclusion areas and water levels, slope and timberlines, and a
couple of other fancy parameters. It has been some time since I last used it
(I don't even know if it works well with v.3.6). It probably is still
available somewhere.
All this not meaning that you should quit now :-) but it is interesting to
see how things come up again and again sometimes.
However, keep on!
Thomas
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) |
It is still there indeed, in the link section of the POV-Ray site (include
files), pointing you here:
http://www.geocities.com/SiliconValley/Program/9231/povray.html
Thomas
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) |
William Tracy <wtr### [at] calpoly edu> wrote:
> I'm playing with a macro that lays out trees over a landscape. It
> generates clumps with random size and spread, and randomly scales and
> rotates individual trees.
so far, so good! :)
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) |
Thomas de Groot wrote:
> Interestingly enough, in 1999 Mark Wagner wrote something identical called
> Vegetate. It was based on the same principles.
Huh. I didn't remember that one. (I vaguely recall some posts a while
back from someone writing a "biologically correct" landscape planting
macro, but I don't remember the code to it ever being posted.)
> It included collision
> detection, exclusion areas and water levels, slope and timberlines, and a
> couple of other fancy parameters.
I've skipped collision detection (having trees overlap doesn't strike me
as a problem), and eventually plan to have some notion of a timberline
in the code. I haven't played with any landscapes yet where slope was a
major factor--I'll cross that bridge when I come to it. :-)
> All this not meaning that you should quit now :-) but it is interesting to
> see how things come up again and again sometimes.
Keep in mind that you're talking to someone who built his own landscape
generator in C++ for giggles. :-)
--
William Tracy
afi### [at] gmail com -- wtr### [at] calpoly edu
You know you've been raytracing too long when you stop working on a
scene even before you render it because you believe it is pointless to
make an image if there's no hope of it looking real.
-- Mark Stock
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) |
William Tracy nous apporta ses lumieres en ce 2008/01/31 02:33:
> Okay, this probably isn't enough trees to count as a forest, but that's
> not the point. :-)
>
> I'm playing with a macro that lays out trees over a landscape. It
> generates clumps with random size and spread, and randomly scales and
> rotates individual trees.
>
> It also accepts an array of objects for trees. It randomly picks an
> array entry for each tree it "plants". The given screenshot uses three
> different tree meshes generated with PovTree.
>
> PovTree generates include files with the tree mesh in the variable
> "TREE". I can import several PovTree includes with code like this:
>
> #declare treeShape = array[3];
> #include "linden-lowres1.inc"
> #declare treeShape[0] = TREE;
> #include "linden-lowres2.inc"
> #declare treeShape[1] = TREE;
> #include "linden-lowres3.inc"
> #declare treeShape[2] = TREE;
>
> Finally, the landscape is a mesh generated by my very own "Poor man's
> Terragen" program. :-) (Actually, it's the same mesh is used in my
> "RSOCL" image.)
>
> Come to think of it, everything in this image is a mesh. And the other
> objects I planned on adding to this image are meshes made in Wings3D. I
> should title the image Mesh World. 8-/
>
>
>
> ------------------------------------------------------------------------
>
Nice. With a little yellower ground, and different trees, it could pass as a dry
tropical forest. They are, acording to what I saw of them in documentarys,
relatively sparce.
--
Alain
-------------------------------------------------
If you're ever about to be mugged by a couple of clowns, don't hesitate - go for
the juggler.
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) |
Boooaaahhh eeyyyyy!!!!!
I like it a lot! Can you e-mail me that macro? I would dance in a circle, if
you could. Thanks!
Sven
"William Tracy" <wtr### [at] calpoly edu> schrieb im Newsbeitrag
news:47a179bb@news.povray.org...
> Okay, this probably isn't enough trees to count as a forest, but that's
> not the point. :-)
>
> I'm playing with a macro that lays out trees over a landscape. It
> generates clumps with random size and spread, and randomly scales and
> rotates individual trees.
>
> It also accepts an array of objects for trees. It randomly picks an
> array entry for each tree it "plants". The given screenshot uses three
> different tree meshes generated with PovTree.
>
> PovTree generates include files with the tree mesh in the variable
> "TREE". I can import several PovTree includes with code like this:
>
> #declare treeShape = array[3];
> #include "linden-lowres1.inc"
> #declare treeShape[0] = TREE;
> #include "linden-lowres2.inc"
> #declare treeShape[1] = TREE;
> #include "linden-lowres3.inc"
> #declare treeShape[2] = TREE;
>
> Finally, the landscape is a mesh generated by my very own "Poor man's
> Terragen" program. :-) (Actually, it's the same mesh is used in my
> "RSOCL" image.)
>
> Come to think of it, everything in this image is a mesh. And the other
> objects I planned on adding to this image are meshes made in Wings3D. I
> should title the image Mesh World. 8-/
>
> --
> William Tracy
> afi### [at] gmail com -- wtr### [at] calpoly edu
>
> You know you've been raytracing too long when the sun hurts your eyes.
> -- AmaltheaJ5
>
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) |
William Tracy <wtr### [at] calpoly edu> wrote:
> Okay, this probably isn't enough trees to count as a forest, but that's
> not the point. :-)
>
there's something about the actual trees that's looking real good
--
jussi
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) |
jute wrote:
> there's something about the actual trees that's looking real good
http://propro.ru/go/Wshop/povtree/povtree.html
I started from the "Linden tree" default, and only made a few small changes.
In this particular render, I left the leaf color at the default. I'm
thinking about making the leaves a touch darker. Thoughts?
--
William Tracy
afi### [at] gmail com -- wtr### [at] calpoly edu
You know you've been raytracing too long when you read about an
algorithm or datastructure and your first thought is: "How can I use
this to speed up raytracing?"
-- Christoph Rieder
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) |
Sven Littkowski wrote:
> Boooaaahhh eeyyyyy!!!!!
>
> I like it a lot! Can you e-mail me that macro? I would dance in a circle, if
> you could. Thanks!
I'm glad you think it's that great. :-)
I was planning on cleaning it up first to make it a bit easier to use.
If you really want it now, though, I can still email it to you.
--
William Tracy
afi### [at] gmail com -- wtr### [at] calpoly edu
You know you've been raytracing too long when you try to find the
address of Julia Mandelbrott, because you fell in love with her shape.
-- Jan Weber
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |