Al Green
Al Green's Brother
Home -- News -- Articles -- Books -- Source Code -- Videos -- Xmas -- LinkedIn -- About

The Xmas Demo 2021

Nils Liaaen Corneliusen, Sjur Julin
2023 -- 2022 -- 2021 -- 2020 -- 2017

Click to watch video on YouTube

Introduction

The Xmas Demo 2021 features, for the first time in this not particularly long series of rip-offs, animated objects using inverse kinematics. It demonstrates Sjur Julin's new 3D engine called V73D. Think Unreal Engine, only about 1000 times smaller and faster. And, as usual, we spent hours months optimizing some awesome looking shaders from ShaderToy to run in 60 fps on low-end hardware. This time we used the Nvidia Jetson AGX Xavier: It's like a Raspberry Pi 4, only useful. It has 512 GPU cores and 8 ARM cores. I use my Pi as a doorstop now.

The code is written in the best (and greenest) programming languages ever: C and GLSL. It compiles and runs on both Linux and Windows with assorted graphics cards. Download the source and try it out!

Recommended article: C is the greenest programming language [hackaday.com]

Source Code

First compile V73D using make. If that completed ok, risk it all by doing sudo make install. Then compile xmasdemo by running make and it should produce an executable file. For Windows, it's slightly more interesting. If you run into issues, contact me.

To get it to run in 60 fps on the Xavier, use the following tricks: First of all, lock the GPU clock to 1.3Ghz and max out the ARM cores. NVidia's auto clock crap still sucks. Next, use the -x option: It will dial down the quality of some of the shaders and remove heavy backgrounds. v2 introduces the -s option to disable VSync.

Six shaders from ShaderToy have been modified and used. Some were heavily modified, others less so. Below are links to the original ShaderToy versions:

We recycled these two shaders for the nth time. They're mostly unchanged versions of the ones used in The Xmas Demo 2020. The big changes were made in the control code.

Versions:
v2 2022-03-07 Timing fix. Add -s option to disable VSync.
v1 2022-02-24 Initial release.

Other Code

Artwork

Pygo Cobra C V73D Max Bike

Snapshots

The Xmas Demo 2021 Recycled Raytracer The Xmas Demo 2021 Fire Valley The Xmas Demo 2021 Moose Part 1 The Xmas Demo 2021 Code First The Xmas Demo 2021 Cobra C The Xmas Demo 2021 Moose Part 2 The Xmas Demo 2021 Julia Quaternions Resurrection The Xmas Demo 2021 Mad Bulb The Xmas Demo 2021 Credits The Xmas Demo 2021 Cobra C End

Article Licensing Information

This article is published under the following license: Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
Short summary: You may copy and redistribute the material in any medium or format for any purpose, even commercially. You must give appropriate credit, provide a link to the license, and indicate if changes were made. If you remix, transform, or build upon the material, you may not distribute the modified material.


Ekte Programmering Norwegian flag
American flag Real Programming
Ignorantus AS