|
Author Topic:   More terrain stuff
Draigan
New Member
posted June 27, 2000 02:40 PM            
Take a look at:
www.artifact-entertainment.com

Then check out their Horizons game and look at the screenshots. Pretty nice grass eh. Makes the terrain look much nicer. Anyone with any ideas on how to do this? I'm gonna go read the nVidia grass paper (from previous post).

IP:

Bryan T
Member
posted June 27, 2000 03:08 PM            
Here's the screenshot Draigan was referring to: http://www.artifact-entertainment.com/horizons/screenshot2.htm

I'm not exactly sure how they are doing it from one screenshot. I would have to play with the engine to learn more. My initial impression is a layer of alpha-blended sprite objects with a grass texture. These would be scattered over any grass polygons.

The sprites are probably viewer-aligned rather than axis aligned, so they always face the viewer and you never see that they are sprites. This makes some odd visual results (which is easy to recognize). If I didn't see this type of visual distortion, then they must have come up with some other method (geometry expansion comes to mind, but for that much grass....).

Anyway, very nice screens, thanks for the heads up.
--Bryan

IP:

Draigan
New Member
posted June 27, 2000 03:18 PM            
I was reading around some of the previous posts as well and here are my views on a subject:

I think that the Halo engine has more than 2 textures on the terrain in the multi-textured section. In some of the screenshot there is grass, rock and some dirt coming together. And it seems that they can specify how much of each layer to place. With that in mind I began think. What I need is the ability to 'paint' textures onto my landscape. It's nice to be able to generate terrain, but it's even nicer to be able to customize it. What I am doing now is that I store 2 textures per vertex and an alpha value that sig. how much of each layer. I generate my terrain textures on the fly ala b&w and Halo. Then as I generate the texture, I interpolate between the vertex textures. As it turns out, it looks quite organic. I am gonna work on an editor for it so I can paint the ground the way I want. I also can generate the terrains based on slope, elevation etc... This allows me to have up to 8 layers affect a given terrain texel at one time. (Right now I have a limit imposed of 4 base textures, easy to modify). This of course means a lot of interpolation going on. I have to interpolate 4 vertex textures and then bi-linear interpolate between them. But I re-writing my generating loop in MMX now and hoping it will be much faster. Just my views. If you want a screenshot, let me know.

IP:

Bryan T
Member
posted June 27, 2000 04:40 PM            
Draigan,

Perhaps I'm not clear in my explanations from these past few topics about multitexturing. "Multitexturing" (by my definition) is actually making multiple drawing passes over a particular vertex. That means you send the vertex and texture coordinates to the graphics card multiple times (unless you're using the multitexturing extentions, but let's keep it simple for now).

This is much different than blending 8 textures dynamically into one 256x256 texture then sending THAT texture and the vertex/tex coords to the card. See the difference? With "multitexturing" you send eight times the vertex/texture coordinates and textures to the graphics card.

It sounds like you are doing the second one, which is not multitexturing. HALO, I'm guessing, uses both methods (one to generate the color texture made up of grass, rock, road, etc. the other to apply some extra eye candy in a multitexturing pass).

Did that make sense?
--Bryan

IP:

Draigan
New Member
posted June 27, 2000 04:59 PM            
Yep, sorry about that Bryan. You are right. I was using the terms interchangeably for each other. My engine would also have 2 layers. The blended grass,rock, etc.. and a detail texture map. Thanks for the clarification.

IP:

Prophylon
Member
posted June 28, 2000 04:00 AM            
I agree with Bryan on the multitexture part, the definition he gives is the general accepted one I believe

Anyway, on to the grass. Look at this piece of the picture:
Magnified Grass with Lighting
Now if you look at that they are simply alpha blended textured polygons, like Bryan said. From the angle they are viewing it on the screenshots it sure looks good, but I think there will be some probs when you move on top of it and look down. Then you would see clearly that they are sprites, however with normal use you will not notice it and then the grass looks very nice IMHO. I must say I am impressed with all their screenshots actually, it looks really, really nice... Cant wait for the game

The nVidia demo for displaying grass is bad and slow I would not use it. Then the method Articfact uses is even better Plus it is pretty fast I think, although I do not know how fast alpha blending is (one multiply per pixel?)

IP: