Home -- News: 9 April 2021 -- Books -- Source Code -- Videos -- LinkedIn -- About

The Xmas Demo 2020 Edition

Nils Liaaen Corneliusen, Sjur Julin
23 December 2020

YouTube video j5x-lytqqXQ


Long story short: We took the old Xmas Demo 2017, fixed a busload of bugs, and replaced the music, the pictures, and the fonts.

To recap: The OpenGL shaders, most of them from shadertoy.com, were optimized and rewritten specifically to run in 60 fps on the cute NVidia Tegra X2 GPU back in 2017. They were kept pretty much as is, but are no longer dependent on NVidia-specific shader features.

Source Code

Should build with Visual Studio 2019, but you have to figure out how to include libpng, libmikmod, and OpenGL. The NuGet package manager in Visual Studio is... counterproductive at times.

Should also build on Linux with the supplied makefile.

Make sure your screen is set up to 1920x1080 (or larger) in 60 fps. It should run on any half decent computer with a graphics card having at least 256 cores. Tested on a couple of random NVidia and AMD cards. Seemed to work ok. Your mileage may vary.

v5 2021-03-03: Linux window size, vsync, music, and key handling fix.
v4 2021-02-02: Improve tracer GLSL probe lookup code
v3 2021-01-30: Fix remaining font issues, use libpng instead of libjpeg
v2 2021-01-02: Fix some font rendering issues, add Linux support
v1 2020-12-23: Initial Release


The picture called Mega Monitor is made by Sjur Julin. License: CC0 1.0

The music called Mad Dubs Xmas is made by Sjur Julin. License: CC0 1.0

Some Random Snapshots

The Xmas Demo 2020 Intro The Xmas Demo 2020 Galactic Dance The Xmas Demo 2020 Glow City The Xmas Demo 2020 Raytracer The Xmas Demo 2020 Noise 3D Fly Through The Xmas Demo 2020 Julia Quaternions The Xmas Demo 2020 More Colorful Than Average The Xmas Demo 2020 Seascape The Xmas Demo 2020 Transparent Blobs The Xmas Demo 2020 Twofield The Xmas Demo 2020 Torus Thingy The Xmas Demo 2020 End

US flag Real Programming -- Ekte Programmering US flag