k3f - 2013-11-17
  1. Introduction
    This project is a test to build a portable (windows/linux/android... iOS and mac should work but are not tested) framework for simple GUI with 3D rendering.

It uses:
* Qt5.1/QML (QtQuick2 without UI and control) for surface preparation and menus
* native C++/OpenGL ES/glsl for 3d rendering

It contains:
* a simple wavefront obj loader (in wavefront library): load mesh objects, materials etc.: code is Qt agnostic
* a wavefront to "gl" library: convert the obj into a gl compatible object (vbo, textures etc.)
* a simple 3d scene loader: use a custom xml format to describe scenes (obj, lights, animations, etc.)
* a glsl shader generator: generate program for textured, lightning, shadowing, glow etc. each generated program can then be optimized independently
* a 3D scene viewer: use the mouse on PC, and touch on android
* a dynamic menus GUI: use qml animations over custom menu and buttons.

  • Build
    Currently, manual build:

    • choose a target (windows, android etc.). Note: under windows use gcc because ms vc++ not yet c++11 ready
    • build all libraries
    • build the main qmlgl2 program
  • To do:

    • widget for input file selection (or wait Qt5.2 for working UI in android?)
    • complete the wavefront loader
    • improve the shadows: add omnidirectional lights, replace pcf by vsm etc.
    • improve scene data structures
    • wait for Qt5.2 to remove some android hack
    • a lot...
 

Last edit: k3f 2013-11-17