Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Sages

Real-time grass

This topic is 5451 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
Advertisement
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.

Share this post


Link to post
Share on other sites
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."

Share this post


Link to post
Share on other sites
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."

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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 );

Share this post


Link to post
Share on other sites
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."

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!