C++ framework for multimedia software like Games
3dNovac is a free multimedia C++ Framework. Its main goal is to provide the necessary tools for creating games of all types, while remaining portable and lightweight.
The framework will therefore manage the main features required for the development of a complete game (Real-time display, environmental management, network management, audio management).
Written in C + + object-oriented, The 3D engine uses only OpenGL and GLSL for rendering and uses only low-level library, to be the most independent and lightest possible.
3dNovac is composed by a set of libraries designed to help you as much as possible to create a multimedia software.
Initialy 3dNovac is designed to make games but it could be used to create many other types of programs.
List of 3dNovac features by libraries:
Nc-Core (Multithreaded Library and basic System features)
  • Multitreaded Engine management
  • Engine Communication based on signal/handler pattern
  • Xml library
  • Utils, like logger, memory manager, singleton, unicode, SmartPointer, etc...
  • Math, management of basic array, vector, pixel, and Matrix
  • Graph, abstraction of template tree/graph structure
  • Network abstractions to manage both Tcp and Udp connection
  • Plugin loader
Nc-Graphics (3d Engine)
  • Graphic Engine.
  • Image file formats supported: PNG.
  • GUI support provided : X11, Win32.
  • GUI support: Qt4.
  • Based on OpenGL 3.3 - 4.x.
  • Scene Management with basics Scene interfaces for 2d and 3d rendering.
  • Texturing: 1D, 2D, 3D textures, cube maps, mipmapping, anisotropic filtering.
  • GLSL Shader support (management of vertex, geometry and fragment shader).
  • Unified Rendering with VBO, shader and associate materials.
  • String management by texture mapping (using libFreetype).
  • Sprites and spritesheets support.
  • Basic Animation support.
  • Camera support.
  • Partionning Space support. Implementation of octree with Frustum Culling.
  • Framebuffer support.
  • SceneNode loading with plugin. Implementation of a Collada loader.
  • Widget InGame management.
  • Basic widget support: Label, TextBox, WindowBox, ProgressBar...
  • Layout management
  • Widget look managment with configuration of spritesheets
  • Audio Engine (with the sfml).
  • Basic management of Music and Sound
  • Implementation of default Graphical objects.
  • Utils to create an application much faster.