Bowie's in space

by baggers

Nothing visual to show i'm afraid but this week I've been looking at managing spaces and transform between them. Often we define a space as a tranform and a parent space, so first I was looking at scene graphs and matrix stacks as they are both ways of managing these contexts. I like the flexibility of a graph but I dont like scene graphs as they want you to shove all you objects into them. I want something more lightweight which only manages spaces, from here on out called the space-graph.

So half the week was spent putting together the basic internals of the space graph and coming up with way to work with it. General user experience stuff. But then I started thinking about how this would be on the gpu.

Now we cant (and shouldnt) pass all this shit up to the gpu, we only want the transforms we need to use. But working with spaces directly is rather nice so I start by assuming I could do that and how I would code if this was true. It was quite nice to be able to add spaces to positions and then define blocks inside which points would be implicitly cast (transformed) to the correct space. Basically I want to add static checking for spaces. To do this means tracking how spaces and such are passed around the shaders so I need some kind of flow analysis.

So that's what I've been doing for the last day and a half. I have basic value tracking in my varjo shader compiler now. It still doesnt handle conditionals or loops yet (which are the hard bits) but I expect to have this nailed in the next few days.

Right thats all for now. Sorry this is a shit write-up but I forgot I was doing these everyweeks so this is damn rushed. Check out more at

Last Edited on Mon Nov 09 2015 04:31:35 GMT-0500 (EST)

Zach Harvest commented

Not going to lie, ran this by Jake so I understand. Live coding! That's super cool. Always loved live coding applications/environments. First time I heard of one it was a minecraft live coding environment. Such a cool thing but its just implemented in just too few things...We need more of this shit! Can't wait to see the progression. Also Welcome aboard!!

on Mon Nov 09 2015 02:00:17 GMT-0500 (EST)

baggers commented

Cheers dude! I don't understand either :D I'm mainly trying to take the areas of graphics coding that make my brain ache and abstract them. This writeup is a mess though hehe. Hopefully I can show something more meaningful next time

on Mon Nov 09 2015 04:34:05 GMT-0500 (EST)

ferris commented

Similarly to how you're kindof using me as a guinea pig for using Rust, I'm using watching this project to see if any other kinds of transform-management schemes other than that traditional hierarchical ones can actually work or be useful or wtf :) Super cool to see progress on this, and nice to hear it again after being away from daily walks for so long :D

on Tue Nov 10 2015 17:28:54 GMT-0500 (EST)