Blender Cycles OSL: Sierpinski Squares
Hi everybody. Today I'm going to show you a Sierpinski Squares material using OSL and blender.
The code for the sierpinski squares pattern is as follows:
I have applied this pattern to an anisotropic shader. This is the node setup:
Here there are other renders and their node setups:
And this is the node setup of my first render in this article:
The Scale and Zoom parameters can be used to see different levels of detail. In this renders I have used a Mapping node instead.
I hope you like them.
Bye
The code for the sierpinski squares pattern is as follows:
/* * Migrated from "http://glsl.heroku.com/e#1891.0" * By: elbrujodelatribu */ float genCheck(vector p, float res) { return (mod(res * p[0], 1.0) < 0.5 ^ mod(res * p[1], 1.0) < 0.5) ? 0.0 : 1.0; } shader node_sierpinski_squares( float Scale = 1.0, float Zoom = 1.0, vector Vector = P, float MaxIterations = 10.0, output float Fac = 1.0, output color ColorOut = 0.8) { vector p = Vector*Scale/(2.0*Zoom); float diExp = 1.0; float result = genCheck(p,1.0); for(float i = 0.7; i <= MaxIterations; i++) { result += genCheck(p,diExp) / i; diExp *= 2.0; } result /= MaxIterations / 2.0; Fac = result; ColorOut = color(result,result,result); }This will be a basic render colored by the pattern:
I have applied this pattern to an anisotropic shader. This is the node setup:
Here there are other renders and their node setups:
And this is the node setup of my first render in this article:
The Scale and Zoom parameters can be used to see different levels of detail. In this renders I have used a Mapping node instead.
I hope you like them.
Bye
Comentarios