Facebook Page
Giving every line of code away for free has a heavy toll on our pockets. How would you like to help us?
Advertisements
Animation support is finally in!
Another short, demonstrating the use of Scott Lee's Assimp Animation Loader class (http://nolimitsdesigns.com/game-design/assimp-animation-lib/) in a right-handed system.
Main differences from original code:
-Runs great with OpenGL (original code was for D3D only)
-Able to render each mesh's skeleton
-Each mesh from the Assimp scene get's it's own animator and bones instead of concatenating all the geometry in one single object (i.e. Bob's sword is a separate mesh. So is his head :P; great for Frustum Culling of large objects with a lot of meshes)
-Code remains API independent as all matrices are properly transformed for each rendering API (Direct3D/OpenGL).
-BoundingBoxes are only recalculated once per animation frame and then cached
-The skeleton is calculated once per frame then cached
This update also added support for glVertexAttribPointer based VBO's and Index Buffer Object based rendering.
More info on my blog.
Small updates
And some deferred lighting. 30 random lights. Although all coding efforts are towards the forward renderer, the deferred renderer has not been left behind and was updated with the new RenderStateBlock system and the new shader structure.
-New materials, shaders, shadows, collisions and so forth.
P.S.: The quality of the video sucks, but FRAPS is freakin' out and I had to use SnagIT 8-|
DoxyGen documentation posted!
As of now [3-March-2012, 19:00 GMT], a new menu link has been added to the homepage linking to the newly generated DoxyGen Documentation. This documentation will be updated every 2 or 3 (major) revisions. Feel free to browse it as ALL source code is covered there.
New A.I. system, PhysX 3.1.1 and fixed that damned water transparency and depth sorting issue
For a final's exam this semester, I had to develop a multi-agent system that could play team-based 2-on-2 tenis (with a soccer ball) and came up with this:
It's just the first test of the AI Framework used to create multiple agents for single or team-based interactions. Just a test of visual sensors, communication, coordination and stuff like that. Also a test of thread safety for the SceneGraph as each entity's local transformation matrix is modified by the AI thread and rendered in a separate thread. 3 threads, one pointer :) Some shadow artifacts occur during mid-video, but that's due to the not yet finished PSSM system I'm working on. Also. don't mind the complete lack of animations :)) I have better things to code for now. Performance is choppy due to the Profiler from VS2010, Fraps, the code being compiled as a debug build, shader failing on the ball. Also, the quality is low as this video is used to pass my AI exam, and I don't have a lot of time to waste on compression. nVidia released the 3.x iteration of it's PhysX SDK which you can read about >>here<< so I thought of adding it to the framework. Specifically the 3.1.1 iteration (info >>here<< ) After some long coding sessions, the API was up and running, driverless and really fast. Only simple box-collisions for now, but it proves that the API is syncing data with the SceneGraph nicely and in a thread-safe manner: Water wasn't really transparent, because 2 very important states, culling = off, blending = on, weren't set correctly while rendering. This was due to the absence of a Render State Manager and a Render Queue. Everything was rendered via a recursive callback on the SceneGraph. Adding a Render Queue sorting method and some minor changes to the State Manager, I finally managed to properly switch states and render transparent objects in a back-to-front order. The result? Well, semi-transparent water:The A.I. part:
The PhysX part:
The water transparency stuff:
Fixed water and added shadows. Now ... the SceneGraph ...
And shadow map generation is getting better and better. Only directional lights are working for now, but still: Now that the engine supports some more rendering eye-candy, back to logic behind the scenes. SceneGraph implementation is buggy, crash-prone, Resource Manager doesn't work, Mesh - SubMesh <-> SceneGraphNode parent <-> children conversion not working etc. But ... things are looking promising for the future.
Broken water and Post Processing effects
Bloom:
Now, Depth of Field is already implemented, but depth calculations are still buggy and the image is just too blurred. Will fix that later. On another note, just signed up for the GameDev section of this: ImagineCup








