Never trust the compiler pt1

Oct 24, 2018 - 4 minutes
You thought those ternary operator were going to be converted to conditional move? Sorry... Introduction It is a normal day, having some fun optimizing a custom CPU implementation of Tero Kerras BVH , with the Superluminal profiler , (super cool by the way, check it out) , when the profiler itself tells you the in the ray traversal function, one piece of code is particularly expensive, I started to drill down to find some interesting surprises. Read more ...

Parallel transport on curve

Jul 31, 2018 - 10 minutes
TL;DR: How to generate a stable orientation along a curve, math and Unity implementation. Here the repository with all the code and Unity project. Introduction Parallel transport is a technique that allows computing a moving frame (a 4x4 matrix defining a coordinate system) down the curve. Here is an example: The computation starts on the top right of the image, where the gizmo is, then move sequentially down the curve. Read more ...

Unity custom hair simulation PT1

Jul 31, 2018 - 13 minutes
Introduction In today’s blog post I would like to talk about hair simulation, it has been something that always piqued my interest. I attempted to do a proper simulation in the past based on the Position based dynamics , more specifically the one focusing on inextensible hair strand . The issue with both papers was that they did not worry about keeping the initial hair shape, basically the groom an artist would have spent days crafting. Read more ...