Doing foliage in a jungle viewer

Started by
3 comments, last by spek 11 years, 1 month ago

hey guys

I found this video of a jungle viewer using opengl here :

">

now im no where near implementing such a project but i was wondering how the foliage in the forest implemented? The guy says he used 3ds max. Is it like he creates entire model of the trees n things in 3ds max and just loads it in opengl ?

or is the foliage built using coordinates and texturing ?

Any idea about this would be helpful.

What if i wanted to implement a similar project..What things should i cover in opengl ? It maybe years before i can do it but i want to know the general topics involved.

Advertisement

Yeah, pretty much.

Note that the entire jungle isn't a single model though. Rather, it's made out of multiple objects, e.g. each type of tree would be a model. Then it repeats the same few models all over the place, maybe modifying them a bit (e.g. a bit of scaling or whatever). If you have a lot of repeated objects you may want to use instancing on modern hardware to reduce the amount of calls, otherwise you may just render them directly as needed.

Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.

Is it like he creates entire model of the trees n things in 3ds max and just loads it in opengl ?
or is the foliage built using coordinates and texturing ?

Note that there is no real distinction here.

Art tools like Max just provide simpler ways to produce "coordinates and texturing" - you could painstakingly build each tree by hand, by manually specifying each coordinate (though you shouldn't, art tools were built for this).

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

I think he meant more like "use some procedural algorithm to generate the foliage" in that second sentence.

Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.

Don't know how this one did it, neither if "running realtime" was a target, but when looking at games such as Crysis, you could research the following topics:

* Terrain render (that is without trees, grass and rocks!)

How to render a LOD grid? How to blend the ground textures (via vertex painting)

* Water rendering

* Objects (trees, rocks, ...) & Instancing

In a jungle, you probably draw the same plants and trees dozens of times. Using VBO's & Instancing could give a big gain here.

* Placement of objects

How to place these objects. Randomly generated? Or done by an artist in a editor? As for games, they usually let the editor produce a random forest first, then the artist flies through with a bandsaw to move, add & delete objects.

* Athmosphere ./ skybox rendering

* Rendering method; Deferred / Forward

Deferred or Inferred rendering pipelines are popular these days as they allow to use bigger numbers of lamps. Then again, if you only want the sun and maybe a few other local sources, Forward might work easier for you. Depending on your choice, you need to think forward how you will render (semi) transparent stuff like grass and the leaves, because doing transparent rendering is more harsh in a Deferred pipeline. Not impossible, but you'll need some tricks.

Rick

This topic is closed to new replies.

Advertisement