Blog

Main differences between luminance and other famous Rust crates

luminance, glium, gfx-rs, vulkano, amethyst, spectra

2018-03-28 18:40:00 UTC, by Dimitri Sabadie


It’s been a while since I’ve been wanting to do this. Either on IRC, Reddit, GitHub Issues, IRL or other any other way of communicating, there are more and more people asking me to compare luminance to other, well known and famous, rendering-like frameworks.

I’ve made a listing with pros and cons. in the README file of luminance. I’ll just copy that section and report it below so that you’re not even a click away from the listing!

How does it compare to…

A lot of folks have asked me on IRC / Reddit / gitter / etc. how luminance compares to other famous frameworks. Here are a few comparisons:

luminance vs. glium

glium has been around for a while – way longer than luminance.

According to crates.io, glium is no longer actively developed by its original author.

Sources and tutorials for glium here.

luminance vs. gfx

gfx is a high-performance, bindless graphics API for the Rust programming language. It aims to be the default API for Rust graphics: for one-off applications, or higher level libraries or engines.

The current listing concerns gfx in its’ pre- low level situation. Recent gfx APIs are different.

On a general note, luminance and gfx pre-ll are way too different to be compared to each other. If you want to target several backends, do not hesitate and go to gfx. If you target only one system and want simplicity, go to luminance.

luminance vs. ggez

ggez is a Rust library to create a Good Game Easily.

As ggez is primarily focused on 2D projects, it doesn’t compare directly to luminance, as it’s about graphics, sound, input, etc. Also, ggez is using gfx.

luminance vs. vulkano

vulkano is a wrapper around the Vulkan graphics API.

The scope is not really the same as vulkano only targets Vulkan and – as for today – luminance is about OpenGL.

luminance vs. amethyst

amethyst is a fast, data-oriented, and data-driven game engine suitable for rapid prototyping and iteration.

As stated in the current document, luminance is not a game engine. So if you’re looking for a tool that already has everything needed to build a game, amethyst should be your toy. Also, it’s using gfx.

luminance vs. piston

piston is a modular game engine written in Rust.

As for other game engines, nothing to compare here since luminance is not a game engine!

luminance vs. spectra

spectra is a demoscene framework / engine mainly written for demoscene purposes, even though it can now be used to some other extents (animation / video game).

spectra uses luminance as primary graphics backend, but it provides way more features than just graphics. You’ll find audio, animation, editing, resource system, custom shading language, etc.