gH]kDwP|trueSpace7.6[VS_O93Y*I Clinton Reese, RUR`d8pM*#ͺOPNG  IHDR`ZIDATx1NA@Q{AX.B7Ąy0zO03܀ŖT,ۙS^@f`f`f`f`f`f`f`f`f`f`f`f`f`f`f`Cz1gn.Z><Ɠt^v't^֛`8⽟S,B)r'`pwi?!aU *4ЮG'-n``f`f`f`f`f` 67-ZnIENDB`/tfѭ8Lwb"q܂dKu=܀ RGB Color CubexQ .;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects"^ B@4W}@O{4W}@O{$ Owner4Owner of the Encapsulator$(XFҦV(XFҦV"LE2Data$LE2 Data for node >g'JNjn*p"  wVHRS wVHRSDspacing\ȑpz,AMa]z,AMa]DnumSegments\-1OSM n-1OSM n"LayoutLayout 럆L<_ї"(XFҦV>g'JNjn*pFIDb@@T@?z,AMa] wVHRS?-1OSM n 럆L<_їx  Default GFʠN=@9 }}Segmentsz,AMa]Z`Ez]UO1釥GP>aP,z,AMa]Z`Ez]UO GFʠN=@ 8 }}Spacing wVHRSZ`Ez]UO1釥GP>aP , wVHRSZ`Ez]UOOˁ CRih[ 0RActivity.Run('%THIS_NAME%/RGBcolorCube')0Create RGB Color MatrixZ`Ez]UOPN AnqH@P>z,AMa]@@A?Z`Ez]UOPN AnqH@P > wVHRS?@ #<Z`Ez]UO  49` !48@J g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %^ 4W}@O{$(XFҦVLE2Data, 1#J@#QLJ@#QLLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 3MT^RwL~YYTMT^RwL~YYTޢLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 2ȑ wVHRSDz,AMa]D2|=Bynj2|=Bynj Control OutTransitionOutz@Hoz@Ho Control InTransitionIn 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ ZNewCommand// // RGBcolorCube // // Clinton Reese // modification by David Egan // October 10 2007 // // Create a RGB Color Cube array function Execute(params) { var spacing = params.ConValue('spacing'); var numSegments = params.ConValue('numSegments'); scene = Space.CurrentScene(); original = scene + "/RGB Color Cube/Cube" // Check for ConstantColor node matNode = original + "/Material List, 1/Material 0/D3D material"; constColorNode = matNode + "/ConstantColor"; if(!Node.Exists(constColorNode)) { matNode = original + "/Material List, 1/Material 0/D3D material"; constColorNode = matNode + "/ConstantColor"; } if(!Node.Exists(constColorNode)) { System.Alert("Your object must have a DX Constant Color material"); return; } // Get bounding box size (Anton) bbArray = System.CreateDO('Common Data Package/Number Array Data'); bbArray = Space.GetBoundingBox(original); xmin = bbArray.GetAt(0); xmax = bbArray.GetAt(1); ymin = bbArray.GetAt(2); ymax = bbArray.GetAt(3); zmin = bbArray.GetAt(4); zmax = bbArray.GetAt(5); xsize = xmax - xmin; ysize = ymax - ymin; zsize = zmax - zmin; color = System.CreateDO("Common Data Package/Color Data"); // Add input color node and connect it to the constant color of the original object colin = Node.Create('D3D View Package/InputColor',matNode ); Node.ConnectTo(colin, "oColor", constColorNode, "Color"); // Create 3D Encapsulator tempNode = Node.Create('Kernel Package/Object', scene); myNode = Node.SafeRename(tempNode, "RGB Color Matrix"); transform = Node.Create("Space 3D Package/Transform", myNode); Node.ExportConnector(transform, "Matrix", "", 1, 1) Node.ExportConnector(transform, "OwnerMatrix", "", 1, 1) Node.ExportConnector(transform, "ObjMatrix", "", 1, 1) Node.ExportConnector(transform, "WldMatrix", "", 1, 1) numSegDiv2 = numSegments * 0.5; //********** // Create and color the array objects //********** for(i=1;i<=numSegments;i++) for(j=1;j<=numSegments;j++) for(k=1;k<=numSegments;k++) { color.SetBlue8(i*255/numSegments); color.SetGreen8(j*255/numSegments); color.SetRed8(k*255/numSegments); // Set color of original object Node.Value(colin,'Color') = color; // Copy original object and move copy into position curCube = Node.Copy(original,myNode); movex = xsize * (i - numSegDiv2 - 0.5) * spacing; movey = ysize * (j - numSegDiv2 - 0.5) * spacing; movez = zsize * k * spacing; Widgets.Move(curCube, movex, movey, movez); // Attach to Transform to create regular 3D group Node.ConnectTo(transform, "WldMatrix", curCube, "OwnerMatrix") } // Disconnect and Delete the input color node Node.Disconnect(colin, "oColor", constColorNode, "Color"); Node.Delete(colin); // looks better rotated Space.NodeMatrixElement(myNode,'roll') = 90.000; Space.NodeMatrixElement(myNode,'yaw') = -179.000; //Space.NodeMatrixElement(myNode,'tx') = -xsize * numSegDiv2 * spacing; Space.NodeMatrixElement(myNode,'ty') = -ysize * numSegDiv2 * spacing - 0.25; Space.NodeMatrixElement(myNode,'tz') = zsize * numSegDiv2 * spacing + 0.5; } NScript Object Package/jScript languagenumberspacing wVHRSintnumSegmentsz,AMa]4W}@O{(XFҦV>g'JNjn*pn CAb@@T@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?z,AMa] wVHRS?-1OSM n 럆L<_ї  ControlOˁ CRih[ xVa8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0xVa:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO GFʠN=0P@xV1 }} wVHRSZ`Ez]UO1釥GP>a0@xV, wVHRSZ`Ez]UO GFʠN=@PPxV1 }}z,AMa]Z`Ez]UO1釥GP>a@PxV,z,AMa]Z`Ez]UON\q+nN-K^P0@xVA}}?@ wVHRSZ`Ez]UOY@N\q+nN-K^P@PxVA}}@@z,AMa]Z`Ez]UOY@MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho܂dKu=  Cube xB.;]kI 忞@" . (D B4W}@O{$ G?ŋ G?ŋ tSObjLtrueSpace object synchronization data W5f@(䐈Z 0 PW ׊;Jf|ڢ׊;Jf|ڢBWldMatrixWorld matrix `^02eE{|@ZAZ h= 0 W 偢jD%~`8偢jD%~`8BObjMatrix Object's matrix `^02eE{|@Z(XFҦV" <ĠF姁J]<ĠF姁J]DMatrix,Object's input matrix `^02eE{|@\ $1&KߊPV$1&KߊPV$AutoShowPanelAutoShowPanel$ WAGWAGOwnerMatrixOwner's matrix `^02eE{|@ -V?XM%-V?XM%Material ListMaterial List +N⩊@  -V?XM%偢jD%~`8(XFҦV>g'JNjn*pFC1CX@1@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋ99 ?tveDCE`"IWJ$1&KߊPV 47m2O  Transform <ĠF姁J]pD WAGp 偢jD%~`8PBW ׊;Jf|ڢPBPW 4W}@O{$(XFҦV"-1OSM n"偢jD%~`8(XFҦV>g'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї, ܂dKu=,L "Material List, 1. .;]kI 忞@"3 ( . 4W}@O{$/ -V?XM% (XFҦV"-V?XM%(XFҦV>g'JNjn*pFBCX@1@?) 6G% ,Material List Manager81 -V?XM%P/ 1 &zB}J?t&zB}J?&Active material ID2Active material class ID81 3 4W}@O{$(3 ƐwC,F\t ƐwC,F\Mat Chunk 0BDynamic material input connector |E8y81 (XFҦV"-V?XM%&zB}J? ƐwC,F\(XFҦV>g'JNjn*pFB BX@>@?܂dKu=L Material 0P5.;]kI 忞@" ( ( 4W}@O{$ gYأC۲+?gYأC۲+?Material ChunkMaterial Chunk |E8y(3(XFҦV"(XFҦV>g'JNjn*pFBBX@1@?gYأC۲+?܂dKu=L^ D3D materialȒ .;]kI 忞@"hcz 1 m 0]  4W}@O{$ .F_P#.F_P#Material Output material __W8E#(5 U@Ra.U@Ra.LE2Data$LE2 Data for node >g'JNjn*p՞'fA5-_՞'fA5-_D3DEYED3DEYE =xNT{-1OSM n"(XFҦVLE2Data, 1"J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pFB BX@1@?.F_P#՞'fA5-_J@#QL>g'JNjn*pF4CtCd@@@?-1OSM n 럆L<_ї, .;]kI 忞@U@Ra.>g'JNjn*pFjCCd@T@?Pc|B;]2 Materialg.F_P#T.F_P#Material Output material __W8E#( S^M~b tS^M~b Alpha_shaderAlpha shader RnчINNgY 5OD.GWf5t5OD.GWf5Color_shaderColor shader zdU@AUʂ*g2 qΤIGGItqΤIGGIModel_shaderModel shader @SrE8㲻tg ,S@vTVt,S@vTVNormal_shaderNormal shader Xb"ٲN+4g0зVJiltзVJil Texcoord_shader Texcoord shader lrMH;eghcz 4W}@O{$U@Ra.-1OSM n"(XFҦVLE2Data, 1"8 kF_dkF_Vertex_shaderVertex shader k|eKwj9CqVertexShaderg(> t@*Ntt@*N Constant_shader Constant shader QVO Pk@g? <;vHwt<;vHwAlphaTest Alpha Test type :KrbSxgP@  0S̤@+Rt 0S̤@+RAlphaTestValue"Alpha Test Valueg,S@vTV5OD.GWf5 0S̤@+RзVJil4W}@O{(XFҦV>g'JNjn*pFB BX@1@?S^M~b <;vHw:KrbSxbDisabledEnabledAs OpaqueDisabled.F_P#kF_t@*N-1OSM n 럆L<_ї, U@Ra.>g'JNjn*pFDnC`@\@?qΤIGGI܂dKu=V ,DefaultTexCoordShader1 (gD9f<(gD9f<TCMoveYTCMoveYXR:>a[EH*M\R:>a[EH*M\LE2Data$LE2 Data for node >g'JNjn*pLE2Data, 27wCH7wCHLE2Data$LE2 Data for node >g'JNjn*p(1 wkd@Xywkd@XyTCScaleXTCScaleX1 1 4W}@O{$1 y݀J}Ny݀J}N FloatInput floatTCMoveX荧1 ĦBZĦBZTCScaleYTCScaleY5)rޙG )rޙG ˢLE2Data, 1$LE2 Data for node >g'JNjn*pLE2Data, 4(XFҦVLE2Data, 3"%%u5E b%%u5E bLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 6QA@y:l1QA@y:l1LE2Data, 5$LE2 Data for node >g'JNjn*p$Q/G|]8$Q/G|]8LE2Data, 1$LE2 Data for node >g'JNjn*p-1OSM n#* .;]kI 忞@" x X  < = HQ px`߽ * зVJil0(gD9f<R:>a[EH*M\>g'JNjn*pFBC`@d@?7wCH>g'JNjn*pFCC`@0@?wkd@Xy?%%u5E b>g'JNjn*pF`CCb@\@KAC?y݀J}NĦBZ?зVJil4W}@O{)rޙG >g'JNjn*pFBC`@d@?(XFҦV>g'JNjn*pFBBX@1@KAC?QA@y:l1>g'JNjn*pFg'JNjn*pFCCC`@d@?-1OSM n 럆L<_ї, .;]kI 忞@N5 JVE>:i ShaderTexcoord+ зVJilP* - )#,OrRt)#,OrRTexcoord*Input texcoord brick F 1+5?N>/+ x 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1 r!"I = 8tr!"I = 8Texcoord2,Input texcoord2 brick F 1+5?N>/+ %%u5E b>g'JNjn*pFEDA`@P@?зVJil4W}@O{(XFҦV>g'JNjn*pFEDA`@P@?)#,OrRr!"I = 8-1OSM n 럆L<_ї, L{0nBg)`! % AddP)\Fvq3P)\Fvq3$PrivateShaderData$PrivateShaderData wk0.DX?_`:JF>*Ut:JF>*UInputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/ @#2 |L?¢Fht#2 |L?¢FhInputYInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/  ,8A fKھT,8A fKھResultResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/- 4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1,8A fKھ:JF>*U%%u5E b>g'JNjn*pFD`B`@P@?4W}@O{#2 |L?¢Fh(XFҦV>g'JNjn*pFD`B`@P@?P)\Fvq3wk0.DX?_Gp.HOV-1OSM n 럆L<_ї, L{0nBg)`!  ModulateP)\Fvq3  2x2֣K!dE5t2x2֣K!dE5InputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/ TXGy5֣ tTXGy5֣ FullLightColorInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/  dE9@T dE9@ AttenuatedColorResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/`X 4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFC`@P@?4W}@O{(XFҦV>g'JNjn*pFC`@P@?P)\Fvq3wk0.DX?_M0(rHHTXGy5֣  dE9@2x2֣K!dE5-1OSM n 럆L<_ї, L{0nBg)`! \t *VectorFromComponents P)\Fvq3 Gx:G<l5tGx:G<l5XTX : RtFloat - Scalar floating point value F 1+5?N>/  LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/  ?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/  "PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/  JN۪BP TJN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/   4W}@O{%%%u5E b(XFҦVLE2Data, 1-1OSM n" "PZKLь?8[GVTI%%u5E b>g'JNjn*pFC`@\@? LDs(e4W}@O{Gx:G<l5(XFҦV>g'JNjn*pFC`@\@?P)\Fvq3wk0.DX?_JEG0JN۪BP -1OSM n 럆L<_ї, L{0nBg)`! x 0VectorFromComponents, 1 P)\Fvq3POGx:G<l5tGx:G<l5 Row1jRow1 : RtFloat4 - The four component vector or color F 1+5?N>/h< 0O LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/h< O?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/h< O"PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/h< h< JN۪BP TJN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/@< 4W}@O{%%%u5E b(XFҦVLE2Data, 1-1OSM n" "PZKLь?8[GVTI%%u5E b>g'JNjn*pFCB`@\@? LDs(e4W}@O{Gx:G<l5(XFҦV>g'JNjn*pFCB`@\@?P)\Fvq3wk0.DX?_JEG0JN۪BP -1OSM n 럆L<_ї, /|V FK|T߼ ShaderInput?ڵfA'7(?ڵfA'7(EyePos8Eye position in world space F 1+5?N>/%dLrQn0%dLrQn0EyeDirNormalized eye vector in world space. Note that this is vector pointing from surface to the eye F 1+5?N>/piDM7piDM7EyeDistNDistance from current point to the eye F 1+5?N>/^@A툷^@A툷PositionNShading point position in world space. F 1+5?N>/(7p1M@o=p1M@o=TexCoords3D texture coordinates for given surface point. Any undefined channel (u, v or w) is replaced with 0. Initialized to interpolated vertex texture coords. Replaced by output of TextCoord shader. F 1+5?N>/ }E[2CV)}E[2CV) ColornColor specified by color shader. RGB portion is used to specify color (and is not limited to range 0-1). Initialized to interpolated vertex color. Replaced by output of Color shader. F 1+5?N>/`MOWIB"ѥ`MOWIB"ѥNormalNormalized normal of the surface for given pixel. Normal vector is expected to be in world space. Initialized with denormalized interpolated vertex normal. Replaced by output of Normal shader. F 1+5?N>/HtO{/(HtO{/(TangentNormalized tangent of the surface for given pixel. Tangent vector is expected to be in world space. Initialized with denormalized interpolated vertex tangent. Replaced by output of Normal shader. F 1+5?N>/ qQ@Rj qQ@Rj AlphaZTransparency specified for given pixel. Value should be specified in range 0...1 (full transparency ... fully opaque). Initialized to 1. Replaced by output of Alpha shader. F 1+5?N>/ҥY@e&ҥY@e&LightDirNormalized light direction vector for given pixel. Light vector is expected to be in world space. Note that this is vector pointing from surface to the light. Initialized in the Vertex light shader. Replaced by output of Light shader. F 1+5?N>/B_;OKFJ*rB_;OKFJ*rLightDistDistance of the current point to the light. Initialized in the Vertex light shader. Replaced by output of Light shader. F 1+5?N>/HRSEpFCHRSEpFCLightColorLight color for given pixel. Replaced by output of Light shader. F 1+5?N>/~__um1CR¬5~__um1CR¬5TangentToWorldTransformation matrix from tangent space to world space for vectors. F 1+5?N>/ٻzEuSٻzEuSWorldToObjectnTransformation matrix from world space to object space F 1+5?N>/SaI7֏bSaI7֏bObjectToWorldTransformation matrix from object space to world space. Note that this is inverse matrix to WorldToObject. F 1+5?N>/= 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1y"WMB]y"WMB]*ObjectToWorld_NormalA 3x3 Transformation matrix for normal and tangent vectors from object space to world space. F 1+5?N>/)5FYP)5FYPObjectToClipPerspective transformation matrix from object space to screen space. F 1+5?N>/x*yIx*yIWorldToClipPerspective transformation matrix from world space to screen space. F 1+5?N>/#h"mO('#h"mO('TexCoords2`A secondary set of texture coordinates for given surface point. Any undefined channel (u, v or w) is replaced with 0. Initialized to interpolated second vertex texture coords. F 1+5?N>/B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4p1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3 qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatHRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4%%u5E b>g'JNjn*pF CA`@0@?)5FYPٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x44W}@O{(XFҦV>g'JNjn*pF CA`@0@?x*yI?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3#h"mO('%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3-1OSM n 럆L<_ї, piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatz€ L& 4 InputFloat荧+kCY5]BtOt+kCY5]BtO FloatInput float=uM@n;LATuM@n;LAFloatBrickFloat brick F 1+5?N>/PO=\/3Kf͈,t\/3Kf͈,oFloatOutput floathQGqiFE0IN tGqiFE0IN Input usageVThe usage specification for this parameterHQ4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEX%%u5E b>g'JNjn*pFtBb@X@?+kCY5]BtO4W}@O{(XFҦV>g'JNjn*pFtBb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї, z€ L& y InputFloat, 1X+kCY5]BtOp8\0Z0ZuM@n;LAP0O8\\/3Kf͈,p]GqiFE0IN p0Z 4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEY%%u5E b>g'JNjn*pF8Cb@X@?+kCY5]BtO4W}@O{(XFҦV>g'JNjn*pF8Cb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї, z€ L& 3 InputFloat, 21 +kCY5]BtOpA A uM@n;LAP \/3Kf͈,pGqiFE0IN pA px4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEX%%u5E b>g'JNjn*pF'b@X@?+kCY5]BtO?4W}@O{(XFҦV>g'JNjn*pF'b@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї, z€ L& \ InputFloat, 35+kCY5]BtOp@ XXuM@n;LAP @ \/3Kf͈,pZ GqiFE0IN pX`߽ 4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEY%%u5E b>g'JNjn*pFXb@X@?+kCY5]BtO?4W}@O{(XFҦV>g'JNjn*pFXb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї, ܂dKu=Þ&DefaultModelShader R:>a[EH*M\7wCHn y݀J}NShininessk m 4W}@O{$)rޙG (XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1@ 4 Hm9E4 Hm9E ColorInput color -n,NjlpgSpecularColorؼ $Q/G|]8-1OSM n#( .;]kI 忞@"p G R $2 ( @ (WqΤIGGI2  R:>a[EH*M\>g'JNjn*pFCA`@T@?7wCH>g'JNjn*pF[C)C`@T@?%%u5E b>g'JNjn*p^CCb@T@y݀J}N Ԡ>KC~B?y݀J}NA4W}@O{)rޙG >g'JNjn*pFCA`@T@?(XFҦV>g'JNjn*p^BCX@1@y݀J}N Ԡ>KC~B?QA@y:l1>g'JNjn*pFAC`@@@?4 Hm9E-n,Njlpg?$Q/G|]8>g'JNjn*pFC`B`@T@?-1OSM n 럆L<_ї, .;]kI 忞@qΤIGGIL{0nBg)`! ĞPhong Lighting P)\Fvq3| :6~KAMt:6~KAMDiffuseColorzDiffuseColor : RtFloat4 - The four component vector or color F 1+5?N>/PZ R]JĀ7tR]JĀ7SpecularColor|SpecularColor : RtFloat4 - The four component vector or color F 1+5?N>/P\ vJ ~~tvJ ~~ShininessdShininess : RtFloat - Scalar floating point value F 1+5?N>/P $&*2HӁdńt$&*2HӁdńNormalVectorjNormalVector : RtFloat3 - The three component vector F 1+5?N>/PZ[G {/,tZ[G {/,EyeDirectionjEyeDirection : RtFloat3 - The three component vector F 1+5?N>/Pxw!  zE%Sft zE%SfLightDirectionnLightDirection : RtFloat3 - The three component vector F 1+5?N>/P w!XCLtw!XCLLightColorvLightColor : RtFloat4 - The four component vector or color F 1+5?N>/PP B#A)[(dT B#A)[(dResultColorxResultColor : RtFloat4 - The four component vector or color F 1+5?N>/h\X p G 4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1 %%u5E b>g'JNjn*pFCLb@d@?4W}@O{:6~KAMZ[G {/,(XFҦV>g'JNjn*pFCLb@d@?P)\Fvq3wk0.DX?_|X?dK;, B#A)[(dw!XCL$&*2HӁdńvJ ~~-1OSM n 럆L<_ї, R]JĀ7 zE%Sf/|V FK|ŞShaderInput?ڵfA'7( %dLrQn0piDM7^@A툷p1M@o= hR}E[2CV)| 4 `MOWIB"ѥ HtO{/( qQ@Rjx` ҥY@e&xw! B_;OKFJ*r0?< HRSEpFC ~__um1CR¬5ٻzEuSSaI7֏bR 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1y"WMB])5FYPx*yI#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4p1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3 qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatHRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4%%u5E b>g'JNjn*pFC`@0@?)5FYPٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x44W}@O{(XFҦV>g'JNjn*pFC`@0@?x*yI?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3#h"mO('%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3-1OSM n 럆L<_ї, piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloat]IDjdcƞInputColorؼ "uI̎4)]t"uI̎4)] ColorInput color -n,Njlpg \PtIL;I1T\PtIL;I1ColorBrickColor brick F 1+5?N>/Z q\W D ɭtq\W D ɭoColorOutput color -n,Njlpg GqiFE0IN p$2 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SPECULARCOLOR"uI̎4)]\PtIL;I1%%u5E b>g'JNjn*pFX@@b@X@?4W}@O{(XFҦV>g'JNjn*pFX@@b@X@?q\W D ɭ-1OSM n 럆L<_ї, z€ L& ' InputFloatk +kCY5]BtOp uM@n;LAP\  \/3Kf͈,p GqiFE0IN p ( 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SHININESS%%u5E b>g'JNjn*pFPb@X@?+kCY5]BtOA4W}@O{(XFҦV>g'JNjn*pFPb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї, fC{o( ShaderModelp qΤIGGIP(Wh\X C/-~CxrEtC/-~CxrE Color$Input color brick F 1+5?N>/p @ 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pF DA`@P@?4W}@O{C/-~CxrE(XFҦV>g'JNjn*pF DA`@P@?-1OSM n 럆L<_ї, qΤIGGI܂dKu=T* "SolidColorShader .;]kI 忞@"@ 0] 4W}@O{$%%u5E b-1OSM n"@ "uI̎4)]C& P 5OD.GWf5Y (XFҦVLE2Data, 1""uI̎4)]-n,Njlpg?%%u5E b>g'JNjn*pFDC`@0@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFBSCX@1@?-1OSM n 럆L<_ї, .;]kI 忞@"YMڿ$Zߦ+ ShaderColor0 5OD.GWf5PP rK C/-~CxrEp0 @ 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1"%%u5E b>g'JNjn*pFChB`@P@?5OD.GWf54W}@O{C/-~CxrE(XFҦV>g'JNjn*pFChBb@@T@?-1OSM n 럆L<_ї, ]IDjdc- InputColorC& "uI̎4)]p8* * \PtIL;I1PrK 8q\W D ɭp8) GqiFE0IN p* 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1"GqiFE0IN DIFFUSECOLOR"uI̎4)]\PtIL;I1%%u5E b>g'JNjn*pFBdBb@X@?4W}@O{(XFҦV>g'JNjn*pFBdBb@@T@?q\W D ɭ-1OSM n 럆L<_ї, ܂dKu=ConstantColorV .;]kI 忞@#(   4W}@O{%J@#QL(XFҦVLE2Data, 1"-1OSM n"("L t@*Nt@*N Constant_shader Constant shader QVO Pk@(> PI "uI̎4)]5 "uI̎4)]-n,Njlpg????4W}@O{(XFҦV>g'JNjn*pFBCX@1@?J@#QL>g'JNjn*pFCCb@@P@?t@*N-1OSM n 럆L<_ї, .;]kI 忞@NH}=e!yR  ShaderConstant+ t@*NP("L O -wA 2t-wA 2 Color$Input color brick F 1+5?N>/+ ( 4W}@O{$(XFҦV"(XFҦV>g'JNjn*pFDCb@@T@?-wA 2t@*N]IDjdc InputColor5 "uI̎4)]p* J J \PtIL;I1PO * q\W D ɭp+ GqiFE0IN pJ  4W}@O{$(XFҦV"GqiFE0IN "uI̎4)]\PtIL;I1(XFҦV>g'JNjn*pFC8Bb@@T@?q\W D ɭb=h0CRf .Material Chunk Manager gYأC۲+?P y\ !EJGWMt!EJGWMMaterial IndexMaterial Index F 6~qK;2t&t6~qK;2t&Active Info4Active and validity flags NOI/)[& ( 4W}@O{$5 8!fJS"4t8!fJS"4Mat Item 0BDynamic material input connector (XFҦV"!EJGWM6~qK;2t&NOI/)[&2/ChˢjC(XFҦV>g'JNjn*pFBBX@>@?8!fJS"4gYأC۲+?n':hF% I+ Editable shape < VIQGіF͡TtVIQGіF͡TInput Mesh*Input Mesh for Shape >W5f@(䐈+# +# tveDCE`"IWJPBV H /nkUCEHLjt/nkUCEHLjSelection.Mesh selected elements >`g4RJLUD+# (D 4W}@O{$/nkUCEHLjVIQGіF͡T>W5f@(䐈ٸ*ćIC7U UE>I> I>E>I>> I>>E>U> U>E> h* 6H?BJ y'HN LjUb)R 8{EE%D7[    ZpߘHXO???89Ig"????????????????????????tveDCE`"IWJ8ʯȥJH|o7 gH]kDwPפ|`d8pM*#ͺO|/tfѭ8Lwb"q`