Awesome Open Source
Awesome Open Source

Here be dragons

Hic sunt dracones.

This repository contains multiple implementations of the same 3D scene, using different APIs and frameworks on various platforms. The goal is to provide a comparison between multiple rendering methods. This is inherently biased due to the variety of algorithms used and available CPU/GPU configurations, but can hopefully still provide interesting insights on 3D rendering. You can check a video of all current versions runnning here (Youtube)

The following versions are currently available:

The following versions are (tentatively) planned:

  • DirectX, OpenGL ES
  • other console hardwares
  • another raytracing

In the directory of each version, one can find the source code, the corresponding resources (as each method has its own format/quality constraints), along with a readme describing the method and a few examples. The only exception is the OpenGL project, which is described below.


The scene is composed of four main elements:

  • a plane representing the ground, with a pavement texture.
  • a dragon (the Stanford dragon).
  • a monkey head ('Suzanne') rotating around its vertical axis.
  • a skybox surrounding the scene, textured with a cloudy sky.

Additionally, the sun is simulated by using a directional light, and the camera should be able to rotate around the scene. The initial 3D models and textures are contained in the opengl/resources directory.

Other implementations

Here you can find implementations using some of the above APIs combined with other programming languages, submitted by awesome people!

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c (14,744
unity (887
opengl (461
webgl (393
rendering (168
computer-graphics (129
blender (89
metal (84
graphics-programming (48
scenekit (48
gba (15

Find Open Source By Browsing 7,000 Topics Across 59 Categories