*Упращенная модель солнца как пример построения эффекта плазмы в HiAsm#13#10___________#13#10Автор: MAV#13#10e-mail: andreimaw@yandex.ru Make(delphi) ver(4.05 build 186) Add(MainForm,15261923,77,42) { Width=0 Height=0 BorderStyle=0 Point(MouseX) Point(MouseY) Point(onResize) Point(Handle) Point(doWidth) Point(doHeight) link(onCreate,5584133:doEvent1,[(131,62)(131,27)]) link(onResize,3213527:doWork1,[(179,69)]) } Add(GL_Main,12986311,196,126) { Color=0 link(onInit,14989432:doEnabled,[]) link(onViewPort,8468442:doEvent1,[(233,139)(233,188)]) link(Handle,15261923:Handle,[(202,100)(97,100)]) } Add(Timer,9506849,56,224) { Interval=5 Enable=1 link(onTimer,1049454:doEvent1,[]) } Add(GL_GTools,771925,182,224) { Point(doClear) Point(doPushMatrix) Point(doPopMatrix) } Add(GL_GluTools,4593655,385,126) { Texture=0 link(onInit,6976573:doEnabled,[]) } Add(Hub,1049454,105,224) { OutCount=5 link(onEvent1,771925:doClear,[]) link(onEvent2,771925:doPushMatrix,[]) link(onEvent3,16576874:doWork1,[(147,244)(147,258)]) link(onEvent4,771925:doPopMatrix,[(152,251)(152,244)]) link(onEvent5,12986311:doFlip,[(167,258)(167,146)]) } Add(Hub,16299401,98,126) { InCount=4 OutCount=3 link(onEvent1,12986311:doInit,[]) link(onEvent2,3213527:doWork2,[]) link(onEvent3,9506849:doTimer,[(144,146)(144,191)(50,191)(50,230)]) } Add(HubEx,3213527,175,133) { link(onEvent,12986311:doViewPort,[]) } Add(GL_Light,6976573,441,126) { Diffuse=65535 Specular=0 link(onEnabled,6976573:doMove,[(487,132)(487,166)(427,166)(427,139)]) link(onMove,11789757:doResize,[]) link(Point,5501973:Point3D,[]) } Add(GL_Options,1571481,301,126) { link(onEvent,15984634:doEnabled,[]) } Add(GL_Options,15984634,343,126) { Flag=1 link(onEvent,4593655:doInit,[]) } Add(GL_Perspective,3410847,336,182) { Fovy=40 zFar=300 link(Aspect,4161604:Var1,[(342,164)(34,164)]) link(Fovy,10531963:Result,[(349,170)(267,170)(267,366)(188,366)]) } Add(GL_Point3D,5501973,441,84) { Z=1 } Add(GL_Texture,7256744,553,133) { UseList=0 Index=1 link(onCreate,12182977:doWork1,[]) link(Bitmap,7352122:Value,[]) } Add(Bitmap,5604576,497,84) { Picture=[ZIP3630000078DAED7A875754E7D6F72ECF39736698A188BDC58E5D638CB11B35D1682C516389628B1A45052C5114A488D21450AA604314B144D3AE494CA231E6E6C69858A322D2990EA837DF7FF03DE72079BD6B7D57BDEF9BF7FDD65DEB9DF5306B981938BFBD9FDFDEFBB79FB3C74D1D32108CC710F9D353FEBCFEE407A175E3074F3EFF1F7CE09FF22F08FEF7F19FF13CFE5BE22663C305003FB5F437F1CFA2D47F8FBB490729A1AAC6320168001600B3F1AC196F2A4FD9454F1B05FF9F22B3E9EABAC351072997CD58BE000100FEC60B3F40BFA6F7E5F269B24BB708758B88748B1A2315FF4718F2C7B51875AF9A0C3C568916A119404B805600ED8C25735F1BB910DB00B6416A0DD4122810D0300DADA89B63366C6FDC9DC60DFAD33D4D4F91F98F0B2986C37D9ABCDDDC80DA11A0134057801E00BD807A0206010501F704D11D44107237A0CE40ED005B1B7F120068EC0B9A9FA2D99F9532E929CC8D681B57A3B7A5F7FC0C0CD2DB1D00BA000401F40378196930F250142341D5179A8783360CCDAFA13604B55740ED270D016EB4A20560A0C1B4466A356E04FF978944FFE86473939FFD8C6B496FCB8BB6446887F092E1EA0100431147038E053101B4C968994EB699E83B0BFDDE858019E83F9DFCA792DF64F27D137D46E95628BD41E902D451F2AA89547E466898FECB266093CF4DC63F94AEF6431DB6BC4473D2BDDD1674D8DD09FA230C46188DF016E12C54E691B6887C9753E007D432845A8752EB706C138E6DD762DB95D8E67D6CBB885ACFA5C069E83B4EEE853401450F109D815F026EAB5BA15FE5E95DF8CF11E90FF0E627DCC6E620434F3A0A3AE0136EF7970E27188F308D70018915640E47BF08D1661B778DE79E49DC3B85FBECE6BEBBB9570A052572F718EAB199BA6DC02EABB1FD526CF12EFA4E406D18A80341ED036A6F9D51BA21AD91FD01F5A006540D0220EA0EFD97F6421871A4C7A69E4F2472D1114457E0EE40BD110722BD86F83AE034E485A8AC616D8BF04D14ADF672D73C65E0611E5EC0E38AF8CD6231F19478F39478BD8846E4D3AB7BF0D5647A258EFA4751D046ECB80A5ACC47DF696079034DA3D034144C83C1D40F946EC6463433FC663160887F914BD484DF203CB604E525DD45FAFF1F8AE631E833017DA6A23217941560DA4CD664A545AED2EDA83AE8AC32E69C69F2D7DABBDF9A822F88A597F8FD1F9425DF8BF95FD38CB3F456218EDF47E3B269F41E7A2D99FAC570978DD47625052E44FF59689D0296F1A08D046D30AABD743AE949F88F70D01A37E285134E63CC5A0DE6B403532FB0BC867E6F60E07494EC6DB7945AAD22FF30B246B35F9ADAEAB01A74561971DE34F5476DC1CF3E1F5CB386DFB26CBA6D8AFC4DD9764B445EE78D3F890F2E50F02738BB986616D13B4779F2111A97CF43F6509F9DD4398ADA8563F3E5E03B17AC93C1E70D3D59A97D813A1999CDD7E0F07F44343E9FF98D39C76C806F0D6A77B40EC18009D87A26765A8A3DC35812A04F2C75DE293AEE119D8F883E9F28232EA8D3AE5817DFF20FBD6F8B78E0135F6E49AEF449AB32A757A8A90F38E10E455EC5B0EF60E5795EFE152EFD9C823FC7599FD25BC538F2200DCCA4A024ECB4155B85604030F8BD033EE3406627D14D6609D4B39CADC904F102F81BFD6F329CDF024567B40C86E66F609B77A9F322EA174E43B7D3D8341C9DC9C3F2C49863CA84BFA8532F59E6FC627EFF9635BCD4165969D951E39356EB9B516BCBB65BB3EDE69C1A25A392769550DC0DDCF2337FF813AEFB91427EA0C59768E6D738F1631A711407E642AF5DD83912DB8460E03CB0BD05A621A8E397C9B9795320985EACAE35664ECD607E2B5083D07734B69E062F2DC2DEA1F85A0CBEB117A71CD03930FB8CB2FC1B2DF48A79FD35CB87BFF96C2DB5C6575B93ED9634BB5F862320DB65CB7198735C5A9E43D9E7E09C1A4A2FA7A4128CBF8BD17770E36D0AB946F37F82A91770DCA738A2885EC9C7DEC9D46513C91CEB3B45E207EA61C88FE64646B5366DC18BE017C697FD80DAC8848001E3B1ED6CECBE02066CC6110938791FCD3BC1CB3EE375DF2971BF682977CCA9F7AC690F6C7BAA7CB31C7ED94E5BAEDB96EBB165B9FC729C967CB776C8A31CF2F04117E73938B39653AB31A10AA22A705D092FBD89B3AFD0A48B38FE331E750C076760EF58ECB81AFD678226F35B0F3DF4A085512BFFC0FFDC44D4987C34DD6AEE8C3E43A0F9DBD061010585E0CB11342289A6E6F3E28F79FD45B1FD5735E38E39BFDC72B8D2F7488DF588C35AE0F63BE46E76C0EB9FE7F1CF74D9B25D963C8F7AD02B0AEAF8483D1DF1E27E37ED75518293A26A685D39ADB88FF36FE2ACBFE1F46F70F2191CB31F5F49A2AEEB740A69A3117B4B2965B4BE014F5148BCC0168827C1CBDDD03A1C03A742FB05D87D15F6FD9086C4F3A42C5E7456D974594DBCA9E694998ED84D275D3E67BCDA475ECB098F76CCE373D0E39BEDF24D776AE92EB1C749D92E3EE0A1827A28A88303759CE1A6383B6CA8813555B0A28C96DCC345D730F8079C738EDF2EA29199D4278A5B2F26ED4D24D9AD77360461B37F0C017C367BF009FE667AB5320F05DF49D06A1E765C06DD43B1EF361A9326E69F141F7E2F126F8AEC72A5D0A99EAE533F6E50CFD69B8BEBCD055E7396DB94E25077D4525CADD85EC34976CE7463BE17F67B699F5BECF660A403C2ECB0A616D754F39A725A7D173FF805977C47733EA50987E99544EAB0166DEF80188EBA1A6CAF97FE2785407DB12A208CCAD51CB00B2A2FA3CF580C98092D9740FBB5D8238646ECE5792779DD45DE714D64942987ECCA098FE9748376A25E3DEC56B25C22C949B1351451411BCAE9C34A8AACE6043BA43A30DD4DBB9DB4D3855B1CB0CE0EEBEDB4B9963757D1A6325E7F4BACBE828BCED3D4E3F45ABA8C62F65F00EA78E001BAD2D6E5568001C9FC0CFEE03FE0B71AE5AF13703F54C781D490012BB0CD26EC914423F368CE47BCF62247DFE0B40AB1DFC5C7EAF858031DF4F25E2726D5A2E4F6864A5C5306AB1EE09A725C57C95B2A21D64EDB1D10EBA06887D862C7F50EDAE454B6B94474AD1259C99BEF8A75BFD2F28B34F3348DC826E9A5162BD03205D4A1C0B283686F50C86A6CC173FD8F06C76C86D55D81A45697353118FD3760DB04EC994BA38FEA1BBDFA1247DDA2DD95B8CF0587EA607F3DEC7553921D63AA51825FFD009696C2E2FBF8FE7D5C55866115F861156EAEC14D35B8BE9A36D4E246274548F06E8E71886D9522A244ACBF8E1F5CE2D91FF3F883D42F81DB8562C06CB08C45F565E02E0698460A29CFE8CEF0496FA81A2957E6AEDE80A351998D96B518108F1DB2A9DF711C7B96E67CCD213FD1D6DF28A14AEC75714E1D65B8619703B7D7E2966A082B876525105C82F3EF61F03D58761F42CA2054AE720CA98495557AE4AEB743848B635C1867E7D82A11755F6CBC416BFE4A8BBEE06945627806F7DCAA17826653C03A0CB43EC01D8C1EC7DA1402CFCE9F16A331E9AA0B7B9C84EAFBE81381CD252D0B79F06738F15B9EF79308B9419B4A30B692921DB4DB8DBB9C90508BDBA47B2B7055292C2981F972DDA385F7607909AC2CC355E5BCB28C9697C38A2A585D0DEBA5A512BF5BE6524EAC153B1F2851B779D3552169197C96A71CA4E149DC631DB69B4781E3D1FA0AA95294B6315A66D3F3BA633634B3141EBD1047829801E610F48FA176B9D4E7231A7581A6FDCC8B6EF39A12FAB002A3AA71BB1D763A60BB1DB7D5D287322B3EC0A5F721F82EBC771716DEC165F770D57D5C5D06ABCB786505ADAC8055551056031BECBCD5C9B16E4A762B7BE4AA56924B45FC0D11F9570EFB921615D3D44C1E128D3D96519BE9E82F9BB5FE203A1951A03D0FBF6A304D36B37DF54E5099835A2835932AF1300E3E4713FE46736FF1B207145A4E9BAB38B206A3EDB0CD8E11B5B0A11AD756E28A525A5802F36EC3DC5BB0F037F8A004D6944258995C185A81A195145625F94F5B9C14E3C6442FED7573BE4739E8E6DC2A25BD4424DDE098CB62DD395E5CC89377F1ABEBA9CB026CF1165A86E8C5484FA4E667E26F244F80718620FBD971C873490BC3E6C914248BCBD738ED2A2FBCC32165B4A14A6216510EDE6AC7CDD5B8AE0A422A51C6ECFC129C730766DEC259B720F836ACB807610F7043196EAED0D7A64ADA2213949DE25C94E4C5BD5ECAF78AA3F54A513D1F7188BC0A25FBBE48BBCEF1DFF3FA4F45F0017A633B0D584DEDDE45EB6810BD0C2DA13D93FF6CC44873E3246110C00410F3D1671DB54EE57EA769DC457EF73A2FBF2F53226DA9C1C85A8A3492E18735B8B61A9697C1C27B38F72ECCBA01336EC0AC9BB8E026ACB803E1A5B0B98CA22A31A606E26A68871D131C98ECA63D5ECAABA7C2875CFC502DAEE7631E3A522B0E56887D7795F49F95D86F79ED699E9DC123B6729725E4F7162803503F6FD1F059FA4169CAFC52BB0E419C8CA6C5E8BF953AE5F2AB9FF3E41F78C12D5E53461135185B4BB10E8E75609403E5AF61957A902EBF0F4BEF41F06F30EF3ACCB90EC13771E55D5A771FB656605C3524DA61975D96304C75419A17B2EAE84003163DE2E2477CE2A128921B61570AAA9443F7D5DCEB6AF20F1CF117B1EC907853067228F9CB72FC2AE972CEFCCF1B61F9BE8AFA914E4BC09E802350CC44EB1A6C2D3BF1A334E66B9AF9332DBF274B2AC7DA31D149492E4C72C20E27C648FE57437825ACAD80B525B8B20496FE068B6EE1D25B1872173794425439255453AA03329D98E521893CAB1EB3EA385FFABF818AE41634284575CA51B75258AB16969B0EDC51F75E15711778ED2931398B7B4490EF5C5486EA5A42E73F3E4F3948FC52BB8E44ED3D0ADC42DDF7F1884F69CA5F29F826AD2DE3E86A091BE5EE6779204BD2C04D294E8EB7E3D66A496FDC5CAEB33D4C866D09AEBE07A12510514A31959C542DD29D90E3C43C0FE77B39B78EB3EA44761DEFAB1387BC4A61BDE998572B726BC75C6A518D76A454DB775B49BEC21BBF50DE39CCDD62C86721F070232A2DCFC4CF8681324C7A108D229F45D43E9E0615D25BDFD0FC5F38E49E88A8E204A7C8F0F2FE3A51D04052151FA8A71C0FEE76607C2DC6D6406C35C454A164FB960A497BD8F400B695C3F62A4CA9E53D765D8BE67928DF8339F59451274300F7D6891C0F1FA8530BEAD4636E7391CB5C64D78E5699F6979AD26E2A9197D43927951E29A4AD447C1DF56349CBF392BF661CE8F546653CF92FA76EBB78D4499E719196DDD08596D493696E91DFC0C7EAF974037DD480271AF0B097329C90E2A0440724D871A71DE2AB21AE0A622A705B25C4544AFC905C83A9B598E9A06C37647B70AF07F6B820D50DA95E75AF47C9F368873D96A35EDFA36EEB31874F418D25AF4CDBFD9B1AF9A33AEF33D12B533F59A28988DD0C61F36CFDA3E9C597FAA27912B70CE3BE1934EE2CCDBB4C6B6FF1B60794540B996EDA2FD345037FF4883E7944671E71611DE67821D589C9B20ACB8890E5AC56C71F5B413155102D77A406E365DB55AB6B0C89395DC276418A1B535C98E65232BCA63C8FE5B037F0685DE0B13ADB1197ED40AD4F46B99678C7B4E98A3AF34B117480CD110853F5D3605DD83C5B3F9874FE501FB2BC4D6D36F0C02C9A7016177C4FE1D729AE9476DB31D70507BD74B4419C7A8C9F3CC2B30D74AC9E72BD3A24E9FF1D768AB543742D445583645164256CD5176DAB4269D1CE5AB94194A887BFCCA2946C17E92E8B6C360F4ACFD7373B56EF5F586F3BE8F6C97269BB2A4D71774DA13F2993CE2B9D0AD81483301BB0BF71E8FAEC16C6A4E77FEA2DFD4FADC268401A4D3849F32F52D8358ABD2FF1739E9B0BEAB0E8219C7C041F3DC2D30D78B40E75FC1E998B40E6A22843C5C915216B9C8CE84A88A8902914A409DB6B60670DC4D742BCE49834C4A1A6B97C725DD6C37596A206FFE30D7E47EA6DF95E73BA53DD51A16EB96B5AFE8B3AEE1BD1E128A9B184F3105E463D36D5E7E987E6883DD13C513FA4EA9748E38BE8BD0BB8F61AC694C2AE1A299875FCC71F52F1232C96D9AF1E0E78753E4BF2C43921524F44B0B586E47364950E5B267FB90BDB2A204E52C82EF708E31DBA6ADAAE173235CDA9E57A4C47EA6CC5F57EC7EB7C0FD7F9E6786D294E6D6BB9B6FAAE3AFBAA69C837A2CD1152A3A5FF0907EAB1A97BF8190ADAA4CB24EA8E527BB75C4C3D226954BE14CCB4F6064597A20CC31C171DAE83A30FE9D863929E97E23FCB83296E90A8B6D9214AAE5A88A995C258071C57033BAA74F2EFAC2519E0926352A9263B50D632D957EE72AA592ECB21AFEDB827A0D8EB57E8F5C9F75AD29CBE31B53EA165A6F9B7C5F81F45CFCF45B33C5225FFA723F6476C6920C47F82BEB179F143EAA49F0CFBCDA476213C2885A79EE5555748C66F8A1D73DC20F117CA7EBC010FD5C3BE3A4897CC7141AC0BA29D3AF3E3756C3AC8DD0E4AB363BA03F7B831CB8DD96ECC7593FCF36C1766B828D325B2DDCA41AFF5B837E094C4EFF63BE8B266384D0976F3862ACBE2126DD27565D005A5DD09B6A692B2166132401F43DB989EC71F1B627B5406A2CF446CB19082B6D2EBB91CFC156DB9A3E39748F23D90EFD1D58BDEB9C8E42F9DEF8238074AFE6C97EE75C9DC28AB1BE5CAEFB870BF9EDEB1C04347BD78D42B9B4D2AF4F261AF5AE015855EA5C86B3AEDB59EF6F81E77E86927B5C616556959F5407BF79679C48F5AD067A2453EFA44930806186DA89A8067E0C7C6F8453F101DC034006D6F608B39D839940627F0F4E322FC0AC597912C43595206B8A4F445B96432DC25C5A45B9713C96E4C7363861466757C5016389966EB5066DAA2063AD9A07CF450C86475B681CFCAD70DCA49AF7ACAAB9EAEB39CF6F89C76588FD92D7995D6E40A9FF5F7CD8B6E9BA75C31BFFA95E85240CD12D81C42620AC0CB46FDF57B5EFC9A403403AD2BF80EA11653B1FD42E826F1EFA0770A39E4078E2E112995EA1E3BEF718A3D2E4EF7B06C7BD3DD94E6A574BD2A912C04B222173C4489B9B89E4E3C12A71F2A671F8A4F1E299F3F56BE78AC7EF9587CF95839F7487CD660FAF8A17AC66B39EDB69EA8B114546999A5A6E83BEA8A1BEA8CBF6963BF360D2CE68EA9ECB70E4DB3808619CE6F65D42FE599EDBB094C2DC1B71FB67C933B0763AF501C10416376D3DC53147A99A2EF706239A755D31E87D8EB16196E25DBAB647A650D12595E91EB15FBBD78A40E8A1AA4A464E9F3538F75F09F3E52CE3DE6F37FD72EFC5DFDEE7771F177F59BC7A6AF1E6A9F4BD33CEA29874F518535BFC49C74D3147E5579EFB298F8A532F48408CAC0969BD03C9F780CEAE328ED8CE2A53D07BF94A05A6B6CF60A76984EBD436848348D4EE6B7F368D12714FE03C6DC1409F7C5AE4A35AD56CB7469B94E35C7ABE4784DB95E25D723A4183BE095D9958F7995E27AE544BD38F9503923F13F56CF3D56BEFE5DBDF8BBE9D2FF51BEFFDD74E177F3F947DAE7F5EA19B7F9788DEDD00373E66D53DC55F5834B34F39C78BD58F4CFE20E91ECB710D47124C5800E3EB0E9FCE459E787880A9A5B61E02BD86906F60DA7514934691FCD3AC6EF9FA3757FA5285985EF7262A9925665CE74A8FB9C5ABE47DBEF36EDF7A8F96E35DF25F63B69BF0B0F3B5906AC8CD3A23A71A25E325FFDECA12299F3EDDFB58B720B1E8B6F1EA9E7247FBCE294C35C5869CE2B31A55C33455C56967E21A6162BC3B3A5E61481CB499B88340075DA379EFFBCC0F93329680AC466FDA9E334EC198A4312E9CD7C9A791C179EE3D5DFF3C6AB62EB6D354E6E41859A59ABE639CC075CDA41A772A046DD5FA3ECAB11B955945B49B955986BA77C877AD0250A3DCA71AF38532F09AF7CF1D0F45583725EBEA8139F7895934E51542D0E962919B7D5ED3F99C2CE9BDE3B25DEC8A3FEF1D8762DD966A0780DB14BD3F9A7E9C50E0F1550FCC93788DB4DE0EECBA1CF561A9646130FE3CCD3BCF00BF1C1F71CFE8BBAF5B6B2B3444D2FD7722A4DFBAA15D9B7E63D30E5942A99F7794F09A5DFA3F412487B407B2B94CC2ADE57CB879DE2984B9CF02867DCEAC72EFEC4C967ECCAA91AB5B8DA74A442C9BDA7A65C53B67CA72CFF449956C0437773D70D1CF81E6AA38082F049CC9A9B6EFA3FFFF013D946E64ED86224BD3407BBADC23E51382495C6EEE729C534E72FB4E49258F393BAF9AA16774349BEADA6FEA6A6DD36A5DE54775D53927E1509BF52FC358CFF95E36FD2CEDF28E91EED2E1599659C5BC6072AF8508528A8500ACBF948A928B8AFC875E09ED8734BC4FD8DC2BFE20527C4B86CEA17CDED96A16D12885748674EE3C9A7FAC2F78205A00F6A6DC1FF656833113BBE875D5651D066EEB7938664D2B8C362EA6931F72FCAB2F3CADA6F950DDF291197D5A8CBEAB6EFC4D60B22E2226FFE466CFC96365EE40D3FD0E61F71EB158ABACAD1BFD2F65F38F11AA55EE7AC9B9C2D9F7FE5EC6B9C7383337F55127EE6884BBCEA737EF7088F4CA51E1B2870369847227737D49AF5C56F64E31F12486901D6200C1C0EAD2763DBB9D8E17DEA144EDD23B96FBC189CCAA3F689B70AC53BC795D9C562C149B1E494587A422C39AE2C29168B8BC4C2220E2EE64567F9FDCF78E5171C725EACF98642CFD3860BB4ED92D8799913BEA7844B22E97B4EBC4CDB2F7184FCF41C2F3ACD93F3F9D51DD4E903F49F24ABBF71F3C5DF60CEB3866AF0FFB9056443535BB2F646FFA11828ABF0745988A9D5226AB7823AAEE16E723BE2C4A024F1EA2E313255BC9E26C6A68A71BBC4F864313E91C725F1D8141EBF9727E6F2B4833CF38878B788E71589452795556745D8C71C7E96D79FE5CD9FF2E6CF28EC8C58719C1616D0D45C1A9E403D42A9E52CB20C03EA62DC796C3CF0FC57A72048BF714FBEA8B445AD3BF90C20DB30B4BD4EFE1330E06D6AF60EB798C7AD1773BBE5DC7E0D770EE31EE1DC335C048572CFD5DC7315078570D06A0E5A4F7D37F3CB9162489C782D9147A688F169CAA4BDCAD44C313393E76489E03CB1643F2FC8E619BB7962020D8BA4A055D46A065A4782E8694C0DD99EBA61F4AF9BA00B211B7273E4B6A87421B5376A03D03C182DC3C83206ACE3C9F616F94973A651E0746E2E8D9ACACDDFA6E66F73E0640C9C2CDFA41633B9F55C6E172C3A2EE6CECBB8EB2A111422FA868A41E162D84631669318BF458CDD44434379D00AEAB518DBBF03012341EB0DF4123C71BEF2C2B7DDFFD90887C5982C6A46D84A9FD5112FA1D21D95DEA8F64175209A0691E955340D466D109AE5AFFDD1D40FB5FEC68B970D638780CF50B20E47DB48F21D4B81E3B9D5446E37993B4EE32ED3B89BF1DCE96D6EFF26B51E4781C3D0A70F8A97885B198334E617BB5BF7DC7BA96AD3909534C41FB139916C905B9134479F3EEAA03FCB3D227D420CA9957ECB1E5B23B6456E0FDC91F825E44EA87446A52B48365A7A92B527D97A61E3F2ED4DBEBDC1D6837C7AA026BFD30658764F56F88F71B23F65FA959A860AD4A6A9429FA61B3A8D53585678B22C4DE37956C35E5BD3C8931F6000528084871488122407A0D20C944090CF6A0008F9910DA87152D1F4678FC03DA58F00E9C9B4A1F2D49C273D3515D9B8E98CFAA2A6C1330575542A4A7D2B25967C07E56B159E2CA569ECED4F991CFBEF9B82C6A6D3636ACA2AF88F68FF1D2776FFF7F16FFCF8BF851EF491] } Add(Resize,11789757,497,133) { Width=1024 Height=1024 link(onResult,7352122:doValue,[(536,139)(536,90)]) link(Bitmap,5604576:Bitmap,[]) } Add(Memory,7352122,553,84) { link(onData,7256744:doCreate,[(592,90)(592,123)(545,123)(545,139)]) } Add(MultiElement,16576874,252,252) { @Hint=#6:Звезда| link(onEvent1,10714674:doWork1,[]) } BEGIN_SDK Add(EditMulti,3543666,10,10) { EventCount=1 WorkCount=1 Width=566 Height=438 link(doWork1,9029003:doEnabled,[(54,16)(54,34)]) } Add(MultiElement,16542068,189,322) { link(onEvent1,12677101:doSet,[]) } BEGIN_SDK Add(EditMulti,4359962,10,10) { EventCount=1 WorkCount=1 DataCount=2 Width=174 Height=144 link(doWork1,3276760:doRotate,[(33,16)(33,83)]) } Add(GL_Rotate,3276760,56,77) { Y=1 link(onRotate,8079493:doRotate,[]) link(Angle,14771766:Value,[]) } Add(GL_Rotate,8079493,105,77) { X=1 link(onRotate,4359962:onEvent1,[(153,83)(153,16)]) link(Angle,6043289:Value,[]) } Add(Memory,14771766,56,21) { Default=Integer(9) } Add(Memory,6043289,105,21) { Default=Integer(110) } END_SDK Add(GL_Sphere,15215296,322,322) { Radius=0.8 Slices=60 Stacks=60 link(onDraw,930048:doDisabled,[(362,328)(362,335)]) } Add(GL_Rotate,12263001,238,77) { link(onRotate,15649279:doColor,[]) link(Z,8950855:Value,[(265,65)(230,65)(230,121)(195,121)]) } Add(Counter,12127569,98,77) { Max=900 link(onNext,14526184:doOperation,[]) } Add(Memory,8950855,189,77) { link(onData,12263001:doRotate,[]) } Add(Math,14526184,140,77) { OpType=3 Op2=2.5 link(onResult,8950855:doValue,[]) } Add(GL_Color,15649279,280,77) { Color=16777215 Alpha=0.5 link(onColor,11103967:doCallList,[]) } Add(GL_Options,297773,140,28) { Flag=8 link(onEvent,11282042:doDraw,[]) } Add(GL_Disk,10888777,371,77) { OutRadius=1.4 Slices=40 Stacks=40 link(onDraw,15126397:doPopMatrix,[]) } Add(GL_Material,12677101,238,322) { Diffuse=65535 Specular=11206655 Emission=128 Shininess=40 Point(doSpecular) link(onSet,4881361:doColor,[]) } Add(GL_CallList,11103967,322,77) { Index=1 link(onCallList,10888777:doDraw,[]) } Add(GL_GTools,10751485,49,77) { Point(doPushMatrix) link(onEvent,12127569:doNext,[]) } Add(GL_GTools,15126397,413,77) { Point(doPopMatrix) link(onEvent,8650828:doPushMatrix,[(457,83)(457,115)(37,115)(37,146)]) } Add(GL_Rotate,7147066,238,140) { link(onRotate,16210240:doColor,[]) link(Z,1354156:Value,[(265,128)(230,128)(230,184)(195,184)]) } Add(Counter,7874684,98,140) { Max=900 Type=1 Default=900 link(onNext,2471183:doOperation,[]) } Add(Memory,1354156,189,140) { link(onData,7147066:doRotate,[]) } Add(Math,2471183,140,140) { OpType=3 Op2=2.5 link(onResult,1354156:doValue,[]) } Add(GL_Color,16210240,280,140) { Color=16777215 Alpha=0.3 link(onColor,13357113:doCallList,[]) } Add(GL_Disk,2510698,371,140) { OutRadius=1.4 link(onDraw,12362255:doPopMatrix,[]) } Add(GL_CallList,13357113,322,140) { Index=1 link(onCallList,2510698:doDraw,[]) } Add(GL_GTools,8650828,49,140) { Point(doPushMatrix) link(onEvent,7874684:doNext,[]) } Add(GL_GTools,12362255,413,140) { Point(doPopMatrix) link(onEvent,1407923:doPushMatrix,[(457,146)(457,178)(37,178)(37,209)]) } Add(GL_Options,930048,371,322) { Flag=8 link(onEvent,5503468:doEnabled,[]) } Add(GL_Rotate,12912479,238,203) { link(onRotate,2992368:doColor,[]) link(Z,9042937:Value,[(265,191)(230,191)(230,247)(195,247)]) } Add(Counter,12519725,98,203) { Max=1800 Type=1 Default=900 link(onNext,11950791:doOperation,[]) } Add(Memory,9042937,189,203) { link(onData,12912479:doRotate,[]) } Add(Math,11950791,140,203) { OpType=3 Op2=5 link(onResult,9042937:doValue,[]) } Add(GL_Color,2992368,280,203) { Color=16777215 Alpha=0.4 link(onColor,15700882:doCallList,[]) } Add(GL_Options,9029003,98,28) { Flag=10 link(onEvent,297773:doEnabled,[]) } Add(GL_Disk,1339537,371,203) { OutRadius=1.4 link(onDraw,14523978:doPopMatrix,[]) } Add(GL_CallList,15700882,322,203) { Index=1 link(onCallList,1339537:doDraw,[]) } Add(GL_GTools,1407923,49,203) { Point(doPushMatrix) link(onEvent,12519725:doNext,[]) } Add(GL_GTools,14523978,413,203) { Point(doPopMatrix) link(onEvent,7415622:doPushMatrix,[(457,209)(457,241)(37,241)(37,272)]) } Add(GL_Options,6411445,140,322) { Flag=10 link(onEvent,16542068:doWork1,[]) } Add(GL_Color,4881361,280,322) { Color=16777215 Alpha=0.3 link(onColor,15215296:doDraw,[]) } Add(GL_Rotate,7905201,238,266) { link(onRotate,4483072:doColor,[]) link(Z,4770145:Value,[(265,254)(228,254)(228,308)(195,308)]) } Add(Counter,508957,98,266) { Max=1800 link(onNext,13041509:doOperation,[]) } Add(Memory,4770145,189,266) { link(onData,7905201:doRotate,[]) } Add(Math,13041509,140,266) { OpType=3 Op2=5 link(onResult,4770145:doValue,[]) } Add(GL_Color,4483072,280,266) { Color=16777215 Alpha=0.2 link(onColor,5577847:doCallList,[]) } Add(GL_Disk,10700696,371,266) { OutRadius=1.4 link(onDraw,9410965:doPopMatrix,[]) } Add(GL_CallList,5577847,322,266) { Index=1 link(onCallList,10700696:doDraw,[]) } Add(GL_GTools,7415622,49,266) { Point(doPushMatrix) link(onEvent,508957:doNext,[]) } Add(GL_GTools,9410965,413,266) { Point(doPopMatrix) link(onEvent,6411445:doDisabled,[(457,272)(457,310)(128,310)(128,335)]) } Add(GL_Options,13892104,238,28) { Flag=2 link(onEvent,10751485:doPushMatrix,[(292,34)(292,62)(37,62)(37,83)]) } Add(GL_Options,5503468,413,322) { Flag=2 link(onEvent,3543666:onEvent1,[(553,328)(553,16)]) } Add(GL_Disk,11282042,189,28) { OutRadius=0.8 Slices=60 Stacks=60 link(onDraw,13892104:doDisabled,[(226,34)(226,41)]) } END_SDK Add(GL_Options,14989432,252,126) { Flag=2 link(onEvent,1571481:doEnabled,[]) } Add(GL_CallList,14848248,553,252) { Index=100 } Add(MultiElement,10714674,294,252) { link(onEvent1,7874684:doNext,[]) } BEGIN_SDK Add(EditMulti,4359962,10,10) { EventCount=1 WorkCount=1 DataCount=2 Width=223 Height=109 link(doWork1,3276760:doRotate,[(19,9)(19,55)]) } Add(GL_Rotate,3276760,35,49) { Y=1 link(onRotate,8079493:doRotate,[]) link(Angle,4359962:Data1,[(41,29)(16,29)]) } Add(GL_Rotate,8079493,112,49) { X=1 link(onRotate,4359962:onEvent1,[(188,55)(188,16)]) link(Angle,4359962:Data2,[(118,29)(23,29)]) } END_SDK Add(MultiElement,12182977,595,133) { @Hint=#13:Матрица звёзд| } BEGIN_SDK Add(EditMulti,8326305,10,10) { WorkCount=1 Width=692 Height=452 link(doWork1,16559994:doBeginList,[(26,16)(26,34)]) } Add(GL_BeginList,16559994,42,28) { Index=100 link(onBiginList,14707504:doFor,[]) } Add(GL_EndList,1171600,105,77) { } Add(For,14707504,105,28) { Start=1 End=200 link(onEvent,7264854:doRandom,[]) link(onStop,1171600:doEndList,[(150,41)(150,69)(93,69)(93,83)]) } Add(Random,7264854,168,28) { Min=-100 link(onRandom,9724122:doOperation,[(212,34)(212,67)(157,67)(157,83)]) } Add(Math,9724122,168,77) { OpType=3 Op2=30 link(onResult,2665182:doValue,[]) link(Op1,7264854:Random,[]) } Add(GL_Translate,8776,497,119) { link(onTranslate,4135705:doColor,[]) link(X,13258062:Result,[(503,107)(427,107)(427,161)(349,161)]) link(Y,8077851:Result,[(510,107)(430,107)(430,268)(349,268)]) link(Z,6480143:Result,[(517,107)(433,107)(433,380)(349,380)]) } Add(GL_Sphere,16124309,637,119) { Radius=0.01 link(Radius,5284466:Random,[(643,100)(466,100)(466,433)(174,433)]) } Add(Memory,13327655,413,105) { Default=Real(0) } Add(Math,13258062,343,105) { OpType=1 link(onResult,6249521:doEvent1,[(394,111)(394,174)]) link(Op1,2665182:Value,[(349,93)(293,93)(293,121)(237,121)]) link(Op2,13327655:Value,[(356,93)(388,93)(388,149)(419,149)]) } Add(Memory,2665182,231,77) { link(onData,13258062:doOperation,[(331,83)(331,111)]) } Add(Hub,6249521,413,168) { link(onEvent1,13327655:doValue,[(457,174)(457,142)(401,142)(401,111)]) link(onEvent2,12757268:doRandom,[(462,181)(462,157)(156,157)(156,132)]) } Add(Random,12757268,168,126) { Min=-100 link(onRandom,9513376:doOperation,[(212,132)(212,150)(149,150)(149,181)]) } Add(Math,9513376,168,175) { OpType=3 Op2=30 link(onResult,6474703:doValue,[]) link(Op1,12757268:Random,[]) } Add(Memory,3155412,413,210) { Default=Real(0) } Add(Math,8077851,343,224) { OpType=1 link(onResult,13875704:doEvent1,[(394,230)(394,279)]) link(Op1,6474703:Value,[(349,216)(237,216)]) link(Op2,3155412:Value,[(356,212)(388,212)(388,254)(419,254)]) } Add(Memory,6474703,231,175) { link(onData,8077851:doOperation,[(331,181)(331,230)]) } Add(Hub,13875704,413,273) { link(onEvent1,3155412:doValue,[(457,279)(457,251)(401,251)(401,216)]) link(onEvent2,10440108:doRandom,[(462,286)(462,262)(163,262)(163,230)]) } Add(Memory,8987899,413,329) { Default=Real(0) } Add(Math,6480143,343,336) { OpType=1 link(onResult,7167800:doEvent1,[(391,342)(391,398)]) link(Op1,6477445:Value,[(349,324)(237,324)]) link(Op2,8987899:Value,[(356,325)(381,325)(381,373)(419,373)]) } Add(Memory,6477445,231,273) { link(onData,6480143:doOperation,[(303,279)(303,342)]) } Add(Hub,7167800,413,392) { OutCount=3 link(onEvent1,8987899:doValue,[(460,398)(460,369)(401,369)(401,335)]) link(onEvent2,8364451:doData,[]) link(onEvent3,5284466:doRandom,[(455,412)(455,385)(163,385)(163,328)]) } Add(Random,10440108,168,224) { Min=-100 link(onRandom,11605170:doOperation,[(212,230)(212,246)(149,246)(149,279)]) } Add(Math,11605170,168,273) { OpType=3 Op2=30 link(onResult,6477445:doValue,[]) link(Op1,10440108:Random,[]) } Add(DoData,8364451,476,399) { link(onEventData,8776:doTranslate,[(520,405)(520,265)(485,265)(485,125)]) link(Data,394109:Value,[]) } Add(Memory,394109,476,357) { } Add(Random,5284466,168,322) { Min=0.005 Max=0.03 Mode=1 } Add(GL_Color,4135705,546,119) { Color=16777215 link(onColor,14874418:doSet,[]) } Add(GL_Material,14874418,588,119) { Diffuse=0 Specular=65535 Emission=16711680 Shininess=128 link(onSet,16124309:doDraw,[]) } END_SDK Add(Timer,10040899,56,322) { Interval=1 link(onTimer,10276040:doEvent1,[]) } Add(Math,10531963,182,322) { OpType=1 Op2=0.1 link(onResult,9965551:doValue,[(226,328)(226,304)(170,304)(170,279)]) link(Op1,9965551:Value,[]) } Add(Memory,9965551,182,273) { Default=Real(180) link(onData,8468442:doEvent2,[(233,279)(233,195)]) } Add(Hub,8468442,294,182) { InCount=2 link(onEvent1,3410847:doPerspective,[]) } Add(GL_Rotate,7147066,497,252) { link(onRotate,14848248:doCallList,[]) link(Z,1354156:Value,[(524,240)(482,240)(482,296)(447,296)]) } Add(Counter,7874684,343,252) { Max=3600 Type=1 Default=600 link(onNext,2471183:doOperation,[]) } Add(Memory,1354156,441,252) { link(onData,7147066:doRotate,[]) } Add(Math,2471183,385,252) { OpType=3 Op2=10 link(onResult,1354156:doValue,[]) } Add(Hub,5584133,154,21) { OutCount=3 link(onEvent1,4161604:doWork1,[(199,27)(199,17)(16,17)(16,76)]) link(onEvent2,16299401:doEvent4,[(198,34)(198,94)(86,94)(86,153)]) link(onEvent3,16262568:doData,[(202,41)(202,27)]) } Add(Keyboard,14427063,105,371) { Key=27 link(onReadKey,6757641:doCase,[]) } Add(Hub,10276040,105,322) { InCount=2 link(onEvent1,10531963:doOperation,[]) link(onEvent2,14427063:doReadKey,[(147,335)(147,358)(93,358)(93,377)]) } Add(MultiElement,4161604,28,70) { @Hint=#87:Считывает разрешение экрана и соотношение сторон. Устанавливает размер формы и аспект.| link(onEvent1,15261923:doWidth,[]) link(onEvent2,15261923:doHeight,[]) } BEGIN_SDK Add(EditMulti,14495888,10,10) { EventCount=2 WorkCount=1 VarCount=1 Width=279 Height=270 link(doWork1,14428931:doEnum,[(68,16)(68,48)]) link(Var1,4020073:Result,[(16,261)(146,261)]) } Add(Screen,14428931,126,28) { EnumMask="%v%h" link(onEnum,10190258:doEvent1,[(170,34)(170,80)(36,80)(36,153)]) } Add(Hub,10190258,49,147) { OutCount=3 link(onEvent1,13019782:doData,[]) link(onEvent2,11320503:doData,[]) link(onEvent3,4020073:doOperation,[(103,167)(103,216)]) } Add(Math,4020073,140,210) { OpType=3 link(Op1,5983030:Data2,[(146,167)(118,167)]) link(Op2,5775196:Data2,[(153,167)(181,167)]) } Add(GetData,5983030,105,98) { link(Data,14428931:Width,[(111,86)(132,86)]) } Add(GetData,5775196,168,98) { link(Data,14428931:Height,[(174,86)(139,86)]) } Add(DoData,13019782,105,147) { link(onEventData,14495888:onEvent1,[(213,153)(213,16)]) link(Data,5983030:Data1,[]) } Add(DoData,11320503,168,154) { link(onEventData,14495888:onEvent2,[(244,160)(244,23)]) link(Data,5775196:Data1,[]) } END_SDK Add(Case,6757641,182,371) { Value=Integer(1) link(onTrue,14978094:doEvent1,[(226,384)(226,377)]) } Add(MouseEvent,5201576,266,21) { Point(doVisible) } Add(Hub,14978094,245,371) { link(onEvent1,15261923:doClose,[(286,377)(286,427)(11,427)(11,69)]) } Add(DoData,16262568,217,21) { Data=Integer(0) link(onEventData,5201576:doVisible,[(257,27)(257,41)]) }