Convenience is the main reason why I find pie menus useful when it comes to accessing frequently used functions: the pie appears under the cursor so a slight movement of the mouse selects an action. That beats targeting toolbar icons, digging through linear menus or reaching for a key combos.read more
I needed a flexible way to create borders around things so I implemented nine-slice scaling as a material function:
It takes decal projection width and height as parameters so the texture doesn’t stretch at the corners. Another parameter defines border thickness which is the absolute size of the border slices:
And of course the user can also define the location of the 4 cuts which create the 9 slices.
Generating the proper texture coordinates costs 24 instructions but it could be simplified by sacrificing some of the flexibility (like forcing symmetric cut positions).read more
I spent the majority of my time working on and with our effect container, the GVEffect class.
GVEffects are abstract entities containing any number of basic building blocks called EffectTypes. We have particle system and decal effect types working, light and sound will be implemented later. A typical setup would look something like this:read more