object FormShadowPlane: TFormShadowPlane Left = 228 Top = 89 Caption = 'Shadow Plane' ClientHeight = 591 ClientWidth = 765 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -14 Font.Name = 'MS Sans Serif' Font.Style = [] OnCreate = FormCreate PixelsPerInch = 120 TextHeight = 16 object GLSceneViewer1: TGLSceneViewer Left = 0 Top = 0 Width = 765 Height = 591 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 Camera = GLCamera1 Buffer.BackgroundColor = 8421440 Buffer.ContextOptions = [roDoubleBuffer, roStencilBuffer, roRenderToWindow] FieldOfView = 160.792495727539100000 PenAsTouch = False Align = alClient TabOrder = 0 end object Panel1: TPanel Left = 10 Top = 10 Width = 151 Height = 71 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 TabOrder = 1 object CBShadows: TCheckBox Left = 20 Top = 10 Width = 121 Height = 21 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 Caption = 'Shadows' Checked = True State = cbChecked TabOrder = 0 OnClick = CBShadowsClick end object CBStencil: TCheckBox Left = 20 Top = 40 Width = 121 Height = 21 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 Caption = 'Stencil Buffer' Checked = True State = cbChecked TabOrder = 1 OnClick = CBStencilClick end end object GLScene1: TGLScene Left = 304 Top = 8 object DCShadowing: TGLDummyCube CubeSize = 1.000000000000000000 object Cube1: TGLCube Position.Coordinates = {000000000000003F000000000000803F} Up.Coordinates = {00000000FFFF7F3F1AF6953100000000} CubeSize = {00000040CDCC4C3E3333333F} end object Sphere1: TGLSphere Position.Coordinates = {000000000000803F0000C0BF0000803F} Radius = 0.200000002980232200 end object Torus1: TGLTorus Direction.Coordinates = {00000000B28F703F441DAF3E00000000} Position.Coordinates = {000000000000803F0000C03F0000803F} Up.Coordinates = {00000000441DAF3EB28F70BF00000000} MajorRadius = 0.300000011920929000 MinorRadius = 0.100000001490116100 Rings = 24 Sides = 12 StopAngle = 360.000000000000000000 Parts = [toSides, toStartDisk, toStopDisk] end end object DCLight: TGLDummyCube CubeSize = 1.000000000000000000 object GLLightSource1: TGLLightSource ConstAttenuation = 1.000000000000000000 Position.Coordinates = {0000000000004040000000000000803F} SpotCutOff = 180.000000000000000000 object Sphere2: TGLSphere Material.FrontProperties.Ambient.Color = {0000000000000000000000000000803F} Material.FrontProperties.Diffuse.Color = {0000000000000000000000000000803F} Material.FrontProperties.Emission.Color = {0000803F0000803F0000803F0000803F} Radius = 0.100000001490116100 Slices = 8 Stacks = 8 end end end object DCCameraTarget: TGLDummyCube Position.Coordinates = {000000003333333F000000000000803F} CubeSize = 1.000000000000000000 object GLCamera1: TGLCamera DepthOfView = 100.000000000000000000 FocalLength = 50.000000000000000000 TargetObject = DCCameraTarget Position.Coordinates = {0000A04000008040000040400000803F} end end object GLShadowPlane1: TGLShadowPlane Material.MaterialLibrary = GLMaterialLibrary Material.LibMaterialName = 'Marble' Direction.Coordinates = {000000000000803F0000000000000000} Up.Coordinates = {0000000000000000000080BF00000000} Height = 8.000000000000000000 Width = 4.000000000000000000 XTiles = 4 YTiles = 8 Style = [psTileTexture] ShadowingObject = DCShadowing ShadowedLight = GLLightSource1 end object GLShadowPlane2: TGLShadowPlane Material.MaterialLibrary = GLMaterialLibrary Material.LibMaterialName = 'Marble' Position.Coordinates = {0000000000000040000080C00000803F} Height = 4.000000000000000000 Width = 4.000000000000000000 XTiles = 4 YTiles = 4 Style = [psTileTexture] ShadowingObject = DCShadowing ShadowedLight = GLLightSource1 end object GLShadowPlane3: TGLShadowPlane Material.MaterialLibrary = GLMaterialLibrary Material.LibMaterialName = 'Marble' Direction.Coordinates = {0000803F000000800000000000000000} Position.Coordinates = {000000C000000040000000000000803F} Up.Coordinates = {0000000000000000000080BF00000000} Height = 8.000000000000000000 Width = 4.000000000000000000 XTiles = 4 YTiles = 8 Style = [psTileTexture] ShadowingObject = DCShadowing ShadowedLight = GLLightSource1 end end object GLCadencer1: TGLCadencer Scene = GLScene1 OnProgress = GLCadencer1Progress Left = 304 Top = 64 end object Timer1: TTimer OnTimer = Timer1Timer Left = 392 Top = 8 end object GLMaterialLibrary: TGLMaterialLibrary Materials = < item Name = 'Marble' Tag = 0 Material.FrontProperties.Emission.Color = {CDCC4C3ECDCC4C3ECDCC4C3E0000803F} Material.Texture.Image.Picture.Data = { 0A544A504547496D616765D10A0000FFD8FFE000104A46494600010101006400 640000FFDB00430006040506050406060506070706080A100A0A09090A140E0F 0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D 302D283025282928FFDB0043010707070A080A130A0A13281A161A2828282828 2828282828282828282828282828282828282828282828282828282828282828 28282828282828282828282828FFC20011080080008003012200021101031101 FFC4001A000003010101010000000000000000000002030401000506FFC40017 010101010100000000000000000000000000010204FFDA000C03010002100310 000001FB65AEAE7E95351C55B3EB2CD5A0A4263B7689DF29708B39CB25A11422 CE9E9E04F017BCFF004243CFBA2F41B0EA7584B96056F4BAE4377511CE534785 D24C9AD2B1D5363750B9ECA9BB8CF6E6D9BABD97755AA5C072A65742D17AD35B 7180E52189F589EDC50627A69DDE79CA82BB570828B986E5A56D11264F05684B 1C5269AD20BA5A26C45614D64791E92E623899D4247A93A2C39AD992D26DA669 5948D3708EA3090E8854D4D62AA95732652A9ABCD4EB8E95FC099622887269D3 9A87121C6E8924BCDC6FFFC40024100002020202020202030000000000000000 01021110120321133120323041042223FFDA0008010100010502D934C8BBFC1F BCCFD44D5C1FB55584CB112951BD2F2444596367EEA44BD2E8676471AF5CBB45 F27274AA51D68DA712332EC48589F78A287D164D9AEF35171516490E367D083C D12542658C68D2CE45441DC5D0AC8C4A5F192B231A2B0F12EE5C4A4E51E31228 A2BF048DD25C70DC8C70843CD087EEF164E7DF80E2FAAC7EF14562B0DD2F3791 C60E97A685FE645E1659B1E45727327BD7F1F8A4B8E304935D47D9289DC44ED1 64A490D9B221C690C7FDF946C4EC7ED48B1B446439C989329228709627EB8EB6 72252426C942527E3628B3445610F0B1C9255C7668C8A12298D32852EA534791 119DE1911C672141928C8568809668AB6A078D1A247A252E9723166696D1586C BC3FBFC26ADD112FA6CD443CD9222FE12C7FFFC4001D11000300020301010000 0000000000000000011110200212312151FFDA0008010301013F01F0F48420F2 9966388D97558852E9048E4F5EBFA761B3DC4261A2108914A762428D94F4F988 3D1669FFC400191100020301000000000000000000000000113000012040FFDA 0008010201013F0160414564C1BAE7FFC4002810000103030302060300000000 000000000100112102303110202232610312415171814050A1FFDA0008010100 063F02FC005428DCF52CD86DC1A54F1585C614CA9FEDC9C285ED7810869C54DC ECAA6C29BB964F5DE20074F51FABADE10F377F45E6AEA7EDACE2C32E34AEAFA0 B9E540036F6DF8F9D1BD0598527589D6AD7A4ACB2EB4C6A533625406F944D446 FCEE0E587B0D67711A6028FD27FFC40024100003000202020202030100000000 0000000111213141511061718191D120A1B1C1FFDA0008010100013F21485A86 2EB583650D887A17C898DE464CC870686C97224475CBD8E730624EE865C8FDC6 5305DB44A307F62670FB1F2D8B236F33A044F4A8BBD3AF19546C0D26B548AE3E 0A043B68E3B25CA4F913720CA55FECB659A6F818622443F09C1F227510665723 4169CD9695F596133A179B9086D41082CB15FA10D0A7E44E8ECDC16C4128FC99 137B18EDE5158B03B2758DA535EC6BDC4AD248C2E8BD0960440D104820F03CA5 C0A915E1D8875796F826B9327C190FC7209A9E1B8FC4C8C7791BD6D3E43DDAF1 70A884B09226C6668395D1383C068B2C7DB832F8138B3F2249928ECD3E8ECDBF C0D068412286941A90855893931C09C8F1DB1AE60409FF00C850A9A465D14F32 67829AD1DFF030E1E058575FA5A32327BA259B54F80EC1E5A6E8DDF48A0B0A94 1043E04DF5642D4D3160C251A6FE8AF04F92CB593D858BE05A3BE59EC581CB43 36261E8CED37A1A9265916D2B174683F63FC866C591BB6E32BE27D8929E0CDF3 77D88B28B6D8D6A1D884D4FE0CFF00A1551E84ACD0488D0EA19A162FB351B884 9EB3F9313A50A369EA0B910D983DC45B1BEEE508E4847612F344E4989D5E098D 8FD8510D116188F894D8C0484A3C783529188E521B3F4094C1093466710A884D 464C1134318217343A960627911AA18578A2F1B1D10B81E6CF608B28916C8868 3D8B7AF0CC5B5BC8C4605D1BD1FFDA000C03010002000300000010A79FAB42E7 8EA79F397463748652EBE719CAD0EBACAF2E4C86E67E3BE269876A6398485CF6 39824ECFCCF71D52D9CD6CFFC4001B1101010101010101010000000000000000 0100112131415110FFDA0008010301013F10227F1EDB727EC45FB5A83B24610E 4238939EDB6C3A6583D85F93CED809D5C6C832606764F23CB20B179E583D40F0 BA480B1396AD5AAC8E5CC17D6FD163DC8DB1883D58F968F6219407B21F21A720 C723B64324BCBC5FFFC4001B1100030101010101000000000000000000000111 1021314120FFDA0008010201013F106B108B904B21098989136E3A24785CA512 E2196787457D10CA5174E0C52948425110590E94E7D14C9FAFFFC40022100100 0301010003010003010100000000010011213141516171811091A1B1D1FFDA00 08010100013F10105DF2256A4012BA859C26137C8F5B34B00358FDC33A26AE98 36B7D25F363C6C1A36C043D4431D9AA5FF0019F9316818EAC51E84B0DA9FB9C6 347B051E3F639347EC65385C8B4C2F5979E9FF00508C2F3C4BEE0DD7B33711FB 9568627499351B7E4C14C815EC54513CB82E3075034D5D5449818E9BC638B1FA 98A0A775328074F6A1A47683B968208D881517F2A0308FCAD0FC864E2E1A5A9A 56D795000D37F3196061BB2CA968C03A8152D3C9A63003E21BB4900BB6A66174 E5C7391F8EDF9B2DA25C5E479C9CA6560C25690AAEC150C1306C14A23E8C04C8 42030036C63768FA8789193C49B765CA2F253807B01216D9E27FF612E03DFAFD 8705CAFBB8146F575500B0439501E47A4D1D8A95D128C646EDC4C46CF6562153 E0AA27485C3A7B0F073D084234AA2A17C96010167FE602B766ED836407E43C3F F6537D940E5C060841712AF19CCBB8360D338EF760768B946C79C9E08A6DDFA9 EEA42C57CCA399F040002EE231360AE37D894D1FE27376022996C2C16C6E1EC2 825B1D2D1FA82BA3FAC22E3A7C5FDC52D46500C7B36FB4E1F550C20B66EDC940 885718E2CE4B656F8861B128BC7FA8D9206BC88A6E9A5343F7EA2EFCD9FDEFB2 A693C96A3F1125E99AF9080D1517750DB77003D8F15609EC3A13512D57EC040D 3F29A9949ABE4571B952A29801F5B0008EB57FE20D0343892B54AB2885FDB808 21AE443F810E352D2D4A02911E3EC42FF87CC7826DFD33C829F614045FB9132B 0FB205BCB5102FC110CEB181C66EB5ECCCE22CE6896A2F5DF89D802EFCC1189B EB2F28FCB9A7096522A5A5FAF3F92F157ED6111AD7F3B3C4D2EEB2243F38AAA9 C0BA7B3B5B5B1529A07F188B80D5F607434E41151E62B0C6D43EA695B2F54878 2962CA21F3B0A0FADA20031EFCC1236E52C348423B151002563292988E1E8AD3 FC9636BD4D2BF33708F0E10A447DD88AA0FA802E22B84366BE9F5177B2E16D57 F12D96255893EA0B5466DB5FE09448F7A3FD8AAB15F5ECB1B399507A4AFAD540 21006F92CE0256D75091B5C7EC29B6582664050BFD2E67347E22C00FD1517294 3E218CD8D5723AE3E19798899B54B868C801B2A6861FA811A82419F5032A0DBD 947D05541B7235A9476A2B4D64A82CA6E5940EC54073EA01D082ABA214AB7B28 874AA25565C418490A795317A33018761171943D8284B81C258EDC2FC127FFD9} Material.Texture.TextureMode = tmModulate Material.Texture.Disabled = False TextureScale.Coordinates = {0000003F0000003F0000803F00000000} end> Left = 192 Top = 8 end end