Unit1.dfm 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787
  1. object Form1: TForm1
  2. Left = 0
  3. Top = 0
  4. Caption = 'Cg Multi Texturing'
  5. ClientHeight = 414
  6. ClientWidth = 591
  7. Color = clBtnFace
  8. Font.Charset = DEFAULT_CHARSET
  9. Font.Color = clWindowText
  10. Font.Height = -11
  11. Font.Name = 'Tahoma'
  12. Font.Style = []
  13. OldCreateOrder = False
  14. OnCreate = FormCreate
  15. OnKeyPress = FormKeyPress
  16. OnMouseWheel = FormMouseWheel
  17. PixelsPerInch = 96
  18. TextHeight = 13
  19. object Splitter1: TSplitter
  20. Left = 313
  21. Top = 0
  22. Height = 414
  23. Color = clBtnShadow
  24. ParentColor = False
  25. ExplicitTop = -4
  26. ExplicitHeight = 395
  27. end
  28. object Panel1: TPanel
  29. Left = 0
  30. Top = 0
  31. Width = 313
  32. Height = 414
  33. Align = alLeft
  34. BevelInner = bvRaised
  35. BevelOuter = bvLowered
  36. TabOrder = 0
  37. object PageControl1: TPageControl
  38. Left = 2
  39. Top = 2
  40. Width = 309
  41. Height = 410
  42. ActivePage = TabSheet3
  43. Align = alClient
  44. Font.Charset = ANSI_CHARSET
  45. Font.Color = clWindowText
  46. Font.Height = -11
  47. Font.Name = 'Tahoma'
  48. Font.Style = []
  49. ParentFont = False
  50. TabOrder = 0
  51. object TabSheet1: TTabSheet
  52. Caption = 'Vertex Program'
  53. ExplicitLeft = 0
  54. ExplicitTop = 0
  55. ExplicitWidth = 0
  56. ExplicitHeight = 0
  57. object Splitter3: TSplitter
  58. Left = 0
  59. Top = 289
  60. Width = 301
  61. Height = 3
  62. Cursor = crVSplit
  63. Align = alBottom
  64. Color = clBtnShadow
  65. ParentColor = False
  66. ExplicitTop = 276
  67. end
  68. object Panel2: TPanel
  69. Left = 0
  70. Top = 0
  71. Width = 301
  72. Height = 25
  73. Align = alTop
  74. BevelOuter = bvNone
  75. TabOrder = 0
  76. object LabelVertProfile: TLabel
  77. Left = 88
  78. Top = 5
  79. Width = 63
  80. Height = 13
  81. Caption = 'Using profile:'
  82. end
  83. object CBVertexProgram: TCheckBox
  84. Left = 6
  85. Top = 4
  86. Width = 59
  87. Height = 17
  88. Caption = 'Enabled'
  89. Checked = True
  90. Font.Charset = ANSI_CHARSET
  91. Font.Color = clWindowText
  92. Font.Height = -11
  93. Font.Name = 'Tahoma'
  94. Font.Style = []
  95. ParentFont = False
  96. State = cbChecked
  97. TabOrder = 0
  98. OnClick = CBVertexProgramClick
  99. end
  100. end
  101. object Panel11: TPanel
  102. Left = 0
  103. Top = 25
  104. Width = 301
  105. Height = 264
  106. Align = alClient
  107. Caption = 'Panel6'
  108. TabOrder = 1
  109. object Panel12: TPanel
  110. Left = 1
  111. Top = 1
  112. Width = 299
  113. Height = 16
  114. Align = alTop
  115. BevelOuter = bvNone
  116. Caption = 'Shader Code'
  117. Color = clBtnHighlight
  118. TabOrder = 0
  119. end
  120. object MemoVertCode: TMemo
  121. Left = 1
  122. Top = 17
  123. Width = 299
  124. Height = 221
  125. Align = alClient
  126. Font.Charset = ANSI_CHARSET
  127. Font.Color = clWindowText
  128. Font.Height = -11
  129. Font.Name = 'Lucida Console'
  130. Font.Style = []
  131. ParentFont = False
  132. ScrollBars = ssBoth
  133. TabOrder = 1
  134. WordWrap = False
  135. OnChange = MemoVertCodeChange
  136. end
  137. object Panel13: TPanel
  138. Left = 1
  139. Top = 238
  140. Width = 299
  141. Height = 25
  142. Align = alBottom
  143. BevelOuter = bvNone
  144. TabOrder = 2
  145. DesignSize = (
  146. 299
  147. 25)
  148. object ButtonApplyVP: TButton
  149. Left = 224
  150. Top = 2
  151. Width = 67
  152. Height = 20
  153. Anchors = [akTop, akRight]
  154. Caption = 'Apply'
  155. Enabled = False
  156. TabOrder = 0
  157. OnClick = ButtonApplyVPClick
  158. end
  159. end
  160. end
  161. object Panel5: TPanel
  162. Left = 0
  163. Top = 292
  164. Width = 301
  165. Height = 90
  166. Align = alBottom
  167. TabOrder = 2
  168. DesignSize = (
  169. 301
  170. 90)
  171. object Label2: TLabel
  172. Left = 228
  173. Top = 5
  174. Width = 30
  175. Height = 13
  176. Anchors = [akTop, akRight]
  177. Caption = 'Show:'
  178. end
  179. object Memo1: TMemo
  180. Left = 1
  181. Top = 1
  182. Width = 216
  183. Height = 88
  184. Align = alLeft
  185. Anchors = [akLeft, akTop, akRight, akBottom]
  186. Color = clBtnFace
  187. Font.Charset = ANSI_CHARSET
  188. Font.Color = clWindowText
  189. Font.Height = -9
  190. Font.Name = 'Lucida Console'
  191. Font.Style = []
  192. ParentFont = False
  193. ReadOnly = True
  194. ScrollBars = ssBoth
  195. TabOrder = 0
  196. WordWrap = False
  197. end
  198. object Button1: TButton
  199. Left = 226
  200. Top = 21
  201. Width = 64
  202. Height = 18
  203. Anchors = [akTop, akRight]
  204. Caption = 'Params'
  205. TabOrder = 1
  206. OnClick = Button1Click
  207. end
  208. object Button4: TButton
  209. Left = 226
  210. Top = 42
  211. Width = 64
  212. Height = 18
  213. Anchors = [akTop, akRight]
  214. Caption = 'Asm'
  215. TabOrder = 2
  216. OnClick = Button4Click
  217. end
  218. end
  219. end
  220. object TabSheet2: TTabSheet
  221. Caption = 'Fragment Program'
  222. ImageIndex = 1
  223. ExplicitLeft = 0
  224. ExplicitTop = 0
  225. ExplicitWidth = 0
  226. ExplicitHeight = 0
  227. object Splitter2: TSplitter
  228. Left = 0
  229. Top = 289
  230. Width = 301
  231. Height = 3
  232. Cursor = crVSplit
  233. Align = alBottom
  234. Color = clBtnShadow
  235. ParentColor = False
  236. ExplicitTop = 287
  237. end
  238. object Panel4: TPanel
  239. Left = 0
  240. Top = 0
  241. Width = 301
  242. Height = 25
  243. Align = alTop
  244. BevelOuter = bvNone
  245. TabOrder = 0
  246. object LabelFragProfile: TLabel
  247. Left = 88
  248. Top = 5
  249. Width = 63
  250. Height = 13
  251. Caption = 'Using profile:'
  252. end
  253. object CBFragmentProgram: TCheckBox
  254. Left = 6
  255. Top = 4
  256. Width = 67
  257. Height = 17
  258. Caption = 'Enabled'
  259. Checked = True
  260. State = cbChecked
  261. TabOrder = 0
  262. OnClick = CBFragmentProgramClick
  263. end
  264. end
  265. object Panel6: TPanel
  266. Left = 0
  267. Top = 25
  268. Width = 301
  269. Height = 264
  270. Align = alClient
  271. Caption = 'Panel6'
  272. TabOrder = 1
  273. object Panel7: TPanel
  274. Left = 1
  275. Top = 1
  276. Width = 299
  277. Height = 16
  278. Align = alTop
  279. BevelOuter = bvNone
  280. Caption = 'Shader Code'
  281. Color = clBtnHighlight
  282. TabOrder = 0
  283. end
  284. object MemoFragCode: TMemo
  285. Left = 1
  286. Top = 17
  287. Width = 299
  288. Height = 221
  289. Align = alClient
  290. Font.Charset = ANSI_CHARSET
  291. Font.Color = clWindowText
  292. Font.Height = -11
  293. Font.Name = 'Lucida Console'
  294. Font.Style = []
  295. ParentFont = False
  296. ScrollBars = ssBoth
  297. TabOrder = 1
  298. WordWrap = False
  299. OnChange = MemoFragCodeChange
  300. end
  301. object Panel3: TPanel
  302. Left = 1
  303. Top = 238
  304. Width = 299
  305. Height = 25
  306. Align = alBottom
  307. BevelOuter = bvNone
  308. TabOrder = 2
  309. DesignSize = (
  310. 299
  311. 25)
  312. object ButtonApplyFP: TButton
  313. Left = 224
  314. Top = 2
  315. Width = 67
  316. Height = 20
  317. Anchors = [akTop, akRight]
  318. Caption = 'Apply'
  319. Enabled = False
  320. TabOrder = 0
  321. OnClick = ButtonApplyFPClick
  322. end
  323. end
  324. end
  325. object Panel8: TPanel
  326. Left = 0
  327. Top = 292
  328. Width = 301
  329. Height = 90
  330. Align = alBottom
  331. TabOrder = 2
  332. DesignSize = (
  333. 301
  334. 90)
  335. object Label1: TLabel
  336. Left = 228
  337. Top = 5
  338. Width = 30
  339. Height = 13
  340. Anchors = [akTop, akRight]
  341. Caption = 'Show:'
  342. end
  343. object Memo3: TMemo
  344. Left = 1
  345. Top = 1
  346. Width = 216
  347. Height = 88
  348. Align = alLeft
  349. Anchors = [akLeft, akTop, akRight, akBottom]
  350. Color = clBtnFace
  351. Font.Charset = ANSI_CHARSET
  352. Font.Color = clWindowText
  353. Font.Height = -11
  354. Font.Name = 'Courier New'
  355. Font.Style = []
  356. ParentFont = False
  357. ReadOnly = True
  358. ScrollBars = ssBoth
  359. TabOrder = 0
  360. WordWrap = False
  361. end
  362. object Button2: TButton
  363. Left = 226
  364. Top = 21
  365. Width = 64
  366. Height = 18
  367. Anchors = [akTop, akRight]
  368. Caption = 'Params'
  369. TabOrder = 1
  370. OnClick = Button2Click
  371. end
  372. object Button3: TButton
  373. Left = 226
  374. Top = 42
  375. Width = 64
  376. Height = 18
  377. Anchors = [akTop, akRight]
  378. Caption = 'Asm'
  379. TabOrder = 2
  380. OnClick = Button3Click
  381. end
  382. end
  383. end
  384. object TabSheet3: TTabSheet
  385. Caption = 'Controls'
  386. ImageIndex = 2
  387. ExplicitLeft = 0
  388. ExplicitTop = 0
  389. ExplicitWidth = 0
  390. ExplicitHeight = 0
  391. DesignSize = (
  392. 301
  393. 382)
  394. object Label16: TLabel
  395. Left = 8
  396. Top = 272
  397. Width = 282
  398. Height = 13
  399. Caption = 'Note: NV2x class hardware may not honor negative values'
  400. end
  401. object GroupBox1: TGroupBox
  402. Left = 8
  403. Top = 40
  404. Width = 281
  405. Height = 105
  406. Anchors = [akLeft, akTop, akRight]
  407. Caption = ' TexCoord. Shifts '
  408. TabOrder = 0
  409. DesignSize = (
  410. 281
  411. 105)
  412. object Label18: TLabel
  413. Left = 64
  414. Top = 86
  415. Width = 193
  416. Height = 13
  417. Alignment = taCenter
  418. Anchors = [akLeft, akTop, akRight]
  419. AutoSize = False
  420. Caption = '0'
  421. end
  422. object Label3: TLabel
  423. Left = 16
  424. Top = 24
  425. Width = 27
  426. Height = 13
  427. Caption = 'Tex 0'
  428. end
  429. object Label4: TLabel
  430. Left = 16
  431. Top = 40
  432. Width = 27
  433. Height = 13
  434. Caption = 'Tex 1'
  435. end
  436. object Label5: TLabel
  437. Left = 16
  438. Top = 56
  439. Width = 27
  440. Height = 13
  441. Caption = 'Tex 2'
  442. end
  443. object Label6: TLabel
  444. Left = 16
  445. Top = 72
  446. Width = 27
  447. Height = 13
  448. Caption = 'Tex 3'
  449. end
  450. object Label11: TLabel
  451. Left = 32
  452. Top = 24
  453. Width = 3
  454. Height = 13
  455. end
  456. object Label12: TLabel
  457. Left = 56
  458. Top = 86
  459. Width = 10
  460. Height = 13
  461. Caption = '-1'
  462. end
  463. object Label14: TLabel
  464. Left = 252
  465. Top = 86
  466. Width = 6
  467. Height = 13
  468. Anchors = [akTop, akRight]
  469. Caption = '1'
  470. end
  471. object TrackBar1: TTrackBar
  472. Left = 56
  473. Top = 24
  474. Width = 206
  475. Height = 15
  476. Anchors = [akLeft, akTop, akRight]
  477. Max = 100
  478. Position = 50
  479. TabOrder = 0
  480. ThumbLength = 12
  481. TickMarks = tmBoth
  482. TickStyle = tsNone
  483. end
  484. object TrackBar2: TTrackBar
  485. Left = 56
  486. Top = 40
  487. Width = 206
  488. Height = 15
  489. Anchors = [akLeft, akTop, akRight]
  490. Max = 100
  491. Position = 50
  492. TabOrder = 1
  493. ThumbLength = 12
  494. TickMarks = tmBoth
  495. TickStyle = tsNone
  496. end
  497. object TrackBar3: TTrackBar
  498. Left = 56
  499. Top = 56
  500. Width = 206
  501. Height = 15
  502. Anchors = [akLeft, akTop, akRight]
  503. Max = 100
  504. Position = 50
  505. TabOrder = 2
  506. ThumbLength = 12
  507. TickMarks = tmBoth
  508. TickStyle = tsNone
  509. end
  510. object TrackBar4: TTrackBar
  511. Left = 56
  512. Top = 72
  513. Width = 206
  514. Height = 15
  515. Anchors = [akLeft, akTop, akRight]
  516. Max = 100
  517. Position = 50
  518. TabOrder = 3
  519. ThumbLength = 12
  520. TickMarks = tmBoth
  521. TickStyle = tsNone
  522. end
  523. end
  524. object GroupBox2: TGroupBox
  525. Left = 8
  526. Top = 160
  527. Width = 281
  528. Height = 105
  529. Anchors = [akLeft, akTop, akRight]
  530. Caption = ' Blending Weights '
  531. TabOrder = 1
  532. DesignSize = (
  533. 281
  534. 105)
  535. object Label17: TLabel
  536. Left = 64
  537. Top = 86
  538. Width = 193
  539. Height = 13
  540. Alignment = taCenter
  541. Anchors = [akLeft, akTop, akRight]
  542. AutoSize = False
  543. Caption = '0'
  544. end
  545. object Label7: TLabel
  546. Left = 16
  547. Top = 24
  548. Width = 27
  549. Height = 13
  550. Caption = 'Tex 0'
  551. end
  552. object Label8: TLabel
  553. Left = 16
  554. Top = 40
  555. Width = 27
  556. Height = 13
  557. Caption = 'Tex 1'
  558. end
  559. object Label9: TLabel
  560. Left = 16
  561. Top = 56
  562. Width = 27
  563. Height = 13
  564. Caption = 'Tex 2'
  565. end
  566. object Label10: TLabel
  567. Left = 16
  568. Top = 72
  569. Width = 27
  570. Height = 13
  571. Caption = 'Tex 3'
  572. end
  573. object Label13: TLabel
  574. Left = 252
  575. Top = 86
  576. Width = 6
  577. Height = 13
  578. Anchors = [akTop, akRight]
  579. Caption = '1'
  580. end
  581. object Label15: TLabel
  582. Left = 56
  583. Top = 86
  584. Width = 10
  585. Height = 13
  586. Caption = '-1'
  587. end
  588. object TrackBar5: TTrackBar
  589. Left = 56
  590. Top = 24
  591. Width = 206
  592. Height = 15
  593. Anchors = [akLeft, akTop, akRight]
  594. Max = 100
  595. Position = 75
  596. TabOrder = 0
  597. ThumbLength = 12
  598. TickMarks = tmBoth
  599. TickStyle = tsNone
  600. end
  601. object TrackBar6: TTrackBar
  602. Left = 56
  603. Top = 40
  604. Width = 206
  605. Height = 15
  606. Anchors = [akLeft, akTop, akRight]
  607. Max = 100
  608. Position = 75
  609. TabOrder = 1
  610. ThumbLength = 12
  611. TickMarks = tmBoth
  612. TickStyle = tsNone
  613. end
  614. object TrackBar7: TTrackBar
  615. Left = 56
  616. Top = 56
  617. Width = 206
  618. Height = 15
  619. Anchors = [akLeft, akTop, akRight]
  620. Max = 100
  621. Position = 75
  622. TabOrder = 2
  623. ThumbLength = 12
  624. TickMarks = tmBoth
  625. TickStyle = tsNone
  626. end
  627. object TrackBar8: TTrackBar
  628. Left = 56
  629. Top = 72
  630. Width = 206
  631. Height = 15
  632. Anchors = [akLeft, akTop, akRight]
  633. Max = 100
  634. Position = 65
  635. TabOrder = 3
  636. ThumbLength = 12
  637. TickMarks = tmBoth
  638. TickStyle = tsNone
  639. end
  640. end
  641. object CheckBox2: TCheckBox
  642. Left = 14
  643. Top = 12
  644. Width = 131
  645. Height = 17
  646. Caption = 'CgShader Enabled'
  647. Checked = True
  648. Font.Charset = ANSI_CHARSET
  649. Font.Color = clWindowText
  650. Font.Height = -11
  651. Font.Name = 'Tahoma'
  652. Font.Style = []
  653. ParentFont = False
  654. State = cbChecked
  655. TabOrder = 2
  656. OnClick = CheckBox2Click
  657. end
  658. end
  659. end
  660. end
  661. object Panel9: TPanel
  662. Left = 316
  663. Top = 0
  664. Width = 275
  665. Height = 414
  666. Align = alClient
  667. Font.Charset = ANSI_CHARSET
  668. Font.Color = clWindowText
  669. Font.Height = -19
  670. Font.Name = 'Tahoma'
  671. Font.Style = [fsBold]
  672. ParentFont = False
  673. TabOrder = 1
  674. object PanelFPS: TPanel
  675. Left = 1
  676. Top = 1
  677. Width = 273
  678. Height = 48
  679. Align = alTop
  680. Caption = 'FPS'
  681. Font.Charset = ANSI_CHARSET
  682. Font.Color = clWindowText
  683. Font.Height = -19
  684. Font.Name = 'Trebuchet MS'
  685. Font.Style = []
  686. ParentFont = False
  687. TabOrder = 0
  688. end
  689. object GLSceneViewer1: TGLSceneViewer
  690. Left = 1
  691. Top = 49
  692. Width = 273
  693. Height = 364
  694. Camera = GLCamera1
  695. Buffer.Lighting = False
  696. Buffer.AntiAliasing = aa4xHQ
  697. FieldOfView = 139.764404296875000000
  698. Align = alClient
  699. OnMouseDown = GLSceneViewer1MouseDown
  700. OnMouseMove = GLSceneViewer1MouseMove
  701. TabOrder = 1
  702. end
  703. end
  704. object GLScene1: TGLScene
  705. Left = 32
  706. Top = 80
  707. object GLXYZGrid1: TGLXYZGrid
  708. Position.Coordinates = {000000006F12033B000000000000803F}
  709. LineColor.Color = {938C0C3E938E0E3F938C0C3E0000803F}
  710. XSamplingScale.Min = -2.000000000000000000
  711. XSamplingScale.Max = 2.000000000000000000
  712. XSamplingScale.Step = 0.100000001490116100
  713. YSamplingScale.Step = 0.100000001490116100
  714. ZSamplingScale.Min = -2.000000000000000000
  715. ZSamplingScale.Max = 2.000000000000000000
  716. ZSamplingScale.Step = 0.100000001490116100
  717. Parts = [gpX, gpZ]
  718. end
  719. object GLPlane1: TGLPlane
  720. Material.MaterialLibrary = GLMatLib
  721. Material.LibMaterialName = 'LibMaterial'
  722. Direction.Coordinates = {000000000000803F0000000000000000}
  723. PitchAngle = 90.000000000000000000
  724. Up.Coordinates = {0000000000000000000080BF00000000}
  725. Height = 1.000000000000000000
  726. Width = 1.000000000000000000
  727. end
  728. object GLCamera1: TGLCamera
  729. DepthOfView = 100.000000000000000000
  730. FocalLength = 50.000000000000000000
  731. TargetObject = GLPlane1
  732. CameraStyle = csInfinitePerspective
  733. Position.Coordinates = {000000000000C03F0000803F0000803F}
  734. end
  735. end
  736. object GLCadencer1: TGLCadencer
  737. Scene = GLScene1
  738. OnProgress = GLCadencer1Progress
  739. Left = 32
  740. Top = 144
  741. end
  742. object CgShader1: TCgShader
  743. VertexProgram.OnApply = CgShader1ApplyVP
  744. FragmentProgram.OnApply = CgShader1ApplyFP
  745. FragmentProgram.OnUnApply = CgShader1UnApplyFP
  746. OnApplyVP = CgShader1ApplyVP
  747. OnApplyFP = CgShader1ApplyFP
  748. OnUnApplyFP = CgShader1UnApplyFP
  749. OnInitialize = CgShader1Initialize
  750. Left = 168
  751. Top = 80
  752. end
  753. object Timer1: TTimer
  754. OnTimer = Timer1Timer
  755. Left = 164
  756. Top = 144
  757. end
  758. object GLMatLib: TGLMaterialLibrary
  759. Materials = <
  760. item
  761. Name = 'LibMaterial'
  762. Tag = 0
  763. Material.Texture.Disabled = False
  764. Material.MaterialLibrary = GLMatLib
  765. Shader = CgShader1
  766. end
  767. item
  768. Name = 'LibMaterial1'
  769. Tag = 0
  770. Material.Texture.Disabled = False
  771. Material.MaterialLibrary = GLMatLib
  772. end
  773. item
  774. Name = 'LibMaterial2'
  775. Tag = 0
  776. Material.MaterialLibrary = GLMatLib
  777. end
  778. item
  779. Name = 'LibMaterial3'
  780. Tag = 0
  781. Material.MaterialLibrary = GLMatLib
  782. end>
  783. TexturePaths = '..\\..\\..\\..\\media\\'
  784. Left = 105
  785. Top = 80
  786. end
  787. end