Table of Contents

  • What is a 3D engine?
  • Distinguishing features of the LiBi Engine
  • A new technique to build 3D environments
  • The benefits of the technique
  • New tools for designers
  • LiBi Ball: a technical demo

What is a 3D engine?

  • A program that renders (makes a picture / video of) 3D objects
  • Any software that requires a 3D interface uses a 3D engine, namely:
    • Animation / conception softwares
    • Simulators
    • Video games

  • Developing a 3D engine is a complex and time-consuming task
  • Most companies prefer to buy a license for a readily available engine from specialized companies such as:

Distinguishing Features of the LiBi Engine

  • Multiplatform: the same engine for both desktop and mobile softwares
  • Use a modern low-level graphic API for improved performances
  • Developed around an innovative technique to build 3D environments
  • Designed specifically to accomodate memory-restricted devices (mobile devices)
  • Use four threads asynchronously to allow for seamless world building

A technique of a new kind to build 3D environments

The technique combines a base structure with high-detail samples to reconstruct in real-time the fully detailed environment.

What’s so great about the technique?

  • The structure can be of any shape
  • Continuity is preserved even for the normals and the tangents
    => compatible with normal mapping
  • Full control of the local surface (see sharp corners)

Benefits for the engine

The building technique has four major benefits:

  1. Huge memory saving on both CPU and GPU sides
  2. Real-time rendering of large scale structures
  3. High precision collision with everything
  4. Fully dynamic environments

First benefit: memory management

  • In other engines, in order to build large scale environments, the artists have to glue together pieces of models much like LEGOs.
    • More models used = less repetitive environments. But:
    • The models need to be preloaded in the GPU
      => huge memory consumption (especially GPU memory), unfit for mobile devices
    • Lots of hidden polygons => impact performances

  • Advantages with the new technique:
    • Even just one sample can result in a fully irregular environment of any size + only the samples are preloaded on the GPU
      => huge memory saving
    • In practice, the amount of memory needed to render an environment in the LiBi engine is 1/1000th of other engines
    • Furthermore, no polygon is wasted

Second benefit: real-time large scale rendering

  • The technique brings two degrees of optimization of the rendering:
    1. Use of the base structure for long distance rendering
    2. Locally varying LOD (level of detail) for object at close distance

  • Furthermore, the transition between the long distance and the close distance rendering is smooth even for the shadows

  • These optimizations allow the engine to render large scale environments even on a phone

Third benefit: collisions with everything

The engine also applies the innovative technique to the collision model. This has three consequences:

  1. The collision model is automatically generated for each part of the environment
  2. Collisions are handled with the same precision everywhere, no matter how far away
  3. Handling the collisions also takes very little CPU-side memory

Fourth benefit: fully dynamic environment

  • What happens: the CPU works on a simplified model (the base structure) that gets converted in real-time by the GPU to obtain the fully detailed environment
    => large scale transformation can be done in real-time

  • The technique allows for soft body deformation of everything without the need for skeletons (very difficult with other engines)

  • Any transformation of the environment is taken into account during collisions

The development of associated tools

  • To design 3D environments, the designer must work with curves instead of polygons.
    => Non-conventional geometry data needs to be computed.

  • A Houdini plugin computes the additional data
    The artists still work with conventional polygons to ease the design of 3D objects

LiBi Ball: a demo of the engine

  • The objective:
    • Show that the technique is not power intensive and works on platforms with strict GPU limitations
    • Show that the technique is ready to use
    • Give the opportunity to easily stress test the technique (just download the Android app and go crazy)

  • The game: Roll a ball
    • The ball’s behavior is fully physical, including non-linear friction
      => the player can “touch” anything visible in the environment
    • Travel in huge environments with a level of detail unachievable with other engines
    • Perfect transition between exterior and interior
    • No loadings once in the environment

For additional informations

Concept

LiBi Ball is an Android game made as a technical demonstration of the engine.
While the gameplay is rather simple as of now (the gameplay will evolve over the updates), it allows the user to grasp the vastness and the complexity of the environment that can be rendered, as well as the freedom of movement and interaction that becomes possible by the engine.

Me

My name is Ericka SIMON, I am the only member of the LiBi Engine team, hopefully not for much longer!
I came back to France about 18 months ago to concentrate on the project; though the development of the engine itself only really started at the beginning of the year.

My plan is to slowly make my project - the development of the LiBi Engine - more visible through a game and possibly other types of software.

What's the deal?

I believe the technique I have developed is the missing link between voxel types of engine and more traditional ones; as such, it might possibly be revolutionary - allowing for truly large scale and fully dynamic virtual environments.
Because I had to start from scratches, it has taken much time to get to the point where I can make a ball roll around realistically in an environment with basic visual effects, but given more time and the help of artists, I believe we could make something trully amazing.

From my point of view, the motivation is two-fold: 1. breathing fresh air into the field of 3D, 2. building something visually beautiful and architectural.

Credits

OpenGL Mathematics (GLM) License: here.

STB Image License: here.

LiBi World

The LiBi Engine

The game: LiBi Ball

About

Credits