Quick Tip: Branchless Programming

Branchless programming, in a general sense, refers to the use of mathematical operations utilizing conditional bools (i.e. true or false) in place of if/else statements. Here’s a good primer that speaks to how it’s used and why it matters. The short version is this: if/else statements take a little bit of excess processing power becauseContinue reading “Quick Tip: Branchless Programming”

Case Study: Convex Hull

Picture this, ya goober: a huge set of points in space. You want to find the minimum wrapping shape that contains the entire set of points– the convex hull. The goal is to revolve the entire system of points– and have that wrapping shape update dynamically. Sure, you can try to do it the manualContinue reading “Case Study: Convex Hull”

Adding value

I’ll try to keep this short. When you include value as a facet of your expressions, you’re referring to the information you’d keyframe in whatever property your expression exists. Take the Position property, for example. If we want the ability to drag our layer around after we’ve added an expression, we’ll use value. (The alternate solutionContinue reading “Adding value”

Sending a Layer in a Circle. Two Ways.

Here’s a problem. A fairly straightforward problem. We have a layer and we want it to orbit some point, but we want it to stay upright (meaning we don’t want the rotation to be affected). The Simple (and Potentially Messy) Solution The first solution is pretty simple. Make a null, place the null exactly whereContinue reading “Sending a Layer in a Circle. Two Ways.”

toComp() and toWorld()

These two expressions are beyond useful. The way they work finally clicked in my head recently. (I had a good idea of what toComp() did because it’s an expression that a lot of tutorials use. Drawing a line between two 3D nulls with the beam effect, for instance.) toWorld() does essentially what toComp() does, butContinue reading “toComp() and toWorld()”