I'm not getting play-lag. Depending on the mesh volume, I do get initial load slowdown. It doesn't seem to be from the large textures as much as the face count. In either case, I personally don't care anything about load time as long as it isn't like everquest where I would sit at the zone line for 10 minutes on dial up waiting for the next zone to load.
Also the goal I am trying to reach is to make a library that isn't just for NWN, which is why I am putting the textures out in such detail. You can always make them smaller for your needs, and/or convert them to DDS to compress them.
Even in cases where the majority of a foliage texture is transparent, I am getting no issues on it. You gotta remember too that I am on a laptop with a crappy on-board intel video card. I figure if I can use these textures without issue, then anybody not using a commodore 64 is going to not have issues too. My normal game frame rate is about 32, which is sad, but to say that my frame rate doesn't much change when playing with giant textures definitely says something about the lasting power of NWN.
When I put together individual tree models, I'm working with GMAX. The old MAX scene handlers are crap compared to the NWN engine. So what I do is, if GMAX starts to act up while I am doing models, then I make the assumption it will make an issue in game if too many of that object exist in a scene. At that point, I run the numbers down a bit and keep working.
I was initially going to build pine trees from the needle up, but I ran into some serious graphical issues in GMAX. So I decided to rewrite my tree builder, making the leaf node have a "years represented" value. So if I tell it my leaf plate represents 3 years, then when my script builds a tree, if the age of the branch node it is building is 3, then I just put the leaf there, instead of two more nodes down. This saves on faces, modeling time, etc.
Once I get the script fully finished, I want to have a texture atlas for each species. I'll probably use something similar to those images Rolo and I were talking about a few pages back. It will have a ring of up to 6 main foliage, surrounded by 4 bare branches of half the quality. It will also have smaller bits down in the bottom left of the texture plate which represent single year, or current growth, as well as flower, fruit, and bark deals like scrapes and what not.
I may or may not actually include the species bark(s) on the right, as shown in those atlas hypotheticals. Rolo makes a good point in that the foliage and the trunk/branch mesh should stay separate, for a few reasons. But in any case, those species atlases will have reduced size textures. There is really no reason in NWN to use giant textures on repeating entities, like background trees. If you want those textures for a single show piece, like a quest placeable, then they are great for that.
I plan to make a few well-defined atlas layouts, and then build those into my species library inside the script. That would let me use a tree shape I already have and just change the foliage to that of another in that atlas type. I suspect trees that grow similarly will share an atlas layout, so you can switch from pine to pine, or from non-pine to non-pine. I'll probably do one for unshaped shrubs, and one for shaped. I may also do an atlas layout for certain large foliaged plants, like fern and hosta.
Before I am totally done with trees, I'll probably release a package of 5-6 individual plants from a variety of species. I may package them separately by species on the download pages. That way, unlike some of my other scripts, not only do you get the script download, but a huge sampling of what the script can do if you don't A) have MAX, or have the time to devote to figuring out shapes for specific trees you want.
So before I actually release the script, I have one or two more things to fix. While working on the pine layout, I noticed most of the spruces and firs display their new growth, and sometimes last 3 years of growth, in a plane parallel to the earth. I had not originally scripted for that, because most of the non-pines don't do such a thing. So I wrote in a deal that makes foliage base rotation create the foliage object level with the scene x/y plane. This has caused me some issues with the previous branch objects, so I need to go back and fix how those are drawn. Another thing I am trying to perfect is how some trees start making new growth from old wood, at or around already used leaf nodes. To solve both of these issues, I need to go back and separate the growing algorithms into 3 sections. I already did 2, one for the leader and one for the branch/leaf, but I need to have a third type of growth to represent pines properly. I think that will also pick up habits for deciduous plants that make a type of planar growth, like some Japanese maple.
Anyway, once I get those done, the script will release with a few initial texture atlases. I'll supply more atlas output from there. I want you guys to be able to play with this as much as I have over the last year.
Oh, I almost forgot! I found that I had screwed up two textures in the release yesterday. The masks are rotated 180 degrees in foliage 1802 and 03. I'll release those textures again in the next package.