RSSAmplifier

Blog

jglrxavpok’s blog

Random thoughts and progress on my personal projects.

blog.jglrxavpok.euRSS feed ↗10 posts

Latest posts

One year of daily driving AMD/Linux

As written in my previous post, I switched to Linux and AMD GPUs for my main desktop PC last year. Here’s my experience with daily driving it.

Porting my engine from Windows/NVIDIA to Linux/AMD

A few weeks ago, I decided to port my Windows-only engine to Linux, and also switch from an NVIDIA GPU to an AMD one. Here are a few interesting things I noted along the way.

We have GI at home

It has been a while since I’ve posted something here! For the past few months, I have mostly been working on Global Illumination (GI) for my engine Carrot, switching with other tasks when I grew bored. I might do a few articles on them, even if I don’t think they generalise as such as my other articles. Oh and I shipped a small indie game , so I was a tiny bit busy. The (past) state of Carrot’s…

Recreating Nanite: Raytracing

Alternative title: “Going further than Nanite: Raytracing”, but that might be a bit pretentious. It’s been a while, I’ve spent a month trying to improve the performance and rendering quality of my engine for the GP Direct! Carrot is visible at 12:17, but don’t hesitate to look at all the submissions! Anyway, turns out raytracing and virtual geometry don’t really want to work together. Introduction…

Recreating Nanite: Mesh shader time

⚠️ This article is a short follow up on Recreating Nanite: Runtime LOD selection. You should read it before reading this article!

Recreating Nanite: Runtime LOD selection

This article is part of the “Recreating Nanite” series, you should read the previous articles to fully understand what is going on here!

Recreating Nanite: LOD generation - faster, better, simpler

Table of contents: Introduction Fixing performance Law of large numbers Doing less work Fixing quality

Recreating Nanite: A basic material pass

At the end of the previous article , you could see the albedo and lighting being applied to rendered clusters. How? This article will be smaller than the previous one, because a basic material pass is not that complicated once cluster rendering works. Also I purposefully chose to keep the material pass simple for now. Related commits: Add cluster instance buffer, to allow to know which material to…

Recreating Nanite: LOD generation

Matching commits: Support for LODs inside glTF First version of LOD clusters Small fix in GLTFProcessing when building METIS graph Vertex welding & METIS edge weights k-d tree usage for simplification (commit message is wrong due to a mistake) Recreate k-d tree for each LOD Summary: Introduction Encoding LODs inside glTF LOD generation First approach Grouping clusters Simplifying cluster groups…

Recreating Nanite: Cluster rendering

Matching commits: Meshlet support Cluster lifetime