XNAnimation is a skeletal animation library for XNA, which allows developers to easily manipulate, playback, interpolate and blend animations. Main features:
- Plays animations forward and backward with speed and loop controls.
- Supports linear, cubic and spherical keyframe interpolation, with translation, orientation and scale channels being interpolated separately.
- Supports cross fade blending between animation clips.
- Supports meshes with up to 80 bones.
- Supports resource sharing (skeletons, animations and meshes).
- Skin meshes on the GPU (SM 2.0/3.0), while interpolate and blend poses on the CPU.
Real-time fur rendering over arbitrary meshes. The fur is rendered as multiple mesh layers, where fur is applied through environment (Cube/Sphere) mapping. Main features:
- Controls: fur density, thickness, height, color, and number of layers.
- Pre-process meshes reordering and indexing vertices for cache.
- Pre-process meshes’ positions and normals providing a better distribution of position/normals used for addressing the environment mapping.
This tool allows the comparison of different techniques used to render (or simulate) details over flat surfaces. The majority of the techniques implemented to render detailed surfaces don’t increase the surface complexity but simulate wrinkles and unevenness on surfaces using different types of maps:
- Displacement Mapping
- Normal Mapping
- Offset Parallax Mapping
- Relief Mapping
- Parallax Occlusion Mapping
- Cone Step Mapping
- Multi-Layer Cone Step Mapping
- Sphere Tracing (Per-Pixel Displacement Mapping with Distance Functions)
All techniques were implemented with a fixed number of passes that can be changed on-the-fly, and shadows were removed to improve comparison.
This is a simple 3D pacman game with a simple ghost AI. This demo was developed to be used on an OpenGL mini-course. Source code included.
A multiplayer demo up to 4 players, featuring height map and collision. This demo uses a new developed model format that currently doesn’t support skinning.
Source code included.
Brain is a medical application developed to visualize voxels in real time using OpenGL. It works with a header file (.cb) and a volume file (.img) like MRIcro, regardless of the difference between Brain’s and MRIcro’s header file. Source code included.
A simple demo featuring height map, water with cautics and skybox.
Source code included.
A monolithic kernel developed in Assembly x86 that supports a FAT12 file system and features a Round Robin scheduler.