This week has been stressful. Not only did I realize I had made some mistakes in the animation system that would only allow you to use one skin, but also that you have to queue the animations per agent, not per chunk, and that all animations are looping. What I’ve fixed is the ability to enqueue a chunk of agents to use an animation, and also to use multiple skins. This allows us to have both the new and pretty costume man, as well as the penguin. The way I solved this was by using a texture containing vertex positions for each skin, so that I didn’t have to update all previous strides when queuing an animation using another skin. The result would be that they were mixed together in the vertex positions texture, so that the first could be the man, and the second could be the penguin, which made everything unnecessarily complex (This solution should be credited to Viktor in the second year). I will have to test the looping part when we get the animations that shouldn’t be looped, which should be in the weekend.
Also, after some research it turns out that the Nvidia development drivers for the GTX 570, as well as the newest commercial release of the GTX 570 driver has a major performance issue when it comes to aquiring and releasing OpenGL objects using OpenCL. We saw pretty early in development that the GTX 260 had better performance with the application than the GTX 570, even though the 570 has the edge when it comes to raw power. We can’t definitely prove it, but we hypothesize that the OpenCL drivers for the new high-end graphics cards might not be as optimized as those for the older ones. This is unfortunate as we want to max out on everything when we demonstrate what we can do.