bplist00_editorViewerWindowYrootPatch_660 34 587 474 0 0 1280 832 UclassUstateWQCPatch Unodes[connectionsXuserInfo 1:@V_jo|0SkeyZQCGradient *-/_ivarInputPortStates_systemInputPortStates_clearDepthBuffer#%')[inputColor3^inputDirection[inputColor1[inputColor2]inputBlendingUvalue !!"!UgreenTblueUalphaSred""?$& !!"!( !!"!$+,W_enable- O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}@ІZGradient_1239]QCImageKernel45 6-8ZsourceCode\automaticDOD_const float kern00 = -1; const float kern01 = -2; const float kern02 = -1; const float kern10 = 0; const float kern11 = 0; const float kern12 = 0; const float kern20 = 1; const float kern21 = 2; const float kern22 = 1; float getMaxComponent(sampler image, const vec2 xy, const vec2 off) { vec2 pt; pt = xy +off; vec4 pixel = sample(image,pt); // max component is approx "brightness" return max(max(pixel.r, pixel.g), max(pixel.r, pixel.b)); } float getAngle(float dx, float dy) { return atan(dy/dx); } kernel vec4 sobelFilter(sampler image) { float accumV = 0.0; float accumH = 0.0; const vec2 xy = samplerCoord(image); float pixel; pixel = getMaxComponent(image, xy, vec2(-1.0, -1.0)); accumV += pixel*kern00; accumH += pixel*kern00; pixel = getMaxComponent(image, xy, vec2( 0.0, -1.0)); accumV += pixel*kern01; accumH += pixel*kern10; pixel = getMaxComponent(image, xy, vec2( 1.0, -1.0)); accumV += pixel*kern02; accumH += pixel*kern20; pixel = getMaxComponent(image, xy, vec2(-1.0, 0.0)); accumV += pixel*kern10; accumH += pixel*kern01; pixel = getMaxComponent(image, xy, vec2( 0.0, 0.0)); accumV += pixel*kern11; accumH += pixel*kern11; pixel = getMaxComponent(image, xy, vec2( 1.0, 0.0)); accumV += pixel*kern12; accumH += pixel*kern21; pixel = getMaxComponent(image, xy, vec2(-1.0, 1.0)); accumV += pixel*kern20; accumH += pixel*kern02; pixel = getMaxComponent(image, xy, vec2( 0.0, 1.0)); accumV += pixel*kern21; accumH += pixel*kern12; pixel = getMaxComponent(image, xy, vec2( 1.0, 1.0)); accumV += pixel*kern22; accumH += pixel*kern22; float val = sqrt(accumH * accumH + accumV * accumV); return vec4(accumH, accumV, getAngle(accumH, accumV), val); } O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameSobel GradientpositionNSValue* {_NSPoint=ff}2ᆒnoteAPut dx in red, dy in green, theta in blue, and magnitude in alpha]ImageKernel_22;?45 <->_ikernel vec4 flow(sampler sobelG, sampler diff) { vec4 s = sample(sobelG, samplerCoord(sobelG)); vec4 d = sample(diff, samplerCoord(diff)); float dx = s.r; float dy = s.g; float diff = d.r; float vmag = diff / pow(dx*dx + dy*dy, 0.5); vmag /= 100.0; float maxval = 0.80; vmag = vmag > maxval ? maxval : vmag; return vec4(vmag, vmag, vmag, 1.0); } O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameLineArtpositionNSValue* {_NSPoint=ff}]ImageKernel_4ABCTUZidentifier]QCImageFilterDE FGHIJKOPQ$RS!_customInputPortStates[borderColor\wrappingMode\mipmapLevels]filteringModeVtargetZanisotropyLMWinputEVN#@QE_R=0 G=0 B=0 A=0O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}5[ClampToEdgeXBilinear_GL_TEXTURE_RECTANGLE_EXT_ExposureAdjust_1_CIExposureAdjustWX^\QCVideoInputJFYEI HGZ!Q[OS\R$-[highQualityVuseYUVO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} \VideoInput_1AB`hiDE FGHIJaOgQ$RS!bcde^inputIntensityZinputColor"f """"O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}e_ColorMonochrome_1_CIColorMonochromeABkmnE FGHIJOlQ$RS!O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}k톆^MedianFilter_1^CIMedianFilterABpz{DE FGHIJqOyQ$RS!rstuvw]inputContrast_inputBrightness_inputSaturation"!x#?O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}M_ColorControls_1_CIColorControlsAB}E FGHIJO~Q$RS!O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}b_ColorBlendMode_1_CIColorBlendMode[QCBillboard [[CIRenderingc]inputRotationVinputYVinputXZinputScale """"!!!$#@q +- O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}[Billboard_1ZQCSplitterқ YportClass]QCBooleanPortO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}yZSplitter_1]QCMultiplexerӛ ZinputCount]QCGLImagePortO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}P]Multiplexer_1[QCTextImageުJFDEI HG!QOSR$[XfontSizeXfontName_horizontalAlignment_verticalAlignment\manualLayout"A\LucidaGrandeXCenteredճ[inputHeight\inputLeading\inputKerningZinputWidth^inputGlyphSize!!!!#?O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}w톆[inputString_* Plug in a video source! VNormal[TextImage_1\connection_9]connection_14\connection_2]connection_10\connection_3\connection_4]connection_11\connection_5\connection_6]connection_12\connection_7]connection_13\connection_8\connection_1^ڞZsourceNodeZsourcePort_destinationNode_destinationPort[outputImageUinput^hZinputImage9?VsobelGzm9Uimage٦Voutput^zhmT?TdiffٞZinputIndexڦXsource_0?_inputBackgroundImageڦXsource_1mTO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}{ ",KPV\dkq} &2@CIRX]cglqtvy6AHV]hu + , 1 ? F M g u ~     / !.AMTU&147@ !$- !$'*-09<?@A} *6CP[jmpsvy&)V]^j (5BKVas  )2IR[d