file:
/src/pixel_bender/cubes/flatGenerator.pbk,
33 lines,
1393 characters
line numbers
[show]
[hide]
1:<languageVersion : 1.0;>
2:
3:kernel FlatGenerator
4:< namespace : "omino";
5: vendor : "omino.com";
6: version : 1;
7: description : "Some 2d Arithmetic";
8:>
9:{
10: parameter pixel2 center <minValue:float2(0,0) ; maxValue:float2(400,400); defaultValue:float2(200,200);>;
11: parameter float4 dividers <minValue:float4(.1,.1,.1,.1); maxValue:float4(50,50,50,50); defaultValue:float4(10,10,10,10);>;
12: parameter float4 redContribution <minValue:float4(-1,-1,-1,-1); maxValue:float4(1,1,1,1); defaultValue:float4(0,0,0,0);>;
13: parameter float4 greenContribution <minValue:float4(-1,-1,-1,-1); maxValue:float4(1,1,1,1); defaultValue:float4(0,0,0,0);>;
14: parameter float4 blueContribution <minValue:float4(-1,-1,-1,-1); maxValue:float4(1,1,1,1); defaultValue:float4(0,0,0,0);>;
15: input image3 src;
16: output pixel3 dst;
17:
18: void
19: evaluatePixel()
20: {
21: float2 coord = outCoord() - center;
22: float4 parts;
23: parts.x = sin(coord.x / (0.01 + sqrt(abs(coord.x/ dividers.x))));
24: parts.y = sin(coord.x / (0.01 + sqrt(abs(coord.y/ dividers.y))));
25: parts.z = sin(coord.y / (0.01 + sqrt(abs(coord.x/ dividers.z))));
26: parts.w = sin(coord.y / (0.01 + sqrt(abs(coord.y/ dividers.w))));
27:
28: dst.r = dot(parts,redContribution);
29: dst.g = dot(parts,greenContribution);
30: dst.b = dot(parts,blueContribution);
31: }
32:}
33:
formatted by saShowCode.php