Sometime around 2010, I started getting the idea that maybe it was time for me to either give up modding and, say, learn a new language or find a new engine to mod with. Since I knew it wasn't going to be easy to just put the game down, I decided to devise a little test with the Aurora engine which I was sure it was going to fail: I'd see what the limits of the engine really were and then I could hang my departure on that. "It wasn't me giving up, I tried to accomplish X and Y and they just couldn't be done so I had no other choice!" was the reasoning I was trying to set up.
So I picked a pretty high bar, almost from the start. Importing Fallout 3 placeables. Turned out that was pretty damned easy. So I raised the bar higher and tried importing skinmesh creatures from Titan Quest and F3. Nope, worked fine. I didn't bother to polish them off but, technically, there was nothing prohibiting it. Then, just to get it over with, I set the bar insanely high: Import the entire town of Megaton from Fallout 3 into a tileset as one giant tile group. While it didn't come out perfect, there was a day about six weeks later where I was walking through Megaton with my NWN character in amazement.
It got even crazier from there. If you guys have seen the Spelljammer merchant video of mine from X-Fire (produced by Silverblade), that's about where I had to admit defeat.
That's full-on 3D render-quality art running smoothly in NWN on a mediocre NVidia graphics card.
I was confused as hell, BTW, about how all this could be done. Took me a long time to figure out why. I've posted about it before but, in a nutshell, it's a combination of not using shadows, compiling your models (preferably with the Bioware internal model compiler tool) and making them static.
However, there was still the question of why it was so common to find myself (on the same testing machine) sometimes bogged down in areas that other people had created with relatively normal-looking custom content or even official content.
I think I've finally come to a decently-defendable conclusion as to why that is, too: Draw calls. As in, too many of them. With the help of gDEBugger (an OpenGL debugger), I whipped out this quick video showing how an individual video frame of NWN is put together, piece by piece, and hopefully raise awareness about draw calls and how, as CC makers, we want to reduce the number of draw calls as much as possible in our creations.
You can learn more about Texture Atlases here or Googling around. Nice free texture atlas generator (that I mention in at the link in the previous sentence) here. I don't think I got this down to working under GMax, but I did contact the creator and he was kind enough to give me permission to do so. If someone is hot to trot about that kind of reworking, let me know.
Oh, for anyone who either understands my little video about them or who already knows about them, I'd love to hear ideas about how draw calls might be reduced.





Retour en haut







