Real-time grass

Started by
29 comments, last by Sages 20 years, 8 months ago
I just finished my terrain renderer, well I finished the original project, but now I want to add more. Specifically, I want to make the scenes more complex by rendering grass and shrubs near the player (ala PlanetSide, and Star Wars Galaxies). However, I really don''t know where to begin. I think I''m mostly having trouble understanding how to store that data. If anyone has any insight into how the pros are doing this, or if you have any related thoughts at all, I''d appreciate the replies.
Advertisement
look at ATI''s site (or nvidia) on real-time fur

fur can be grasslike i''d imagine
End Of Discussion.
Look at the FAQ of this forum. There is a link to paper caled "Animating Prairies in Real-Time". ( http://w3imagis.imag.fr/Publications/2001/PC01/ )

You should never let your fears become the boundaries of your dreams.
You should never let your fears become the boundaries of your dreams.
The way NeverWinter Nights and Star Wars: Knights of the Old Republic do it is to simply have a bunch of vertical, but randomly facing quads with a pretty texture that sort of matches the ground texture. Create a grid of these quads and tile that grid over the grassy areas, fading the quads in/out as they get far enough away from you. Looks pretty nice imo, and you can animate the top 2 vertices of the quads in a VP to get wind effects, and such.


Waramp.

"Before you insult a man, walk a mile in his shoes.
That way, when you do insult him, you''ll be a mile away, and you''ll have his shoes."
Waramp.Before you insult a man, walk a mile in his shoes.That way, when you do insult him, you'll be a mile away, and you'll have his shoes.
Also, check this out:
http://www.cs.ubc.ca/~bbakay/grass/grass.html



Waramp.

"Before you insult a man, walk a mile in his shoes.
That way, when you do insult him, you''ll be a mile away, and you''ll have his shoes."
Waramp.Before you insult a man, walk a mile in his shoes.That way, when you do insult him, you'll be a mile away, and you'll have his shoes.
Wow WarAmp, thanks for that link!

It shows a method that I was already playing around with, but has inspired me with its ideas behind the animation.

Sweet
Personally I think using quads with pretty textures is currently the best way to do it in real-time... Most of the grass I''ve seen which uses a polygon for each blade looks pretty horrid.

It''s not that it can''t be done. I mean, in the movie, Shrek, they modeled each individual grass blade and it looked great. But to do that in *real-time* and have it look really nice probably won''t be feasible for another 4-5 years, imo
Thanks Waramp I think I''ll play with that randomly facing quad idea and see if I can get something up and running. If anyone else has any insight, ideas or comments, please post.
I once implemented something like this. It works best with short grass (ankle-high, not knee-high). I used MAX to pre-render a ton of grass from several camera angles. Then I used one big quad... I measured the camera angle relative to the quad, found the closest match in my pre-renders, and made that one the current texture for the quad. It worked pretty durn well. It looks really 3d, since the texture changes as the angle changes, but it''s just a single quad.



~BenDilts( void );
hmm, thats a really great idea actually, BeanDog. I was thinking of doing something similar with my grass, but I was hoping I could somehow trick a projective texture of the grass into doing that for me. It''s still very much a meta-idea tho.





Waramp.

"Before you insult a man, walk a mile in his shoes.
That way, when you do insult him, you''ll be a mile away, and you''ll have his shoes."
Waramp.Before you insult a man, walk a mile in his shoes.That way, when you do insult him, you'll be a mile away, and you'll have his shoes.

This topic is closed to new replies.

Advertisement