|
Author Topic:   Environmental Effects
Bryan T
Member
posted April 26, 2000 03:47 PM            
Topics for discussion...

So how do you make those nifty special effects?

Rain/Snow
Fog - distance based & volumetric
Sky-domes/sunsets/sunrises
Clouds
Debris blowing in the wind
etc..

Anyone have some good input on these topics?

--Bryan

IP:

Effin Goose
Member
posted April 27, 2000 02:02 AM            
Hola

Not sure of this should really be in this section, but has anyone ever seen a good implementation of a forest in a terrain engine? Or have any idea's on how to do one (preferably without adding in a 100 billboarded trees )

Ryan

------------------
I dont like it, and Im sorry I ever had anything to do with it
- Schrodinger

IP:

MarkBatten
Member
posted April 27, 2000 08:45 AM            
I think rain and snow are generally particles, rendered as points or, for rain, short lines, with a simple gravity factor to adjust their position each frame; and perhaps a billboarded, heavily-alpha texture if you want to show the growing ring of a puddle when the rain hits. opengl.org has links to conference notes that discuss general techniques for virtually all of the things that you list.

IP:

Bryan T
Member
posted April 27, 2000 09:40 PM            
Effin,

"Good" implementation of a forest? So not like EverQuest eh? (not bashing EQ, but their forest just plain sucks).

The best tree I've ever seen is the GeForce Tree Demo. Fabulous! Just sprinkle them liberally around your forested areas... (and they only weigh 10-100,000 pollys each!)

I think a good middle-ground would be to implement a fractal tree-grower like the Tree demo, then capture a few hundred different models at a few different LOD. Put all that in a 'tree' directory for the game. Then in your forest, randomly pick from the directory, strech, rotate, and skin the models according to the locale.

--Bryan

IP:

Effin Goose
Member
posted April 27, 2000 11:21 PM            
Hey Bryan,

Unfortunately i dont have a Ge-Force or a spare 100,000 polys to waste per tree, but with that amount of poly's you'd kinda be hoping that it would look good ;^)

Where would i go about getting this tree demo? And how does it implement the foliage, just a big green polygon cloud?

Ryan

------------------
I dont like it, and Im sorry I ever had anything to do with it
- Schrodinger

IP:

Aelith
New Member
posted April 28, 2000 07:34 AM            
Particle systems can handle most weather effects fairly well.

Really good looking skys are a real problem. I would like to ray trace it and then use image-rendering on a sphere, but this only works if all the clouds are quite far away and more importantly - aren't moving very much.

Handling trees is an even more complicated problem. The polygon count (even using sophisticated geometric LOD) alone will kill you trying to model a realistic forest - ie one containing at least a million trees. And even worse, the depth complexity will eat your z-buffer alive.

And then there is the problem of accurately rendering volumetrics ranging from explosions to fog - rendering the sky is something of a special case of this problem.

The general solution to all of these problems is a generic octree subdivision renderer that combines geometry LOD with image rendering LOD. There has been a good amount of recent research in this field, and it seems to be something of the "holy grail" for the long-term future of real-time graphics. When you combine the octree subdivision with a quadtree subdivision of the screen in the form of a z-pyramid for your visibility scheme, the end result is a complete rendering system that uses constant time and space.

Thats really nice: no matter how many trees your forest has and no matter what the depth complexity is (2 billion - absolutely doesn't matter at all), it always renders it in at most X clock cycles and at most uses only Y bytes of memory.

The problem is that X is in the order of a terraflop and Y is in the gigabyte range. (not to mention there is no hardware support for z-pyramids yet)

oh well - not much longer now . ..

But even before that happens, an octree/image scheme could work *quite* well right now.

-Jake


IP:

Cthulhu
Member
posted April 28, 2000 11:31 AM            
I recall Heavy Gear 2 had nice forests, not very dense of course. Also take a look at vterrain.org for some ideas.

IP:

Chris C
Member
posted April 28, 2000 11:35 AM         
Even if you had a card that could render a forest made up of 100's of trees with 100,000 polys each, it wouldn't look that good! Sure, close-ups will be fantastic, but the aliasing effects visible with distant trees would be pretty ugly. LOD would be useful here not just to reduce geometric complexity, but to perform some form of filtering on distant geometry, just like MIP-mapping is used for textures.

One approach is to represent the forest as an octree. When an octree node projects a small enough area onto the screen, it can be approximated by simply rendering the node as a constant coloured cube, instead of recursing down and drawing the geometry stored in the octree leaves. The colour of a cube is chosen by some method that computes the average colour of all the geometry contained within the octree node. The result is no distant aliasing and less geometry. There's a paper on all this somewhere...

Chris

IP:

CheshireCat
Member
posted April 28, 2000 07:05 PM            
The GeForce Tree demo:
www.nvidia.com/Marketing/Developer/DevRel.nsf/pages/1F01DA2968B5ED798825682D0081F524

IP:

Andy
New Member
posted May 04, 2000 09:34 AM            
Hi, back to forests, L-Systems are the best method I know of for generating trees, plants, infact pretty much everything. At the moment I've got an all-the-works l-system generator that not only makes some funky looking vegetation, but also is a text generation program that creates management-style affirmations whenever i'm feeling down. Because the representation is just a rule-base which produces results that can be interpreted in any way, you get variability, unlimited detail, flexibility and so on in a tiny tiny little space.
Sample affirmation:
"my mission statement makes me masticate my tranquility".
There. I feel much better now.

IP: