bplist00'()2[aspectRatio^portAttributes_editorViewerWindow_frameworkVersion_inputParametersYrootPatch"? Wcount_BWphase_AZrotation_YWphase_BZrotation_ZW_enableXamount_AXamount_BZrotation_X]Translation_Z_Radius_ModulateWcount_ATname[descriptionUInput_The input port. VEnable_ Controls execution of the patch._1022 407 808 652 0 0 1920 1178 U106.3 *+,-,./,0,1#?I.#@)ۆ##@Am#?a#?A#۠#@r345UstateUclass6789:;DghUnodes[connectionsXuserInfo_publishedInputPortsXtimebase<T $(-17;?34=>RSSkey?8@ABCDECO_clearDepthBuffer_ivarInputPortStates_clearColorBuffer_systemInputPortStates O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}-FGZinputColorHIUvalueJKLM,,,,UgreenTblueSredUalpha PHC WQCClearWClear_134=UVW8XY6Z@9[B\]i\jk\ZlightCount_customInputPortStates^numberOfLights]lightTwoSidesWversion_separateSpecular^_`abg]attenuation_1Wcolor_1[positionY_1H,HcJKLMdeff"?{"?n"?Hh#?.֘DO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}DC zoomFactorNSNumberfposition~l34=m6n98oBp^fragmentShader\vertexShaderq34=r68@Bst34=uWv8@wBx{|}{VstacksVslicesyzZinputScaleHfO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}~FyzWinputRZVinputYWinputRY\inputZBufferVinputXVinputZWinputRX]inputBlending\inputCullingH,H,H,H\H,H,H,HHJKLMffffHHfHC XQCSphere_Quadric_sphere_1O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}@C zoomFactorNSNumberfpositionw\inputOriginZ_inputTranslateX_inputTranslateY\inputOriginX\inputOriginYH,H,H,H,H,HC XQCCameraXCamera_1_/* Built-in variables: - vec4 gl_FragCoord - bool gl_FrontFacing - vec4 gl_FragColor - vec4 gl_FragData[gl_MaxDrawBuffers] - float gl_FragDepth Varying variables: - vec4 gl_Color - vec4 gl_SecondaryColor - vec4 gl_TexCoord[] - float gl_FogFragCoord - vec2 gl_PointCoord */ //Declare a 2D texture as a uniform variable uniform sampler2D texture; void main() { //Multiply color by texture gl_FragColor = vec4(gl_Color.rgb, 1); } =TnodeTportZRotation_X\inputRotateX=ZRotation_Y\inputRotateY=ZRotation_Z\inputRotateZ=_inputTranslateZO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}@CC zoomFactorNSNumberfpositiong_ /************** generic cartesian spherical conversion functions ***************/ struct spherical { float r, phi, theta; }; spherical cartesianToSpherical(vec3 cPoint) { spherical sCoords; float xyLen = length(cPoint.xy); sCoords.r = length(cPoint); sCoords.phi = acos(cPoint.z / sCoords.r); sCoords.theta = atan(cPoint.x, cPoint.y); return sCoords; } vec3 sphericalToCartesian(spherical sPoint) { vec3 cCoords; cCoords.x = sPoint.r * sin(sPoint.phi) * cos(sPoint.theta); cCoords.y = sPoint.r * sin(sPoint.phi) * sin(sPoint.theta); cCoords.z = sPoint.r * cos(sPoint.phi); return cCoords; } /*************************************************************/ uniform float RadMod; uniform vec2 count; uniform vec2 phase; uniform vec2 amount; /************* simple scaling function, adds to the radius ***********/ // takes a spherical coordinates as parameter // and returns spherical coordinates spherical radialDistort(spherical sPoint, float RadMod) { sPoint.r += RadMod; return sPoint; } /************* modulates radius based on theta and phi ***********/ // takes a spherical coordinates as parameter // and returns spherical coordinates by writing to the same parameter // did it like that just to try out the in/out keywords void radialDistort2(inout spherical sPoint) { sPoint.r += sin(sPoint.phi * count.x + phase.x) * amount.x; sPoint.r += cos(sPoint.theta * count.y + phase.y) * amount.y; } void main() { spherical sphereCoords = cartesianToSpherical(gl_Vertex.xyz); // this function just scales and returns the new spherical coordinates in the function sphereCoords = radialDistort(sphereCoords, RadMod); // this function does some other stuff and writes the spherical coordinates back to the same variable // did it like that just to try out the in/out keywords radialDistort2(sphereCoords); // convert modified spherical coordindates back to cartesian vec3 outCoords = sphericalToCartesian(sphereCoords); gl_Position = gl_ModelViewProjectionMatrix * vec4(outCoords, 1.0); // lighting vec3 normal = normalize(gl_NormalMatrix * gl_Normal); vec3 lightDir = normalize(vec3(gl_LightSource[0].position)); float NdotL = max(dot(normal, lightDir), 0.0); vec4 diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse; gl_FrontColor = NdotL * diffuse; // add fake lighting based on radius; gl_FrontColor = gl_FrontColor * 0.5 + (abs(sphereCoords.r)-RadMod) * 0.5; } HC \QCGLSLShader\GLSLShader_1_inputObjectShininess_inputAmbientColor_inputObjectSpecularH#@`HJKLM,f">">ޜH#?=3VRadMod8Oq streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameRadMod=Wcount_X=Wcount_Y=Wphase_X=Wphase_Y=Xamount_X=Xamount_Y====HC ZQCLightingZLighting_134=8@:ZrandomSeed5O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}oZinputPhase[inputPeriod^inputAmplitude[inputOffsetYinputType]inputPWMRatioH,H#@$HHHH#?VparentUQCLFOULFO_134= 8@:\j O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}H,HHHH\HULFO_234=   Z8\XinputMaxYportClassXinputMin#@\QCNumberPortO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameRadModpositionNSValue* {_NSPoint=ff}C#ZQCSplitterZSplitter_134=  Z8\#@>O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}n#ZSplitter_234=  Z8\O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}ZSplitter_334= #  Z8!\"#@YO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}ZSplitter_534=%'  Z8!\&O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}ZSplitter_634=),  Z8f\*+O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}#ZSplitter_434=.0  Z8f\/+O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}9ZSplitter_734=26  Z83\45#@vO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}g#vZSplitter_834=8:  Z83\95O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}ZSplitter_934=<>  Z83\=5O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}[Splitter_1034=@C  Z8,\ABO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Number Splitter"positionNSValue* {_NSPoint=ff}#$[Splitter_11EFGHIJKLMNOPQRXY\]^`abcdef\connection_8\connection_3\connection_1]connection_12\connection_7\connection_2\connection_4]connection_13]connection_10\connection_9\connection_5]connection_11\connection_6STUV,W_destinationPortZsourceNodeZsourcePort_destinationNodeVoutputSTUVWSTUVZ[[positionX_1[outputValueSTUV>WSTUV'WSTUV_ [[positionZ_1STUVWSTUVCWSTUV6WSTUV0WSTUVWSTUV:WSTUV#WO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}C6 zoomFactorNSNumberfimpsvy|=3jkUinput8lOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameRadius Modulate=3jn8oOr streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namecount A=3 jq8rOr streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namecount B=3# jt8uOr streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namephase A=3' jw8xOr streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namephase B=3,jz8{Os streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameamount A=30j}8~Os streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameamount B=36j8Ou streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name rotation X=3: j8Ou streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name rotation Y=3> j8Ou streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name rotation Z=3Cj8Ox streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Translation ZWQCPatch!-<Qdv )1:?KQclu~ENW`ir{#8Kat %05;LRW[abglmu}!/7CHM^chmr{UVYf !&+05:?DIKPafhmrwx n     * 5 B O a ; 49BGX]bgp%-:BOWdly $).38AHNTarw %*/49>CIVkt~HQ\gtHQ\i~4?Laj +8M    0 !!!!!!""""""####$$$$%q%z%%%%%%%& &&%&3&@&M&[&h&y&&&&&&&&&'''''3'D'U'f'w'''(i(((())*)/)))*/*@*E***+E+V+[+++,],n,s,,--y--.....