Marzac / le3d

A straightforward and easy to use 3D software renderer for real-time retro graphics.
https://marzac.github.io/le3d/
MIT License
60 stars 6 forks source link

le3d

LightEngine 3D
Version 1.75 - 13/08/2018

A straightforward C++ 3D software engine for real-time graphics.
The engine aims to be a minimal and clear implementation of a simplified fixed pipeline.
Code has been designed for resource constrained platforms.

Build status - Linux, MacOS, Amiga (GCC / CLang)
Build Status

Build status - Windows (MSVC)
Build status



A project maintained by Fred's Lab
http://fredslab.net

This is open source software released under the MIT License, please refer to LICENCE file for more information.

Currently supported platforms:

Core engine

Source code / examples / documentation
Frédéric Meslin
Twitter: @marzacdev
Email: fred@fredslab.net

CMake scripts / Amiga + MacOS support
Andreas Streichardt
Twitter: @m0ppers
Email: andreas@mop.koeln

Exceptions

Mesh textures
In the example folder, one or more textures on the 3D models have been created with photographs from Textures.com.
These photographs may not be redistributed by default;
Please visit:
http://www.textures.com
for more information.

Skybox texture
In the example folder, the meadow skybox has been created by Emil "Humus" Persson and it is licenced under the Creative Commons
Attribution 3.0 Unported License.
Please visit:
http://www.humus.name/index.php?page=Textures
for more information.


Renderer (Portable C++ / ASM (SSE2))

The renderer:

The rasterizer:

The lighting system:

Backends (Native OS code)

window / draw / gamepad / timing / system

The backend - Windows version:

The backend - Linux version:

The backend - MacOS version:

The backend - Amiga version:

File formats

Supported bitmap / texture formats:

Supported 3D model formats:

Limitations

Comparison

It renders graphics a bit better than a Sony Playstation one.

Building

Please refer to BUILDING.md