On Fri, Jan 17, 2003 at 05:17:12PM -0500, Jack Madison wrote: ... > Anyway, if you want to setup a CVS repository just let me know, I'll be > happy to add stuff to it. I've never worked on a project like this, so > I'll leave all the organization up to you. I don't have accounts on > Savannah or SourceForge, so either one is fine with me.
OK. I'll set up a Savannah project as soon as I hear whether it should just be for Soya-based projects and data or for Soya itself + projects and data. > As for my ideas on trees/bushes/etc. My thoughts were to come up with > some simple level of detail code. Basically check the distance between > the object and the camera, and when it gets closer than X, switch to a > higher poly count object, and farther away use a low poly count object. > Similar to the LOD code in the land module. It would probably be a good > idea to even use a sprite or small plane with a picture of a tree or > whatever at far distances, and cull it away completely when really far. > Of course right now I'd just be happy if I could take a tree model and > get it to render. If you're going to do LOD, we should just write tessellation routines so models can contain smooth surfaces. That way you don't need more than one model for different distances and the transition will be smooth as you approach an object. That's basically the same way the landscape code works. Ultimately I'd like to use skeletal animation to do animals and people, and that will output smooth surfaces as opposed to polygons. Check out cal3d at <http://cal3d.sourceforge.net/>. It would be interesting to use one of the tree algorithms out there to generate mathematical trees and then generate polygons from them on the fly. Fractal leaves might be a bit over the top, at least if they're rendered each frame. One thing about tessellation is that you probably don't want to do it in Python, and you probably don't want to do it for every frame, just at LOD shift. One could even cache previously calculated models and generate them in a background thread to avoid pauses at LOD shifts. -- Sean Lynch http://sean.lynch.tv/
msg00037/pgp00000.pgp
Description: PGP signature