Last update: 2 September 2015


Overview

Virtual Vision Engine or VVISION is a real time cross plateform (windows, linux) graphics engine with support of physics simulation.

The engine was writen from scratch, and it uses OpenGL 2.0 and GLSL for advanced rendering techniques and post processing effects.

Features

The engine uses OpenDynamicsEngine (ODE) for physics simulations (basic collision detection, joints, ray tracing and vehicle physics simulation)

The vehicle physics behavior is modeled as follow:

The vehicle chassis is represented by a simple box with mass, width, height and length. Vehicle's wheels are represented by spheres with mass and radius. Chassis and wheels are connected with hinge joints with Suspension parameters (Damp and spring). A simple Aero dynamics and roll resistance model is added to the vehicle movement.  Engine is modeled by  a torque applied directly to the joints.

Cal3d library is used for character animation. Character Bouding is represented with sphere (instead of capsule)  and uses a vertical ray to update its height based on ground's height.

The engine can import models from .3ds, .ms3d, and .obj models. Octrees can be created from large models in order to improve the frustum culling technique by reducing the number of vertices sent to GPU that lie outside the viewing frustum. So Octrees used with Frustum Culling give the engine the ability to render vaste and large enviroments. Future work will be the implementation of the occlusion culling technique in order to increase rendering performance.

The engine also uses DevIL image library for loading images.  

Below, a list of effects and rendering features supported by the engine:

-Per pixel lighting. 
-Bump/Parallax Mapping . 
-Cube/Environment mapping. 
-Reflections/Refractions. 
-Real time soft shadows. 
-Water effect .
-Day/Night mode.
-Texture Splatting for terrains. 
-Space partitioning. 
-Frustum Culling .

Conclusion

VVISION is still far from being a game engine, many improvments and features need to be added. Here is a TODO list :


-LOD ( Level of detail detail ) for complex shapes in order to improve performance. 
-Occlusion Culling technique. 
-Support COLLADA format. 
-Partical effects: smoke, fire, explosion, Blood... 
-Special effects: bloom, motion blur, depth of field...
-Clouds, weather...
-Pahtfinding for AI (A*), FSM (Finite State Machine), neural networks.... 
-Update to OpenGL4.0 (support of  tesselation.)


Demo