Skip to content

Siriuscoder/3dlite

Repository files navigation

Lite 3d rendering engine

Build status

About

Light weight 3d/2d graphics rendering helper. "Engine" is not correct word for this library. It is designed as adapter from low level OpenGL API to more simple high level API. This API contains some high level concepts like scene, material, mesh, shader.. etc. whereas OpenGL API provides low level concepts like Framebuffer, vertex buffer, texture buffer and others.

Lite3d library support only OpenGL graphics API as back end for GPU operations. No sound, no physics, graphics only! One of the reason of using OpenGL API was a potential support of many OS. Windows/Linux supports now, but library may be simply ported on others platforms.

API

Library provides two API levels:

  1. Low level C API (3dlite), common graphic operations.
  2. High level C++ API (3dlitepp), user friendly C++ components and scripting API. (See samples for more details)

Dependencies

Compiling

Use cmake 3.12.0 or higher.

$ mkdir build
$ cmake /path/to/3dlite/sources
$ make all

You can use cmake to generate Visual Studio projects on windows.

Samples

After successfully compiling you can find some samples in bin directory. To provide samples work correctly you must download resources packs vault.pkg and sponza.pkg and put its to media/packs/

You can download resources for Vault_111 sample from here, this 7z archive contains textures and models folders, you must copy this folders to media/vault_111 and anjoy this awesome sample.

Screenshots

Robots instancing sample Reflection via cubemap sample Sponza sample with MSAA render target and PCF shadows Vault scene (Fallout3 models) with dynamic lighting with multiple lights and big range of materials. Supports two render modes: Deffered shading and Direct shading, also supports several light buffer techniques such as UBO, TBO, SSBO. Vault 111 scene (Fallout4 models) with complete PBR lighting and HDR rendering, Deffered shading pipeline, dynamic PCF shadows from multiple light sources, Physical Bloom effect and huge range of materials and models.


Check branch master to fetch stable changes =)

Copyright © 2014-2023 Nikita Korolev (Sirius)