This is a collection of math-focused node groups that I either found myself making dozens of times, or never making because it was never worth the trouble for any single material. They are building-blocks, not complete materials, aimed at people who think about 3D graphics from a mathematical perspective-- especially, anyone with a background in writing shaders, and those seeking to emulate other rendering engines, may find some of these node groups handy. There is no scripting or OSL involved, just Cycles material nodes.
Contains vector scale, get vector length, rectangular to polar coordinates and vice versa, reflection vector, half vector, 4x4 transform, gamma and degamma, invert power, Schlick's approximation by either IOR or reflection at incident vector, remap value, arbitrary clamp with threshold warnings, random dissolve, tools for tiling or mirroring OOB UV coords, sign, and value lerp.
Models provided are simply my test models to make sure that everything was working properly, but I left them in as they can demonstrate the usage of the nodes. There's a text data block documenting usage as well. Dissolve uses a large randomly generated texture which makes the file larger than I would prefer, sorry.
In a few cases, some of these node groups are duplicated by existing .blends on Blendswap. I checked after I made them, but don't think there's any harm in multiple implementations, or in having everything like this in one place.
Hope some of this is useful to somebody! Let me know if you see any problems or need any help with usage, I'll do my best to help you out.
There are no comments yet, log in to add one and start a discussion. Make someone feel good today!