*Разбиение рабочего стала на плитку движущуюся волнами. (openGL)#13#10- - - - - - -#13#10Автор: sla8a#13#10sla8a@tut.by Make(delphi) ver(4.04 build 184) Add(MainForm,15261923,14,231) { Left=20 Top=105 Width=800 Height=800 Caption="" BorderStyle=0 WindowsState=2 Position=1 Point(Handle) Point(doWidth) Point(doHeight) Point(onKeyDown) link(onCreate,16299401:doEvent1,[]) link(onKeyDown,13460630:doCase,[(62,258)(62,321)]) } Add(GL_Main,12986311,231,259) { Color=0 link(onInit,4593655:doInit,[]) link(onViewPort,3410847:doPerspective,[(271,272)(271,384)]) link(Handle,15261923:Handle,[(237,237)(55,237)(55,288)(20,288)]) } Add(Timer,9506849,84,273) { Interval=33 Enable=1 link(onTimer,1049454:doEvent1,[]) } Add(GL_GTools,771925,175,273) { Point(doClear) Point(doPushMatrix) Point(doPopMatrix) } Add(Hub,1049454,133,273) { OutCount=5 link(onEvent1,771925:doClear,[]) link(onEvent2,771925:doPushMatrix,[]) link(onEvent3,13752829:doFor,[(154,293)(154,160)]) link(onEvent4,771925:doPopMatrix,[(161,300)(161,293)]) link(onEvent5,12986311:doFlip,[(217,307)(217,279)]) } Add(Hub,16299401,63,245) { OutCount=5 link(onEvent1,4161604:doWork1,[(82,251)(82,218)(-40,218)(-40,265)]) link(onEvent2,15660779:doCalc,[(119,258)(119,97)]) link(onEvent3,12986311:doInit,[]) link(onEvent4,12986311:doViewPort,[]) link(onEvent5,9506849:doTimer,[]) } Add(GL_GluTools,4593655,280,259) { link(onInit,15052084:doEnabled,[]) } Add(GL_Perspective,3410847,280,378) { Fovy=50 zFar=0 link(Aspect,4161604:Var1,[(286,362)(-29,362)]) } Add(GL_Options,15052084,322,259) { Flag=2 link(onEvent,12153098:doEnabled,[]) } Add(MultiElement,4161604,-35,259) { link(onEvent1,15261923:doWidth,[]) link(onEvent2,15261923:doHeight,[]) } BEGIN_SDK Add(EditMulti,14495888,10,10) { EventCount=2 WorkCount=1 VarCount=1 Width=230 Height=179 link(doWork1,10190258:doEvent1,[(30,16)(30,90)]) link(Var1,4020073:Result,[(16,156)(125,156)]) } Add(Hub,10190258,42,84) { link(onEvent1,13019782:doData,[]) link(onEvent2,4020073:doOperation,[]) } Add(Math,4020073,119,91) { OpType=3 link(onResult,11320503:doData,[]) link(Op1,13793784:Var2,[]) link(Op2,10079713:Var2,[]) } Add(DoData,13019782,77,84) { link(onEventData,14495888:onEvent1,[(162,90)(162,16)]) link(Data,13793784:Var1,[(83,68)]) } Add(DoData,11320503,168,91) { link(onEventData,14495888:onEvent2,[(227,97)(227,23)]) link(Data,10079713:Var3,[(174,75)]) } Add(GetDataEx,10079713,126,70) { link(Data,7283156:Height,[]) } Add(GetDataEx,13793784,119,63) { link(Data,7283156:Width,[]) } Add(Screen,7283156,119,21) { } END_SDK Add(GL_Options,12153098,364,259) { Flag=10 link(onEvent,4731950:doCapture,[]) } Add(GL_Texture,11641649,742,357) { UseList=0 link(Bitmap,8543845:Bitmap,[]) link(Index,12780169:reCalc,[(755,349)(769,349)]) } Add(Bitmap,8543845,742,266) { } Add(MultiElementEx,3123062,595,91) { Mode=2 link(Vertex,8523688:getVar,[]) link(X,12611775:Position,[(608,72)(646,72)(646,197)(307,197)]) link(Op2,8652752:Position,[(615,80)(634,80)(634,195)(405,195)]) } BEGIN_SDK Add(EditMultiEx,4757679,21,21) { WorkCount=#5:##add|8:##select| VarCount=#7:##count| DataCount=#6:Vertex|1:X|3:Op2| Width=1189 Height=354 Point(##add) Point(##select) Point(##count) link(##add,3772376:doValue,[(105,27)(105,160)]) link(##select,49425:doPushMatrix,[(37,34)(37,279)]) } Add(GL_VertexTexture,15091509,525,273) { T=1 link(onTexCoord,5186772:doVertex,[]) } Add(GL_Vertex3D,12750269,399,273) { link(onVertex,3370408:doTexCoord,[]) } Add(GL_VertexTexture,3370408,441,273) { S=1 T=1 link(onTexCoord,14178704:doVertex,[]) } Add(GL_Vertex3D,14178704,483,273) { X=0.64 link(onVertex,15091509:doTexCoord,[]) link(X,10797278:Var2,[]) } Add(GL_VertexTexture,4129469,357,273) { S=1 link(onTexCoord,12750269:doVertex,[]) } Add(GL_Vertex3D,5186772,567,273) { X=0.64 Y=0.64 link(onVertex,5225142:doEnd,[]) link(X,14053302:Var2,[]) link(Y,14053302:Var3,[(580,250)]) } Add(GL_VertexTexture,16041036,273,273) { link(onTexCoord,12467829:doVertex,[]) } Add(Gl_End,5225142,609,273) { link(onEnd,8820046:doPopMatrix,[]) } Add(Gl_Begin,4134957,231,273) { BlockType=7 link(onBegin,16041036:doTexCoord,[]) } Add(GL_Vertex3D,12467829,315,273) { Y=0.64 link(onVertex,4129469:doTexCoord,[]) link(Y,2875898:Var2,[]) } Add(Gl_Translate,11268565,189,273) { X=-3.9 Y=2.3 link(onTranslate,4134957:doBegin,[]) link(X,3772376:Value2,[]) link(Y,3772376:Value3,[]) link(Z,4977870:Result,[(209,230)(690,230)(690,348)(1168,348)]) } Add(GL_GTools,49425,91,273) { Point(doPushMatrix) link(onEvent,13352146:doCallList,[]) } Add(GL_GTools,8820046,651,273) { Point(doPopMatrix) link(onEvent,692234:doEvent1,[]) } Add(GL_CallList,13352146,140,273) { link(onCallList,11268565:doTranslate,[]) link(Index,3772376:Value1,[(146,198)(188,198)]) } Add(Counter,3165427,994,280) { Max=180 Step=20 link(onNext,6401437:doEvent1,[]) } Add(IndexToChanel,436633,952,280) { Point(Index) link(onEvent1,3165427:doNext,[]) link(onEvent2,3165427:doPrev,[]) link(Index,11674062:Value,[]) } Add(Memory,11674062,952,238) { Default=Integer(0) } Add(Case,4122745,1064,287) { Value=Integer(180) link(onNextCase,5955286:doEvent,[]) link(onTrue,14512797:doWork2,[(1103,300)(1103,329)(901,329)(901,251)]) } Add(ChanelToIndex,14512797,910,238) { link(onIndex,11674062:doValue,[]) } Add(IndexToChanel,5955286,1113,287) { Count=1 link(onEvent1,14512797:doWork1,[(1150,293)(1150,229)(901,229)(901,244)]) } Add(Hub,6401437,1036,280) { link(onEvent1,4977870:doCalc,[]) link(onEvent2,4122745:doCase,[]) } Add(GetDataEx,2875898,322,245) { Angle=3 link(Data,4757679:Vertex,[(27,250)]) } Add(GetDataEx,10797278,483,245) { Angle=3 link(Data,2875898:Var3,[]) } Add(GetDataEx,14053302,567,245) { Angle=3 link(Data,10797278:Var3,[]) } Add(MT_MultiMem,3772376,182,154) { Count=3 link(onData,11767699:doOperation,[]) } Add(IndexToChanel,2007039,861,280) { Count=1 Point(Index) link(onEvent1,436633:doEvent,[]) link(Index,10422456:Var2,[]) } Add(Memory,8192627,861,224) { Default=Integer(1) } Add(Counter,10339750,777,224) { Point(doMax) link(onNext,15730401:doEvent,[]) } Add(IndexToChanel,15730401,819,224) { Count=1 Data=Integer(0) link(onEvent1,8192627:doValue,[]) } Add(Hub,692234,700,273) { link(onEvent1,12164332:doEvent,[(721,279)(721,223)]) link(onEvent2,2007039:doEvent,[]) } Add(IndexToChanel,12164332,728,217) { Point(Index) link(onEvent2,10339750:doNext,[]) link(Index,10422456:Var1,[(734,205)(806,205)(806,271)]) } Add(GetDataEx,10422456,861,266) { link(Data,8192627:Value,[]) } Add(MathParse,4977870,1162,280) { DataCount=1 MathStr="%1 / 400" } Add(Math,11767699,539,154) { link(onResult,10339750:doMax,[(768,160)(768,251)]) link(Op1,4757679:X,[(545,88)(34,88)]) link(Op2,4757679:Op2,[(552,75)(41,75)]) } END_SDK Add(For,13752829,546,154) { End=1 link(onEvent,3123062:##select,[(586,160)(586,104)]) link(End,3123062:##count,[(559,139)(601,139)]) } Add(For,12611775,301,91) { link(onEvent,7863548:doCalc,[]) link(End,9348490:getVar,[]) } Add(For,8652752,399,91) { link(onEvent,2941008:doCalc,[]) link(End,15252219:getVar,[]) } Add(MT_AddData,7320572,518,91) { Count=3 InputMT=3 link(onAdd,3123062:##add,[]) link(Data1,6675366:reCalc,[]) link(Data3,7863548:Result,[(538,79)(556,79)(556,134)(349,134)]) } Add(MathParse,7863548,343,91) { MathStr="3.72 - %2 - %1 * %2" link(onResult,8652752:doFor,[]) link(X2,3094716:getVar,[]) } Add(ScreenShort,4731950,406,259) { link(onCapture,16175515:doEvent1,[]) } Add(Bitmap,16254062,651,217) { } Add(Hub,16175515,448,259) { link(onEvent1,16254062:doLoad,[(471,265)(471,223)]) link(onEvent2,6120059:doFor,[]) } Add(Img_Copy,13347279,651,266) { Width=64 Height=64 link(onCopy,6583005:doEvent1,[]) link(Source,16254062:Bitmap,[]) link(Y,5238231:Result,[(671,254)(694,254)(694,319)(531,319)]) } Add(For,6120059,483,266) { Point(doStep) link(onEvent,5238231:doOperation,[]) link(onStop,16254062:doClear,[(519,279)(519,230)]) link(End,11796387:getVar,[]) } Add(For,3542027,567,266) { Point(doStep) link(onEvent,6207859:doOperation,[]) link(End,2352011:getVar,[]) } Add(Hub,6583005,700,266) { link(onEvent1,8543845:doLoad,[]) link(onEvent2,11641649:doCreate,[(728,279)(728,363)]) } Add(Screen,9661907,154,35) { } Add(MathParse,13852053,245,91) { DataCount=1 MathStr="9.926 / %1" link(onResult,12611775:doFor,[]) } Add(LineBreakEx,9333857,203,133) { Caption="x" Type=3 link(_Data,13383142:Result,[]) } Add(LineBreakEx,4950516,161,133) { Caption="y" Type=3 link(_Data,15660779:Result,[]) } Add(LineBreakEx,15252219,406,63) { Caption="x" Type=2 } Add(LineBreakEx,9348490,308,63) { Caption="y" Type=2 } Add(LineBreakEx,10194703,245,133) { Caption="block" Type=3 link(_Data,13852053:Result,[]) } Add(MathParse,15660779,161,91) { DataCount=1 MathStr="%1 div 64 + sign (%1 mod 64)" link(onResult,13383142:doCalc,[]) link(X1,9661907:Height,[]) } Add(Math,5238231,525,266) { OpType=2 Op2=64 link(onResult,3542027:doFor,[]) } Add(MathParse,13383142,203,91) { DataCount=1 MathStr="%1 div 64 + sign (%1 mod 64)" link(onResult,13852053:doCalc,[]) link(X1,9661907:Width,[(209,76)(160,76)]) } Add(Math,6207859,609,266) { OpType=2 Op2=64 link(onResult,13347279:doCopy,[]) } Add(LineBreakEx,2352011,574,238) { Caption="x" Type=2 } Add(LineBreakEx,11796387,490,238) { Caption="y" Type=2 } Add(MathParse,2941008,448,91) { MathStr="-4.96 - %1 * %2 * (-1)" link(onResult,7320572:doAdd,[]) link(X2,4070075:getVar,[]) } Add(LineBreakEx,3094716,350,63) { Caption="block" Type=2 } Add(LineBreakEx,8523688,595,42) { Caption="block" Type=2 } Add(LineBreakEx,4070075,455,63) { Caption="block" Type=2 } Add(Case,13460630,77,315) { Value=Integer(27) link(onTrue,15261923:doClose,[(130,328)(130,357)(4,357)(4,258)]) } Add(MathParse,6675366,511,35) { MathStr="%0 + 1" ResultType=0 Point(reCalc) } Add(MathParse,12780169,756,308) { MathStr="%0 + 1" ResultType=0 Point(reCalc) }