test.rfx 76 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <!DOCTYPE RENDER_MONKEY [
  3. <!ELEMENT RENDER_MONKEY
  4. (
  5. RmEffectWorkspace |
  6. RmRegistryBranch |
  7. RmClipboardNode
  8. )?>
  9. <!ELEMENT RmEffectWorkspace
  10. (
  11. RmRegistryBranch?,
  12. RmPlugInData?,
  13. RmStringVariable*,
  14. (
  15. ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) |
  16. ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) |
  17. ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? )
  18. )?,
  19. (
  20. RmBooleanVariable |
  21. RmIntegerVariable |
  22. RmFloatVariable |
  23. RmVectorVariable |
  24. RmMatrixVariable |
  25. RmDynamicVariable |
  26. RmColorVariable |
  27. Rm2DTextureVariable |
  28. RmCubemapVariable |
  29. Rm3DTextureVariable |
  30. RmLightVariable |
  31. RmMaterialVariable |
  32. RmRenderableTexture |
  33. RmStreamMap |
  34. RmModelData |
  35. RmEffectGroup
  36. )*
  37. )>
  38. <!ELEMENT RmEffectGroup
  39. (
  40. RmPlugInData?,
  41. (
  42. RmStringVariable |
  43. RmDirectXEffect |
  44. RmOpenGLEffect |
  45. RmOpenGLESEffect |
  46. RmBooleanVariable |
  47. RmIntegerVariable |
  48. RmFloatVariable |
  49. RmVectorVariable |
  50. RmMatrixVariable |
  51. RmDynamicVariable |
  52. RmColorVariable |
  53. Rm2DTextureVariable |
  54. RmCubemapVariable |
  55. Rm3DTextureVariable |
  56. RmLightVariable |
  57. RmMaterialVariable |
  58. RmRenderableTexture |
  59. RmStreamMap |
  60. RmModelData
  61. )*
  62. )>
  63. <!ELEMENT RmDirectXEffect
  64. (
  65. RmPlugInData?,
  66. (
  67. RmStringVariable |
  68. RmCamera |
  69. RmBooleanVariable |
  70. RmIntegerVariable |
  71. RmFloatVariable |
  72. RmVectorVariable |
  73. RmMatrixVariable |
  74. RmDynamicVariable |
  75. RmColorVariable |
  76. Rm2DTextureVariable |
  77. RmCubemapVariable |
  78. Rm3DTextureVariable |
  79. RmLightVariable |
  80. RmMaterialVariable |
  81. RmRenderableTexture |
  82. RmStreamMap |
  83. RmModelData |
  84. RmPass
  85. )*
  86. )>
  87. <!ELEMENT RmOpenGLEffect
  88. (
  89. RmPlugInData?,
  90. (
  91. RmStringVariable |
  92. RmCamera |
  93. RmBooleanVariable |
  94. RmIntegerVariable |
  95. RmFloatVariable |
  96. RmVectorVariable |
  97. RmMatrixVariable |
  98. RmDynamicVariable |
  99. RmColorVariable |
  100. Rm2DTextureVariable |
  101. RmCubemapVariable |
  102. Rm3DTextureVariable |
  103. RmLightVariable |
  104. RmMaterialVariable |
  105. RmRenderableTexture |
  106. RmStreamMap |
  107. RmModelData |
  108. RmGLPass
  109. )*
  110. )>
  111. <!ELEMENT RmOpenGLESEffect
  112. (
  113. RmPlugInData?,
  114. (
  115. RmStringVariable |
  116. RmCamera |
  117. RmBooleanVariable |
  118. RmIntegerVariable |
  119. RmFloatVariable |
  120. RmVectorVariable |
  121. RmMatrixVariable |
  122. RmDynamicVariable |
  123. RmColorVariable |
  124. Rm2DTextureVariable |
  125. RmCubemapVariable |
  126. Rm3DTextureVariable |
  127. RmLightVariable |
  128. RmMaterialVariable |
  129. RmRenderableTexture |
  130. RmStreamMap |
  131. RmModelData |
  132. RmGLESPass
  133. )*
  134. )>
  135. <!ELEMENT RmPass
  136. (
  137. RmPlugInData?,
  138. RmStringVariable*,
  139. RmCameraReference?,
  140. RmModelReference?,
  141. RmRenderStateBlock?,
  142. (
  143. (
  144. ( RmHLSLShader | RmShader ),
  145. ( RmShader | RmHLSLShader )?
  146. )
  147. )?,
  148. RmRenderTarget*,
  149. RmTessellationNode?,
  150. RmStreamMapReference?,
  151. (
  152. RmBooleanVariable |
  153. RmIntegerVariable |
  154. RmFloatVariable |
  155. RmVectorVariable |
  156. RmMatrixVariable |
  157. RmDynamicVariable |
  158. RmColorVariable |
  159. Rm2DTextureVariable |
  160. RmCubemapVariable |
  161. Rm3DTextureVariable |
  162. RmLightVariable |
  163. RmMaterialVariable |
  164. RmTextureObject |
  165. RmLightObject |
  166. RmMaterialObject
  167. )*
  168. )>
  169. <!ELEMENT RmGLPass
  170. (
  171. RmPlugInData?,
  172. RmStringVariable*,
  173. RmCameraReference?,
  174. RmModelReference?,
  175. RmRenderStateBlock?,
  176. (
  177. ( RmGLShader, RmGLShader? )
  178. )?,
  179. RmRenderTarget?,
  180. RmStreamMapReference?,
  181. (
  182. RmBooleanVariable |
  183. RmIntegerVariable |
  184. RmFloatVariable |
  185. RmVectorVariable |
  186. RmMatrixVariable |
  187. RmDynamicVariable |
  188. RmColorVariable |
  189. Rm2DTextureVariable |
  190. RmCubemapVariable |
  191. Rm3DTextureVariable |
  192. RmLightVariable |
  193. RmMaterialVariable |
  194. RmTextureObject |
  195. RmLightObject |
  196. RmMaterialObject |
  197. RmShaderConstant |
  198. RmSampler
  199. )*
  200. )>
  201. <!ELEMENT RmGLESPass
  202. (
  203. RmPlugInData?,
  204. RmStringVariable*,
  205. RmCameraReference?,
  206. RmModelReference?,
  207. RmRenderStateBlock?,
  208. (
  209. ( RmGLESShader, RmGLESShader? )
  210. )?,
  211. RmRenderTarget?,
  212. RmStreamMapReference?,
  213. (
  214. RmBooleanVariable |
  215. RmIntegerVariable |
  216. RmFloatVariable |
  217. RmVectorVariable |
  218. RmMatrixVariable |
  219. RmDynamicVariable |
  220. RmColorVariable |
  221. Rm2DTextureVariable |
  222. RmCubemapVariable |
  223. Rm3DTextureVariable |
  224. RmLightVariable |
  225. RmMaterialVariable |
  226. RmTextureObject |
  227. RmLightObject |
  228. RmMaterialObject |
  229. RmShaderConstant |
  230. RmSampler
  231. )*
  232. )>
  233. <!ELEMENT RmShader
  234. (
  235. RmShaderCode,
  236. RmPlugInData?,
  237. (
  238. RmStringVariable |
  239. RmShaderConstant
  240. )*
  241. )>
  242. <!ELEMENT RmHLSLShader
  243. (
  244. RmShaderCode,
  245. RmPlugInData?,
  246. (
  247. RmStringVariable |
  248. RmShaderConstant |
  249. RmSampler
  250. )*
  251. )>
  252. <!ELEMENT RmGLShader
  253. (
  254. RmShaderCode,
  255. RmPlugInData?,
  256. (
  257. RmStringVariable
  258. )*
  259. )>
  260. <!ELEMENT RmGLESShader
  261. (
  262. RmShaderCode,
  263. RmPlugInData?,
  264. (
  265. RmStringVariable
  266. )*
  267. )>
  268. <!ELEMENT RmTextureObject
  269. (
  270. RmPlugInData?,
  271. RmStringVariable*,
  272. RmTextureReference?,
  273. RmState*
  274. )>
  275. <!ELEMENT RmLightObject
  276. (
  277. RmPlugInData?,
  278. RmStringVariable*,
  279. RmLightReference?
  280. )>
  281. <!ELEMENT RmMaterialObject
  282. (
  283. RmPlugInData?,
  284. RmStringVariable*,
  285. RmMaterialReference?
  286. )>
  287. <!ELEMENT RmRenderStateBlock
  288. (
  289. RmPlugInData?,
  290. (
  291. RmStringVariable |
  292. RmState
  293. )*
  294. )>
  295. <!ELEMENT RmTessellationNode
  296. (
  297. RmPlugInData?,
  298. RmStringVariable*
  299. )>
  300. <!ELEMENT RmStreamMap
  301. (
  302. RmPlugInData?,
  303. (
  304. RmStringVariable |
  305. RmStream
  306. )*
  307. )>
  308. <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )>
  309. <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )>
  310. <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )>
  311. <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )>
  312. <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )>
  313. <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )>
  314. <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )>
  315. <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )>
  316. <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )>
  317. <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )>
  318. <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )>
  319. <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )>
  320. <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )>
  321. <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )>
  322. <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )>
  323. <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )>
  324. <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )>
  325. <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )>
  326. <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )>
  327. <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )>
  328. <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )>
  329. <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )>
  330. <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )>
  331. <!ELEMENT RmDynamicVariable
  332. (
  333. RmDynamicVariableValueContainer,
  334. RmPlugInData?,
  335. RmStringVariable?
  336. )>
  337. <!ELEMENT RmDynamicVariableValueContainer
  338. (
  339. RmPlugInData?,
  340. RmDynamicVariableValue*
  341. )>
  342. <!ELEMENT RmTextDataBlock ( #PCDATA ) >
  343. <!ELEMENT RmRegistryBranch
  344. (
  345. RmTextDataBlock?,
  346. (
  347. RmRegistryBranch |
  348. RmStringVariable |
  349. RmIntegerVariable |
  350. RmBooleanVariable |
  351. RmFloatVariable
  352. )*
  353. )>
  354. <!ELEMENT RmPlugInData
  355. (
  356. RmTextDataBlock?,
  357. (
  358. RmStringVariable |
  359. RmIntegerVariable |
  360. RmBooleanVariable |
  361. RmFloatVariable |
  362. RmVectorVariable
  363. )*
  364. )>
  365. <!ELEMENT RmClipboardNode
  366. (
  367. RmTextDataBlock?,
  368. (
  369. RmEffectWorkspace |
  370. RmEffectGroup |
  371. RmDirectXEffect |
  372. RmOpenGLEffect |
  373. RmOpenGLESEffect |
  374. RmPass |
  375. RmGLPass |
  376. RmGLESPass |
  377. RmShader |
  378. RmHLSLShader |
  379. RmGLShader |
  380. RmGLESShader |
  381. RmShaderConstant |
  382. RmSampler |
  383. RmTextureObject |
  384. RmLightObject |
  385. RmMaterialObject |
  386. RmRenderStateBlock |
  387. RmState |
  388. RmStreamMap |
  389. RmStream |
  390. RmStreamChannel |
  391. RmModelData |
  392. RmTextureReference |
  393. RmLightReference |
  394. RmMaterialReference |
  395. RmModelReference |
  396. RmStreamMapReference |
  397. RmRenderableTexture |
  398. RmRenderTarget |
  399. RmBooleanVariable |
  400. RmFloatVariable |
  401. RmVectorVariable |
  402. RmMatrixVariable |
  403. RmDynamicVariable |
  404. RmDynamicVariableValue |
  405. RmColorVariable |
  406. RmIntegerVariable |
  407. RmStringVariable |
  408. Rm2DTextureVariable |
  409. RmCubemapVariable |
  410. Rm3DTextureVariable |
  411. RmLightVariable |
  412. RmMaterialVariable |
  413. RmRegistryBranch |
  414. RmPlugInData |
  415. RmCamera |
  416. RmCameraReference
  417. )*
  418. )>
  419. <!ELEMENT RmStreamChannel ( RmPlugInData? ) >
  420. <!ELEMENT RmShaderConstant ( RmPlugInData? ) >
  421. <!ELEMENT RmSampler ( RmPlugInData? ) >
  422. <!ELEMENT RmState ( RmPlugInData? ) >
  423. <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) >
  424. <!ELEMENT RmShaderCode ( #PCDATA ) >
  425. <!ATTLIST RmEffectWorkspace
  426. NAME CDATA #REQUIRED
  427. API CDATA #REQUIRED
  428. ACTIVE_EFFECT CDATA #REQUIRED
  429. VALIDATION_STRING CDATA #REQUIRED
  430. XML_VERSION CDATA #REQUIRED
  431. >
  432. <!ATTLIST RmEffectGroup
  433. NAME CDATA #REQUIRED
  434. API CDATA #REQUIRED
  435. >
  436. <!ATTLIST RmDirectXEffect
  437. NAME CDATA #REQUIRED
  438. API CDATA #REQUIRED
  439. ACTIVE_CAMERA CDATA #REQUIRED
  440. >
  441. <!ATTLIST RmOpenGLEffect
  442. NAME CDATA #REQUIRED
  443. API CDATA #REQUIRED
  444. ACTIVE_CAMERA CDATA #REQUIRED
  445. >
  446. <!ATTLIST RmOpenGLESEffect
  447. NAME CDATA #REQUIRED
  448. API CDATA #REQUIRED
  449. ACTIVE_CAMERA CDATA #REQUIRED
  450. >
  451. <!ATTLIST RmPass
  452. NAME CDATA #REQUIRED
  453. API CDATA #REQUIRED
  454. PASS_INDEX CDATA #REQUIRED
  455. ENABLED ( TRUE | FALSE ) #REQUIRED
  456. >
  457. <!ATTLIST RmGLPass
  458. NAME CDATA #REQUIRED
  459. API CDATA #REQUIRED
  460. PASS_INDEX CDATA #REQUIRED
  461. ENABLED ( TRUE | FALSE ) #REQUIRED
  462. >
  463. <!ATTLIST RmGLESPass
  464. NAME CDATA #REQUIRED
  465. API CDATA #REQUIRED
  466. PASS_INDEX CDATA #REQUIRED
  467. ENABLED ( TRUE | FALSE ) #REQUIRED
  468. >
  469. <!ATTLIST RmShader
  470. NAME CDATA #REQUIRED
  471. API CDATA #REQUIRED
  472. PIXEL_SHADER CDATA #REQUIRED
  473. >
  474. <!ATTLIST RmHLSLShader
  475. NAME CDATA #REQUIRED
  476. API CDATA #REQUIRED
  477. PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
  478. TARGET CDATA #REQUIRED
  479. ENTRY_POINT CDATA #REQUIRED
  480. COMPILER_FLAGS CDATA #REQUIRED
  481. >
  482. <!ATTLIST RmGLShader
  483. NAME CDATA #REQUIRED
  484. API CDATA #REQUIRED
  485. PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
  486. >
  487. <!ATTLIST RmGLESShader
  488. NAME CDATA #REQUIRED
  489. API CDATA #REQUIRED
  490. PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
  491. >
  492. <!ATTLIST RmShaderConstant
  493. NAME CDATA #REQUIRED
  494. API CDATA #REQUIRED
  495. REGISTER CDATA #REQUIRED
  496. >
  497. <!ATTLIST RmSampler
  498. NAME CDATA #REQUIRED
  499. API CDATA #REQUIRED
  500. REGISTER CDATA #REQUIRED
  501. >
  502. <!ATTLIST RmTextureObject
  503. NAME CDATA #REQUIRED
  504. API CDATA #REQUIRED
  505. STATE_INDEX CDATA #REQUIRED
  506. VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED
  507. >
  508. <!ATTLIST RmLightObject
  509. NAME CDATA #REQUIRED
  510. API CDATA #REQUIRED
  511. INDEX CDATA #REQUIRED
  512. >
  513. <!ATTLIST RmMaterialObject
  514. NAME CDATA #REQUIRED
  515. API CDATA #REQUIRED
  516. INDEX CDATA #REQUIRED
  517. >
  518. <!ATTLIST RmRenderStateBlock
  519. NAME CDATA #REQUIRED
  520. API CDATA #REQUIRED
  521. >
  522. <!ATTLIST RmState
  523. NAME CDATA #REQUIRED
  524. API CDATA #REQUIRED
  525. STATE CDATA #REQUIRED
  526. VALUE CDATA #REQUIRED
  527. USAGE CDATA #REQUIRED
  528. >
  529. <!ATTLIST RmStreamMap
  530. NAME CDATA #REQUIRED
  531. API CDATA #REQUIRED
  532. >
  533. <!ATTLIST RmStream
  534. NAME CDATA #REQUIRED
  535. API CDATA #REQUIRED
  536. STRIDE CDATA #REQUIRED
  537. >
  538. <!ATTLIST RmStreamChannel
  539. NAME CDATA #REQUIRED
  540. API CDATA #REQUIRED
  541. DATA_SIZE CDATA #REQUIRED
  542. DATA_TYPE CDATA #REQUIRED
  543. REGISTER CDATA #REQUIRED
  544. USAGE CDATA #REQUIRED
  545. USAGE_INDEX CDATA #REQUIRED
  546. ATTRIBUTE_NAME CDATA #REQUIRED
  547. >
  548. <!ATTLIST RmModelData
  549. NAME CDATA #REQUIRED
  550. API CDATA #REQUIRED
  551. FILE_NAME CDATA #REQUIRED
  552. ORIENTATION CDATA #REQUIRED
  553. >
  554. <!ATTLIST RmTextureReference
  555. NAME CDATA #REQUIRED
  556. API CDATA #REQUIRED
  557. >
  558. <!ATTLIST RmLightReference
  559. NAME CDATA #REQUIRED
  560. API CDATA #REQUIRED
  561. >
  562. <!ATTLIST RmMaterialReference
  563. NAME CDATA #REQUIRED
  564. API CDATA #REQUIRED
  565. >
  566. <!ATTLIST RmModelReference
  567. NAME CDATA #REQUIRED
  568. API CDATA #REQUIRED
  569. >
  570. <!ATTLIST RmStreamMapReference
  571. NAME CDATA #REQUIRED
  572. API CDATA #REQUIRED
  573. >
  574. <!ATTLIST RmRenderableTexture
  575. NAME CDATA #REQUIRED
  576. API CDATA #REQUIRED
  577. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  578. VARIABLE_SEMANTIC CDATA #REQUIRED
  579. FILE_NAME CDATA #REQUIRED
  580. ORIGIN CDATA #REQUIRED
  581. WIDTH CDATA #REQUIRED
  582. HEIGHT CDATA #REQUIRED
  583. FORMAT CDATA #REQUIRED
  584. USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED
  585. GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED
  586. WIDTH_RATIO CDATA #REQUIRED
  587. HEIGHT_RATIO CDATA #REQUIRED
  588. >
  589. <!ATTLIST RmRenderTarget
  590. NAME CDATA #REQUIRED
  591. API CDATA #REQUIRED
  592. INDEX CDATA #REQUIRED
  593. RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED
  594. COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED
  595. DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED
  596. CLEAR_COLOR_VALUE CDATA #REQUIRED
  597. DEPTH_CLEAR_VALUE CDATA #REQUIRED
  598. >
  599. <!ATTLIST RmBooleanVariable
  600. NAME CDATA #REQUIRED
  601. API CDATA #REQUIRED
  602. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  603. VARIABLE_SEMANTIC CDATA #REQUIRED
  604. VALUE CDATA #REQUIRED
  605. >
  606. <!ATTLIST RmFloatVariable
  607. NAME CDATA #REQUIRED
  608. API CDATA #REQUIRED
  609. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  610. VARIABLE_SEMANTIC CDATA #REQUIRED
  611. VALUE CDATA #REQUIRED
  612. MIN CDATA #REQUIRED
  613. MAX CDATA #REQUIRED
  614. CLAMP ( TRUE | FALSE ) #REQUIRED
  615. >
  616. <!ATTLIST RmVectorVariable
  617. NAME CDATA #REQUIRED
  618. API CDATA #REQUIRED
  619. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  620. VARIABLE_SEMANTIC CDATA #REQUIRED
  621. VALUE_0 CDATA #REQUIRED
  622. VALUE_1 CDATA #REQUIRED
  623. VALUE_2 CDATA #REQUIRED
  624. VALUE_3 CDATA #REQUIRED
  625. MIN CDATA #REQUIRED
  626. MAX CDATA #REQUIRED
  627. CLAMP ( TRUE | FALSE ) #REQUIRED
  628. NORMALIZE ( TRUE | FALSE ) #REQUIRED
  629. >
  630. <!ATTLIST RmMatrixVariable
  631. NAME CDATA #REQUIRED
  632. API CDATA #REQUIRED
  633. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  634. VARIABLE_SEMANTIC CDATA #REQUIRED
  635. VALUE_0 CDATA #REQUIRED
  636. VALUE_1 CDATA #REQUIRED
  637. VALUE_2 CDATA #REQUIRED
  638. VALUE_3 CDATA #REQUIRED
  639. VALUE_4 CDATA #REQUIRED
  640. VALUE_5 CDATA #REQUIRED
  641. VALUE_6 CDATA #REQUIRED
  642. VALUE_7 CDATA #REQUIRED
  643. VALUE_8 CDATA #REQUIRED
  644. VALUE_9 CDATA #REQUIRED
  645. VALUE_10 CDATA #REQUIRED
  646. VALUE_11 CDATA #REQUIRED
  647. VALUE_12 CDATA #REQUIRED
  648. VALUE_13 CDATA #REQUIRED
  649. VALUE_14 CDATA #REQUIRED
  650. VALUE_15 CDATA #REQUIRED
  651. >
  652. <!ATTLIST RmDynamicVariable
  653. NAME CDATA #REQUIRED
  654. API CDATA #REQUIRED
  655. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  656. VARIABLE_SEMANTIC CDATA #REQUIRED
  657. VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED
  658. ROWS CDATA #REQUIRED
  659. COLUMNS CDATA #REQUIRED
  660. FIXED_SIZE ( TRUE | FALSE ) #REQUIRED
  661. MIN CDATA #REQUIRED
  662. MAX CDATA #REQUIRED
  663. CLAMP ( TRUE | FALSE ) #REQUIRED
  664. NORMALIZE ( TRUE | FALSE ) #REQUIRED
  665. >
  666. <!ATTLIST RmDynamicVariableValue
  667. ROW_INDEX CDATA #REQUIRED
  668. COLUMN_INDEX CDATA #REQUIRED
  669. VALUE CDATA #REQUIRED
  670. >
  671. <!ATTLIST RmColorVariable
  672. NAME CDATA #REQUIRED
  673. API CDATA #REQUIRED
  674. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  675. VARIABLE_SEMANTIC CDATA #REQUIRED
  676. VALUE_0 CDATA #REQUIRED
  677. VALUE_1 CDATA #REQUIRED
  678. VALUE_2 CDATA #REQUIRED
  679. VALUE_3 CDATA #REQUIRED
  680. >
  681. <!ATTLIST RmIntegerVariable
  682. NAME CDATA #REQUIRED
  683. API CDATA #REQUIRED
  684. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  685. VARIABLE_SEMANTIC CDATA #REQUIRED
  686. VALUE CDATA #REQUIRED
  687. MIN CDATA #REQUIRED
  688. MAX CDATA #REQUIRED
  689. CLAMP ( TRUE | FALSE ) #REQUIRED
  690. >
  691. <!ATTLIST RmStringVariable
  692. NAME CDATA #REQUIRED
  693. API CDATA #REQUIRED
  694. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  695. VARIABLE_SEMANTIC CDATA #REQUIRED
  696. >
  697. <!ATTLIST Rm2DTextureVariable
  698. NAME CDATA #REQUIRED
  699. API CDATA #REQUIRED
  700. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  701. VARIABLE_SEMANTIC CDATA #REQUIRED
  702. FILE_NAME CDATA #REQUIRED
  703. ORIGIN CDATA #REQUIRED
  704. >
  705. <!ATTLIST RmCubemapVariable
  706. NAME CDATA #REQUIRED
  707. API CDATA #REQUIRED
  708. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  709. VARIABLE_SEMANTIC CDATA #REQUIRED
  710. FILE_NAME CDATA #REQUIRED
  711. ORIGIN CDATA #REQUIRED
  712. >
  713. <!ATTLIST Rm3DTextureVariable
  714. NAME CDATA #REQUIRED
  715. API CDATA #REQUIRED
  716. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  717. VARIABLE_SEMANTIC CDATA #REQUIRED
  718. FILE_NAME CDATA #REQUIRED
  719. ORIGIN CDATA #REQUIRED
  720. >
  721. <!ATTLIST RmLightVariable
  722. NAME CDATA #REQUIRED
  723. API CDATA #REQUIRED
  724. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  725. VARIABLE_SEMANTIC CDATA #REQUIRED
  726. LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED
  727. LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED
  728. AMBIENT_0 CDATA #REQUIRED
  729. AMBIENT_1 CDATA #REQUIRED
  730. AMBIENT_2 CDATA #REQUIRED
  731. AMBIENT_3 CDATA #REQUIRED
  732. DIFFUSE_0 CDATA #REQUIRED
  733. DIFFUSE_1 CDATA #REQUIRED
  734. DIFFUSE_2 CDATA #REQUIRED
  735. DIFFUSE_3 CDATA #REQUIRED
  736. SPECULAR_0 CDATA #REQUIRED
  737. SPECULAR_1 CDATA #REQUIRED
  738. SPECULAR_2 CDATA #REQUIRED
  739. SPECULAR_3 CDATA #REQUIRED
  740. POSITION_0 CDATA #REQUIRED
  741. POSITION_1 CDATA #REQUIRED
  742. POSITION_2 CDATA #REQUIRED
  743. DIRECTION_0 CDATA #REQUIRED
  744. DIRECTION_1 CDATA #REQUIRED
  745. DIRECTION_2 CDATA #REQUIRED
  746. ATTENUATION_0 CDATA #REQUIRED
  747. ATTENUATION_1 CDATA #REQUIRED
  748. ATTENUATION_2 CDATA #REQUIRED
  749. SPOTLIGHT_THETA CDATA #REQUIRED
  750. SPOTLIGHT_PHI CDATA #REQUIRED
  751. RANGE CDATA #REQUIRED
  752. FALLOFF CDATA #REQUIRED
  753. >
  754. <!ATTLIST RmMaterialVariable
  755. NAME CDATA #REQUIRED
  756. API CDATA #REQUIRED
  757. ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
  758. VARIABLE_SEMANTIC CDATA #REQUIRED
  759. AMBIENT_0 CDATA #REQUIRED
  760. AMBIENT_1 CDATA #REQUIRED
  761. AMBIENT_2 CDATA #REQUIRED
  762. AMBIENT_3 CDATA #REQUIRED
  763. DIFFUSE_0 CDATA #REQUIRED
  764. DIFFUSE_1 CDATA #REQUIRED
  765. DIFFUSE_2 CDATA #REQUIRED
  766. DIFFUSE_3 CDATA #REQUIRED
  767. SPECULAR_0 CDATA #REQUIRED
  768. SPECULAR_1 CDATA #REQUIRED
  769. SPECULAR_2 CDATA #REQUIRED
  770. SPECULAR_3 CDATA #REQUIRED
  771. EMISSIVE_0 CDATA #REQUIRED
  772. EMISSIVE_1 CDATA #REQUIRED
  773. EMISSIVE_2 CDATA #REQUIRED
  774. EMISSIVE_3 CDATA #REQUIRED
  775. SPECULAR_POWER CDATA #REQUIRED
  776. >
  777. <!ATTLIST RmRegistryBranch
  778. NAME CDATA #REQUIRED
  779. API CDATA #REQUIRED
  780. XML_VERSION CDATA #REQUIRED
  781. >
  782. <!ATTLIST RmPlugInData
  783. NAME CDATA #REQUIRED
  784. API CDATA #REQUIRED
  785. PLUGIN_GUID CDATA #REQUIRED
  786. >
  787. <!ATTLIST RmClipboardNode
  788. NAME CDATA #REQUIRED
  789. API CDATA #REQUIRED
  790. XML_VERSION CDATA #REQUIRED
  791. >
  792. <!ATTLIST RmCamera
  793. NAME CDATA #REQUIRED
  794. API CDATA #REQUIRED
  795. CAMERA_POSITION_X CDATA #REQUIRED
  796. CAMERA_POSITION_Y CDATA #REQUIRED
  797. CAMERA_POSITION_Z CDATA #REQUIRED
  798. LOOK_AT_VECTOR_X CDATA #REQUIRED
  799. LOOK_AT_VECTOR_Y CDATA #REQUIRED
  800. LOOK_AT_VECTOR_Z CDATA #REQUIRED
  801. UP_VECTOR_X CDATA #REQUIRED
  802. UP_VECTOR_Y CDATA #REQUIRED
  803. UP_VECTOR_Z CDATA #REQUIRED
  804. FOV CDATA #REQUIRED
  805. NEAR_CLIP_PLANE CDATA #REQUIRED
  806. FAR_CLIP_PLANE CDATA #REQUIRED
  807. >
  808. <!ATTLIST RmCameraReference
  809. NAME CDATA #REQUIRED
  810. API CDATA #REQUIRED
  811. USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED
  812. >
  813. <!ATTLIST RmShaderCode
  814. TYPE ( TEXT ) #REQUIRED
  815. >
  816. <!ATTLIST RmTextDataBlock
  817. TYPE ( TEXT ) #REQUIRED
  818. >
  819. <!ATTLIST RmTessellationNode
  820. NAME CDATA #REQUIRED
  821. API CDATA #REQUIRED
  822. MIN_TESSELLATION_LEVEL CDATA #REQUIRED
  823. MAX_TESSELLATION_LEVEL CDATA #REQUIRED
  824. >
  825. ]>
  826. <RENDER_MONKEY>
  827. <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Effect Group 1.Effect1" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71">
  828. <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71">
  829. <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71">
  830. <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[
  831. <DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>12</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>12</LastHolder></Pane-1><Pane-2><Type>0</Type><DockingCX>374</DockingCX><DockingCY>251</DockingCY><Title>fpar</Title><ID>1100</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>18</FloatingHolder><LastHolder>18</LastHolder></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>5</Pane-2><Pane-3>6</Pane-3><Pane-4>7</Pane-4><Panes>4</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>435</DockingCX><DockingCY>110</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>424</DockingCX><DockingCY>223</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>374</DockingCX><DockingCY>251</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-6><Pane-7><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>8</Pane-1><Pane-2>14</Pane-2><Panes>2</Panes></Pane-7><Pane-8><Type>2</Type><DockingCX>0</DockingCX><DockingCY>839</DockingCY><Horiz>1</Horiz><Pane-1>9</Pane-1><Pane-2>13</Pane-2><Panes>2</Panes></Pane-8><Pane-9><Type>2</Type><DockingCX>294</DockingCX><DockingCY>250</DockingCY><Horiz>0</Horiz><Pane-1>10</Pane-1><Pane-2>12</Pane-2><Panes>2</Panes></Pane-9><Pane-10><Type>1</Type><DockingCX>294</DockingCX><DockingCY>250</DockingCY><Selected>11</Selected><Panes>1</Panes><Pane-1>11</Pane-1></Pane-10><Pane-11><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>10</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>10</LastHolder></Pane-11><Pane-12><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-12><Pane-13><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-13><Pane-14><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>15</Selected><Panes>1</Panes><Pane-1>15</Pane-1></Pane-14><Pane-15><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>14</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>14</LastHolder></Pane-15><Pane-16><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>17</TopContaner><WindowRectTopPos>296</WindowRectTopPos><WindowRectBottomPos>1012</WindowRectBottomPos><WindowRectLeftPos>1039</WindowRectLeftPos><WindowRectRightPos>1815</WindowRectRightPos></Pane-16><Pane-17><Type>2</Type><DockingCX>374</DockingCX><DockingCY>251</DockingCY><Horiz>1</Horiz><Pane-1>18</Pane-1><Panes>1</Panes></Pane-17><Pane-18><Type>1</Type><DockingCX>374</DockingCX><DockingCY>251</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-18><Pane-19><Type>0</Type><DockingCX>424</DockingCX><DockingCY>223</DockingCY><Title>fpar</Title><ID>1101</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>22</FloatingHolder><LastHolder>22</LastHolder></Pane-19><Pane-20><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>21</TopContaner><WindowRectTopPos>491</WindowRectTopPos><WindowRectBottomPos>714</WindowRectBottomPos><WindowRectLeftPos>542</WindowRectLeftPos><WindowRectRightPos>966</WindowRectRightPos></Pane-20><Pane-21><Type>2</Type><DockingCX>424</DockingCX><DockingCY>223</DockingCY><Horiz>1</Horiz><Pane-1>22</Pane-1><Panes>1</Panes></Pane-21><Pane-22><Type>1</Type><DockingCX>424</DockingCX><DockingCY>223</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-22><Pane-23><Type>0</Type><DockingCX>435</DockingCX><DockingCY>110</DockingCY><Title>t</Title><ID>1102</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>26</FloatingHolder><LastHolder>26</LastHolder></Pane-23><Pane-24><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>25</TopContaner><WindowRectTopPos>22</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>167</WindowRectLeftPos><WindowRectRightPos>602</WindowRectRightPos></Pane-24><Pane-25><Type>2</Type><DockingCX>435</DockingCX><DockingCY>110</DockingCY><Horiz>1</Horiz><Pane-1>26</Pane-1><Panes>1</Panes></Pane-25><Pane-26><Type>1</Type><DockingCX>435</DockingCX><DockingCY>110</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-26><Summary><TopContainer>3</TopContainer><Client>13</Client><Panes>26</Panes></Summary></Application_Layout></DockingPaneLayouts>
  832. ]]></RmTextDataBlock>
  833. <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/>
  834. <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/>
  835. <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/>
  836. <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71">
  837. <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71">
  838. <RmRegistryBranch NAME="Effect Workspace.Effect Group 1.Effect1" API="" XML_VERSION="RenderMonkey 1.71">
  839. <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="727" MIN="-10" MAX="10" CLAMP="FALSE"/>
  840. <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="28" MIN="-10" MAX="10" CLAMP="FALSE"/>
  841. <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="754" MIN="-10" MAX="10" CLAMP="FALSE"/>
  842. <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="781" MIN="-10" MAX="10" CLAMP="FALSE"/>
  843. <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  844. <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  845. <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  846. <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  847. </RmRegistryBranch>
  848. <RmRegistryBranch NAME="Effect Workspace.Effect Group 1.Effect3" API="" XML_VERSION="RenderMonkey 1.71">
  849. <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="747" MIN="-10" MAX="10" CLAMP="FALSE"/>
  850. <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="2" MIN="-10" MAX="10" CLAMP="FALSE"/>
  851. <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="626" MIN="-10" MAX="10" CLAMP="FALSE"/>
  852. <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="744" MIN="-10" MAX="10" CLAMP="FALSE"/>
  853. <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  854. <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  855. <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  856. <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  857. </RmRegistryBranch>
  858. <RmRegistryBranch NAME="Effect Workspace.Effect Group 1.Textured" API="" XML_VERSION="RenderMonkey 1.71">
  859. <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="747" MIN="-10" MAX="10" CLAMP="FALSE"/>
  860. <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="2" MIN="-10" MAX="10" CLAMP="FALSE"/>
  861. <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="626" MIN="-10" MAX="10" CLAMP="FALSE"/>
  862. <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="744" MIN="-10" MAX="10" CLAMP="FALSE"/>
  863. <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  864. <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  865. <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  866. <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  867. </RmRegistryBranch>
  868. <RmRegistryBranch NAME="Effect Workspace.Effect Group 1.Textured Bump" API="" XML_VERSION="RenderMonkey 1.71">
  869. <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="747" MIN="-10" MAX="10" CLAMP="FALSE"/>
  870. <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="2" MIN="-10" MAX="10" CLAMP="FALSE"/>
  871. <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="626" MIN="-10" MAX="10" CLAMP="FALSE"/>
  872. <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="744" MIN="-10" MAX="10" CLAMP="FALSE"/>
  873. <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  874. <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  875. <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  876. <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  877. </RmRegistryBranch>
  878. </RmRegistryBranch>
  879. </RmRegistryBranch>
  880. <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71">
  881. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  882. </RmRegistryBranch>
  883. <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71">
  884. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  885. <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  886. </RmRegistryBranch>
  887. <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71">
  888. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  889. </RmRegistryBranch>
  890. <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71">
  891. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  892. </RmRegistryBranch>
  893. <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71">
  894. <RmRegistryBranch NAME="Effect Workspace.Effect Group 1.Effect1" API="" XML_VERSION="RenderMonkey 1.71">
  895. <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/>
  896. <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  897. Fragment Program]]></RmTextDataBlock></RmStringVariable>
  898. <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  899. Pass 0]]></RmTextDataBlock></RmStringVariable>
  900. <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="2" MIN="-10" MAX="10" CLAMP="FALSE"/>
  901. <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="745" MIN="-10" MAX="10" CLAMP="FALSE"/>
  902. <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="809" MIN="-10" MAX="10" CLAMP="FALSE"/>
  903. <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  904. <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  905. <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  906. <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  907. <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="3" MIN="-10" MAX="10" CLAMP="FALSE"/>
  908. </RmRegistryBranch>
  909. <RmRegistryBranch NAME="Effect Workspace.Effect Group 1.Effect3" API="" XML_VERSION="RenderMonkey 1.71">
  910. <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/>
  911. <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  912. Fragment Program]]></RmTextDataBlock></RmStringVariable>
  913. <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  914. Pass 0]]></RmTextDataBlock></RmStringVariable>
  915. <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  916. <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="773" MIN="-10" MAX="10" CLAMP="FALSE"/>
  917. <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="809" MIN="-10" MAX="10" CLAMP="FALSE"/>
  918. <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  919. <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  920. <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  921. <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  922. <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  923. </RmRegistryBranch>
  924. <RmRegistryBranch NAME="Effect Workspace.Effect Group 1.Textured" API="" XML_VERSION="RenderMonkey 1.71">
  925. <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/>
  926. <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  927. Fragment Program]]></RmTextDataBlock></RmStringVariable>
  928. <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  929. Pass 0]]></RmTextDataBlock></RmStringVariable>
  930. <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  931. <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/>
  932. <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/>
  933. <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  934. <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  935. <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  936. <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
  937. <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
  938. </RmRegistryBranch>
  939. </RmRegistryBranch>
  940. <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71">
  941. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  942. </RmRegistryBranch>
  943. <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71">
  944. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  945. </RmRegistryBranch>
  946. <RmRegistryBranch NAME="RmTessellationNodeEditorDlg" API="" XML_VERSION="RenderMonkey 1.71">
  947. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  948. </RmRegistryBranch>
  949. <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71">
  950. <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  951. </RmRegistryBranch>
  952. <RmRegistryBranch NAME="RmDynamicVariableEditor" API="" XML_VERSION="RenderMonkey 1.71">
  953. <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  954. </RmRegistryBranch>
  955. <RmRegistryBranch NAME="RmMatrixEditor" API="" XML_VERSION="RenderMonkey 1.71">
  956. <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  957. </RmRegistryBranch>
  958. <RmRegistryBranch NAME="RmScalarEditor" API="" XML_VERSION="RenderMonkey 1.71">
  959. <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
  960. </RmRegistryBranch>
  961. </RmRegistryBranch>
  962. <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71">
  963. <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  964. 17/10/2010 0:46:55]]></RmTextDataBlock></RmStringVariable>
  965. <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  966. RenderMonkey Version 1.82 (build 322)]]></RmTextDataBlock></RmStringVariable>
  967. <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  968. RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable>
  969. <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
  970. C:\Users\sgraham\Desktop\]]></RmTextDataBlock></RmStringVariable>
  971. </RmRegistryBranch>
  972. </RmRegistryBranch>
  973. </RmRegistryBranch>
  974. <RmEffectGroup NAME="Effect Group 1" API="">
  975. <RmOpenGLEffect NAME="Effect1" API="OpenGL" ACTIVE_CAMERA="">
  976. <RmStreamMap NAME="Stream Mapping" API="">
  977. <RmStream NAME="Stream" API="" STRIDE="32">
  978. <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Vertex"/>
  979. <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Normal"/>
  980. <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_TexCoord0"/>
  981. </RmStream>
  982. </RmStreamMap>
  983. <RmModelData NAME="Model" API="" FILE_NAME="..\..\..\Program Files (x86)\AMD\RenderMonkey 1.82\Examples\Media\Models\ScreenAlignedQuad.3ds" ORIENTATION="0"/>
  984. <RmGLPass NAME="Pass 0" API="OpenGL" PASS_INDEX="0" ENABLED="TRUE">
  985. <RmModelReference NAME="Model" API=""/>
  986. <RmGLShader NAME="Vertex Program" API="OpenGL" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[
  987. // all this should be python setting attribs for frag shader
  988. // it's only here for RenderMonkey, and probably to save space/be faster
  989. // in C version
  990. varying float t,er,a1,a2,a3,o1,o2,r1;
  991. varying vec3 h1,h2,h3,lv,e;
  992. //varying float time;
  993. void main(void)
  994. {
  995. t = 10.0;// gl_Color.x * 4294967.295;
  996. h1 = vec3(1);
  997. h2 = vec3(1.0, .6, 0.06);
  998. h3 = vec3(0.5, 0.75, 1.0);
  999. lv = vec3(200);
  1000. a3 = 0.0;
  1001. r1 = 0.0;
  1002. if (t <= 48.0)
  1003. {
  1004. // initial scene with half-globes in ground
  1005. /* 1 */
  1006. e = vec3(0, 0.7, -3);
  1007. er = 0.0;
  1008. float t2 = t + min(float(int(t/16.0)),2.0)*2.0;
  1009. a1 = a2 = a3 = 0.0;
  1010. // three camera locations for 16 each
  1011. if (t <= 16.0)
  1012. {
  1013. /* 2 */
  1014. e.x = (t - 8.0) * .26;
  1015. }
  1016. else if (t <= 32.0)
  1017. {
  1018. /* 3 */
  1019. e.y += (t - 16.) * .03;
  1020. a3 = sin(t2 * .3) * .1;
  1021. }
  1022. else// if (t <= 48.0)
  1023. {
  1024. /* 4 */
  1025. e = vec3(0,5,0);
  1026. er=sin(t2*.1)*2.+7.;
  1027. a1-=.3;
  1028. a2=sin(t2*.1)*1.2;
  1029. er+=(t-32.)*.3;
  1030. }
  1031. }
  1032. else if (t <= 56.0)
  1033. {
  1034. // wobbling column from above
  1035. /* 5 */
  1036. e = vec3(0,4,0);
  1037. er=sin(t*.5)+3.02;
  1038. a1=sin(t)*.1-.9;
  1039. a2=sin(t*.2)*2.;
  1040. a3=sin(t*.7)*.1;
  1041. }
  1042. else if (t <= 64.0 || (t > 72.0 && t <= 96.0))
  1043. {
  1044. // shader 5/6
  1045. {
  1046. /* 6 */
  1047. e = vec3(0);
  1048. }
  1049. { // 7
  1050. e.y+=(t-72.)*.2;
  1051. er=sin(t*.5)+3.02; /* from 5 */
  1052. er+=max((t-72.)*.4,0.);
  1053. r1=1.;
  1054. }
  1055. { // 8
  1056. a1=sin(t*.8)*.2;
  1057. }
  1058. a2=sin(t*.2)*2.; /* from 5 */
  1059. { // 10
  1060. a2-=.6;
  1061. }
  1062. a3=sin(t*.7)*.1; /* from 5 */
  1063. if (t > 80.0)
  1064. { // 11
  1065. lv=vec3(0,160.-(t-80.)*17.,200);
  1066. e.z+=t*2.;
  1067. a1*=.5;
  1068. a2*=.4;
  1069. a2+=.6;
  1070. }
  1071. if (t > 88.0)
  1072. {
  1073. e.y=-e.y*1.5;
  1074. a1=-a1;
  1075. }
  1076. }
  1077. else if (t <= 72.0)
  1078. {
  1079. // shader 7
  1080. { // 6
  1081. e = vec3(0);
  1082. }
  1083. { // 8
  1084. a1=sin(t*.8)*.2;
  1085. }
  1086. er=sin(t*.5)+3.02; // from 5
  1087. { // 9
  1088. er += 2.;
  1089. a1 -= .3;
  1090. a2 = sin(t*.14) * -2.;
  1091. }
  1092. { // 10
  1093. a2-=.6;
  1094. }
  1095. a3=sin(t*.7)*.1; // from 5
  1096. }
  1097. else if (t <= 128.0)
  1098. {
  1099. h1=mix(h1,vec3(0),max(min((t-123.)/3.,1.),0.));
  1100. h2=vec3(.8,.4,.01);
  1101. lv=vec3(0,(t-96.)*10.-50.,200);
  1102. e=vec3(0);
  1103. er=3.-cos(t*.5);
  1104. a1=sin(t)*.1;
  1105. a2=sin(t*.2)*-.2;
  1106. a3=sin(t*.7)*.1;
  1107. if (t > 112.0)
  1108. {
  1109. er-=min(max((t-112.)/3.,0.),1.)*1.3;
  1110. a2+=max(t-112.,0.)*.2;
  1111. }
  1112. }
  1113. else
  1114. {
  1115. h2=h1;
  1116. h1=mix(vec3(.8,.4,.01),vec3(.5,.7,.9),pow(min((t-128.)/5.,1.),2.));
  1117. lv=vec3(0,0,-100);
  1118. e=vec3(t-128.+cos(t*.02),0,0);
  1119. er=sin(t)+3.;
  1120. a1=sin(t*.8)*.14;
  1121. a2=sin(t*.3)*.12;
  1122. a3=sin(t*1.1)*.2;
  1123. }
  1124. e -= vec3(sin(a2) * er, 0, cos(a2) * er);
  1125. gl_Position=ftransform();
  1126. }
  1127. ]]></RmShaderCode></RmGLShader>
  1128. <RmGLShader NAME="Fragment Program" API="OpenGL" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
  1129. varying float t,er,a1,a2,a3,r1;
  1130. float cm=1.,i,b=0.,k=1.,rr=0.;
  1131. varying vec3 h1,h2,h3,lv,e;
  1132. vec3 h;
  1133. float width = 640.0;
  1134. float width2 = width/2.0;
  1135. float height = 480.0;
  1136. float height2 = height/2.0;
  1137. float n1(vec3 p)
  1138. {
  1139. p.x+=p.y*57.+p.z*21.;
  1140. return cos(p.x*sin(p.x));
  1141. }
  1142. float n2(vec3 p)
  1143. {
  1144. vec3 a=floor(p),b=p-a;
  1145. return mix(mix(mix(n1(a),n1(a+vec3(1,0,0)),b.x),mix(n1(a+vec3(0,1,0)),n1(a+vec3(1,1,0)),b.x),b.y),mix(mix(n1(a+vec3(0,0,1)),n1(a+vec3(1,0,1)),b.x),mix(n1(a+vec3(0,1,1)),n1(a+1.),b.x),b.y),b.z)*.5+.5;
  1146. }
  1147. float pn(vec3 p)
  1148. {
  1149. return n2(p*.06125)*.5+n2(p*.125)*.25+n2(p*.25)*.125;
  1150. }
  1151. float o(vec3 p)
  1152. {
  1153. if ((t > 56.0 && t <= 64.0) || (t > 72.0 && t <= 96.0))
  1154. {
  1155. /* 2 */
  1156. float s=0.,a;
  1157. p=vec3(fract(p.x*.25+.5)*4.-2.,p.y+sin(p.x*.5)*sin(sin(p.z*.5)*2.+t)*.6,fract(p.z*.25+.5)*4.-2.);s=1.-max(77.-t,0.);
  1158. return max(abs(length(p.xz)-2.)-.3,abs(p.y+3.+(1.-s*s)*1.6)-.3);
  1159. }
  1160. else if (t > 96.0 && t <= 112.0)
  1161. { // 6
  1162. p=vec3(p.x,p.y+sin(p.x)*sin(sin(p.z)*2.+t)*.2+pow(max(min((t-102.)/15.,1.),0.),2.)*30.,p.z);
  1163. return min(p.y+1.,max(p.y+.8,max(abs(p.x)-.8,abs(p.z)-.8)));
  1164. }
  1165. else if (t > 112.0 && t <= 128.0)
  1166. { // 9
  1167. float a=length(vec2(p.x,p.y));
  1168. return mix(max(max(3.-a,a-3.2),(116.-t)*3.-p.z),3.-length(vec3(p.x*(sin(p.z*6.+t*2.)*.01+.99),p.y*(sin(p.x*6.+t*2.)*.01+.99),p.z*(sin(p.y*6.+t*2.)*.01+.99))),max(min((t-120.)/3.,1.),0.));
  1169. }
  1170. else if (t > 128.0 && t <= 148.0)
  1171. { // 10
  1172. float a=t+1.4*sin(p.x*.8);
  1173. p=vec3(p.x,p.y*cos(a)+p.z*sin(a),p.z*cos(a)-p.y*sin(a));
  1174. return max(max(p.x-(t-128.)-.2,max(abs(p.y)-.5,abs(p.z)-.2)),-p.x);
  1175. }
  1176. else
  1177. {
  1178. /* 4 */
  1179. if(t>=48.&&t<128.)
  1180. p.y+=(t-48.)*2.;
  1181. return p.y+sin(p.x*.5)*sin(sin(p.z*.5)*2.+t*.4)*.4;
  1182. }
  1183. }
  1184. float oo(vec3 p)
  1185. {
  1186. if (t <= 48.0)
  1187. {
  1188. // initial scene with half-globes in ground
  1189. float s=0.,a;
  1190. a=sin(sin(t*.1));
  1191. vec3 y=vec3(sin(t*.2),sin(t*.3),sin(t*.4))*.6;
  1192. if(t>=32.)
  1193. {
  1194. if((abs(p.x)>4.||abs(p.z)>4.))
  1195. {
  1196. p.y+=(t-32.)*.3;
  1197. }
  1198. else
  1199. {
  1200. s=min((t-32.)/14.,1.);
  1201. }
  1202. a*=1.-s;
  1203. y*=1.-s*s;
  1204. }
  1205. p=vec3(mod(p.x+4.,8.)-4.,p.y,mod(p.z+4.,8.)-4.);
  1206. p=vec3(p.x*cos(a)+p.z*sin(a),p.y,p.z*cos(a)-p.x*sin(a));
  1207. a*=2.;
  1208. p=vec3(p.x,p.y*cos(a)+p.z*sin(a),p.z*cos(a)-p.y*sin(a));
  1209. vec3 x=fract(p)-.5;
  1210. p+=y;
  1211. return min(max(abs(p.x)-s*2.,max(abs(p.y)-s*2.,abs(p.z)-s*2.)),max(length(p)-2.,max(abs(x.x)-.4,max(abs(x.y)-.4,abs(x.z)-.4))));
  1212. }
  1213. else if (t <= 74.16)
  1214. {
  1215. // wobbling column
  1216. return max(-p.y-16.+15.*(1.-pow(max(min(1.-(t-64.)/7.,1.),0.),2.)),max(abs(p.x+sin(p.y*1.5+t*2.)*.15)-1.,max(p.y-1.,abs(p.z+sin(p.y*1.3+t*2.)*.15)-1.)));
  1217. }
  1218. else if (t <= 96.0)
  1219. {
  1220. float s=0.,a;
  1221. vec3 x=p;
  1222. p=vec3(fract(p.x*.25+.5)*4.-2.,p.y,fract(p.z*.25+.5)*4.-2.);
  1223. a=sin(sin(p.y+p.x-x.x+p.z-x.z)+t);
  1224. p=vec3(p.x*cos(a)+p.z*sin(a),p.y,p.z*cos(a)-p.x*sin(a));
  1225. p=vec3(p.x*cos(a)+p.y*sin(a),p.y*cos(a)-p.x*sin(a),p.z);
  1226. return max(max(abs(p.x)-.8,abs(p.y)-.8),abs(p.z)-.8);
  1227. }
  1228. else if (t <= 128.0)
  1229. { // 5
  1230. float a=sin(sin(t))*2.;
  1231. p=vec3(p.x*cos(a)+p.z*sin(a),p.y,p.z*cos(a)-p.x*sin(a));a*=.7;p=vec3(p.x*cos(a)+p.y*sin(a),p.y*cos(a*.7)-p.x*sin(a),p.z);
  1232. return mix(mix(min(length(p+vec3(0,sin(t*4.)*.5,0))-.2,length(vec2(length(vec2(p.x,p.z))-.5,p.y))-.2),length(vec3(p.x*(sin(p.z*16.+t*3.)*.1+.9),p.y*(sin(p.x*16.+t*3.)*.1+.9),p.z*(sin(p.y*16.+t*3.)*.1+.9)))-.3,max(min((t-112.)/5.,1.),0.)),max(max(abs(p.x)-.1,abs(p.y)-.25),abs(p.z)-.1),pow(max(min((t-121.)/5.,1.),0.),2.));
  1233. }
  1234. else
  1235. { // 11
  1236. float s=0.,a;
  1237. return min(p.y+1.+pow(1.-min((t-128.)/8.,1.),2.)*10.,1.);
  1238. }
  1239. }
  1240. float q(vec3 p)
  1241. {
  1242. return 1.;
  1243. }
  1244. float qq(vec3 p)
  1245. {
  1246. { // 15
  1247. if (t > 80.0 && t <= 88.0)
  1248. return pn(p*1000.);
  1249. }
  1250. return .6+.4*sin(p.y*.1+20.*pn(p*100.));
  1251. }
  1252. float ooo(vec3 p)
  1253. {
  1254. float d,d2;
  1255. d=o(p);
  1256. d2=oo(p);
  1257. if(d<d2)
  1258. {
  1259. k=q(p);
  1260. b=0.;
  1261. h=h1;
  1262. rr=r1;
  1263. }
  1264. else
  1265. {
  1266. d=d2;
  1267. k=1.;
  1268. b=qq(p)*.03;
  1269. h=h2;
  1270. rr=1.;
  1271. }return d;
  1272. }
  1273. void main(void)
  1274. {
  1275. float g=0.,d,w=0.;
  1276. vec3 v=normalize(vec3((gl_FragCoord.xy-vec2(width2,height2))/height*1.4,1));
  1277. v=vec3(v.x,v.y*cos(a1)+v.z*sin(a1),v.z*cos(a1)-v.y*sin(a1));
  1278. v=vec3(v.x*cos(a3)+v.y*sin(a3),v.y*cos(a3)-v.x*sin(a3),v.z);
  1279. v=vec3(v.x*cos(a2)+v.z*sin(a2),v.y,v.z*cos(a2)-v.x*sin(a2));
  1280. vec3 n,r,p=e,c=(h3+.2)*pow(1.-abs(v.y),2.)+(1.-pow(min(pn(v*220.-vec3(0,t*1.3,0))+.6,1.),8.))*pow(max(v.y,0.),2.)*.5+vec3(1,.7,.4)*pow(max(dot(v,normalize(lv))*1.01,0.),105.),c2;
  1281. if (t >= 128.0)
  1282. c = c*.2+max(pow(min(pn(v*200.+t*5.)*1.5,1.),15.)-pn(v*1200.),0.)*min((t-128.)/5.,1.);
  1283. while (g < 1.0)
  1284. {
  1285. g=length(p-e)/20.;
  1286. d=ooo(p);
  1287. if(d<=0.001)
  1288. {
  1289. vec3 l=normalize(lv-p+e);
  1290. n=normalize(vec3(ooo(p+vec3(.01,0,0))-d,ooo(p+vec3(0,.01,0))-d,ooo(p+vec3(0,0,.01))-d))+b;
  1291. r=reflect(l,n);
  1292. if(cm==1.)
  1293. c*=g;
  1294. c2=((1.-g)*k*h*(max(dot(n,l),0.)+pow(max(dot(r,v),0.),17.)))*cm;
  1295. for(i=1.;i<5.;i++)
  1296. c2-=vec3((i*.2-ooo(p+n*i*.2))/pow(2.,i));
  1297. c+=max(c2,0.);
  1298. if (rr>0.&&w++<1.)
  1299. {
  1300. cm*=.5;
  1301. p-=v*(d+.2);
  1302. v=reflect(v,n);
  1303. }
  1304. else
  1305. {
  1306. break;
  1307. }
  1308. }
  1309. p+=v*max(d,.002);
  1310. }
  1311. c*=min(t*.0625,1.);
  1312. if(t>=92.&&t<96.)
  1313. c*=1.-pow(min((t-92.)/4.,1.),2.);
  1314. if(t>=96.)
  1315. c*=min((t-96.)/5.,1.);
  1316. if(t>=140.)
  1317. c*=1.-min((t-140.)/8.,1.);
  1318. c*=1.-.85*length(gl_FragCoord.xy-vec2(width2,height2))/height;
  1319. gl_FragColor=vec4(c,1);
  1320. }
  1321. ]]></RmShaderCode></RmGLShader>
  1322. <RmStreamMapReference NAME="Stream Mapping" API=""/>
  1323. </RmGLPass>
  1324. </RmOpenGLEffect>
  1325. <RmOpenGLESEffect NAME="Effect3" API="OpenGL ES" ACTIVE_CAMERA="">
  1326. <RmMatrixVariable NAME="matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="2.796663" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="0.000000" VALUE_4="0.000000" VALUE_5="2.414213" VALUE_6="0.000000" VALUE_7="0.000000" VALUE_8="0.000000" VALUE_9="0.000000" VALUE_10="-1.001001" VALUE_11="199.199203" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="-1.000000" VALUE_15="200.000000"/>
  1327. <RmStreamMap NAME="Stream Mapping" API="">
  1328. <RmStream NAME="Stream" API="" STRIDE="32">
  1329. <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Vertex"/>
  1330. <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Normal"/>
  1331. <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_TexCoord0"/>
  1332. </RmStream>
  1333. </RmStreamMap>
  1334. <RmModelData NAME="Model" API="" FILE_NAME="..\..\..\Program Files (x86)\AMD\RenderMonkey 1.82\Examples\Media\Models\ScreenAlignedQuad.3ds" ORIENTATION="0"/>
  1335. <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE">
  1336. <RmModelReference NAME="Model" API=""/>
  1337. <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[
  1338. uniform mat4 matViewProjection;
  1339. attribute vec4 rm_Vertex;
  1340. varying float t,er,a1,a2,a3,o1,o2,r1;
  1341. varying vec3 h1,h2,h3,lv,e;
  1342. void main(void)
  1343. {
  1344. t = 12.0;// gl_Color.x * 4294967.295;
  1345. h1 = vec3(1);
  1346. h2 = vec3(1.0, .6, 0.06);
  1347. h3 = vec3(0.5, 0.75, 1.0);
  1348. lv = vec3(200);
  1349. a3 = 0.0;
  1350. r1 = 0.0;
  1351. e = vec3(0, 0.7, -3);
  1352. er = 0.0;
  1353. float t2 = t + min(float(int(t/16.0)),2.0)*2.0;
  1354. a1 = a2 = a3 = 0.0;
  1355. e.x = (t - 8.0) * .26;
  1356. e -= vec3(sin(a2) * er, 0, cos(a2) * er);
  1357. gl_Position=matViewProjection * rm_Vertex;
  1358. }
  1359. ]]></RmShaderCode></RmGLESShader>
  1360. <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
  1361. precision highp float;
  1362. varying float t,er,a1,a2,a3,r1;
  1363. float cm=1.,i,b=0.,k=1.,rr=0.;
  1364. varying vec3 h1,h2,h3,lv,e;
  1365. vec3 h;
  1366. float n1(vec3 p)
  1367. {
  1368. p.x+=p.y*57.+p.z*21.;
  1369. return cos(p.x*sin(p.x));
  1370. }
  1371. float n2(vec3 p)
  1372. {
  1373. vec3 a=floor(p),b=p-a;
  1374. return mix(mix(mix(n1(a),n1(a+vec3(1,0,0)),b.x),mix(n1(a+vec3(0,1,0)),n1(a+vec3(1,1,0)),b.x),b.y),mix(mix(n1(a+vec3(0,0,1)),n1(a+vec3(1,0,1)),b.x),mix(n1(a+vec3(0,1,1)),n1(a+1.),b.x),b.y),b.z)*.5+.5;
  1375. }
  1376. float pn(vec3 p)
  1377. {
  1378. return n2(p*.06125)*.5+n2(p*.125)*.25+n2(p*.25)*.125;
  1379. }
  1380. float o(vec3 p)
  1381. {
  1382. if(t>=48.&&t<128.)
  1383. p.y+=(t-48.)*2.;
  1384. return p.y+sin(p.x*.5)*sin(sin(p.z*.5)*2.+t*.4)*.4;
  1385. }
  1386. float oo(vec3 p)
  1387. {
  1388. float s=0.,a;
  1389. a=sin(sin(t*.1));
  1390. vec3 y=vec3(sin(t*.2),sin(t*.3),sin(t*.4))*.6;
  1391. if(t>=32.)
  1392. {
  1393. if((abs(p.x)>4.||abs(p.z)>4.))
  1394. {
  1395. p.y+=(t-32.)*.3;
  1396. }
  1397. else
  1398. {
  1399. s=min((t-32.)/14.,1.);
  1400. }
  1401. a*=1.-s;
  1402. y*=1.-s*s;
  1403. }
  1404. p=vec3(mod(p.x+4.,8.)-4.,p.y,mod(p.z+4.,8.)-4.);
  1405. p=vec3(p.x*cos(a)+p.z*sin(a),p.y,p.z*cos(a)-p.x*sin(a));
  1406. a*=2.;
  1407. p=vec3(p.x,p.y*cos(a)+p.z*sin(a),p.z*cos(a)-p.y*sin(a));
  1408. vec3 x=fract(p)-.5;
  1409. p+=y;
  1410. return min(max(abs(p.x)-s*2.,max(abs(p.y)-s*2.,abs(p.z)-s*2.)),max(length(p)-2.,max(abs(x.x)-.4,max(abs(x.y)-.4,abs(x.z)-.4))));
  1411. }
  1412. float q(vec3 p)
  1413. {
  1414. return 1.;
  1415. }
  1416. float qq(vec3 p)
  1417. {
  1418. return .6+.4*sin(p.y*.1+20.*pn(p*100.));
  1419. }
  1420. float ooo(vec3 p)
  1421. {
  1422. float d,d2;
  1423. d=o(p);
  1424. d2=oo(p);
  1425. if(d<d2)
  1426. {
  1427. k=q(p);
  1428. b=0.;
  1429. h=h1;
  1430. rr=r1;
  1431. }
  1432. else
  1433. {
  1434. d=d2;
  1435. k=1.;
  1436. b=qq(p)*.03;
  1437. h=h2;
  1438. rr=1.;
  1439. }return d;
  1440. }
  1441. void main(void)
  1442. {
  1443. float g=0.,d,w=0.;
  1444. vec3 v=normalize(vec3((gl_FragCoord.xy-vec2(640,360))/720.*1.4,1));
  1445. v=vec3(v.x,v.y*cos(a1)+v.z*sin(a1),v.z*cos(a1)-v.y*sin(a1));
  1446. v=vec3(v.x*cos(a3)+v.y*sin(a3),v.y*cos(a3)-v.x*sin(a3),v.z);
  1447. v=vec3(v.x*cos(a2)+v.z*sin(a2),v.y,v.z*cos(a2)-v.x*sin(a2));
  1448. vec3 n,r,p=e,c=(h3+.2)*pow(1.-abs(v.y),2.)+(1.-pow(min(pn(v*220.-vec3(0,t*1.3,0))+.6,1.),8.))*pow(max(v.y,0.),2.)*.5+vec3(1,.7,.4)*pow(max(dot(v,normalize(lv))*1.01,0.),105.),c2;
  1449. if(t>=128.)c=c*.2+max(pow(min(pn(v*200.+t*5.)*1.5,1.),15.)-pn(v*1200.),0.)*min((t-128.)/5.,1.);
  1450. while(g<1.)
  1451. {
  1452. g=length(p-e)/20.;
  1453. d=ooo(p);
  1454. if(d<=0.001)
  1455. {
  1456. vec3 l=normalize(lv-p+e);
  1457. n=normalize(vec3(ooo(p+vec3(.01,0,0))-d,ooo(p+vec3(0,.01,0))-d,ooo(p+vec3(0,0,.01))-d))+b;
  1458. r=reflect(l,n);
  1459. if(cm==1.)
  1460. c*=g;
  1461. c2=((1.-g)*k*h*(max(dot(n,l),0.)+pow(max(dot(r,v),0.),17.)))*cm;
  1462. for(i=1.;i<5.;i++)
  1463. c2-=vec3((i*.2-ooo(p+n*i*.2))/pow(2.,i));
  1464. c+=max(c2,0.);
  1465. if (rr>0.&&w++<1.)
  1466. {
  1467. cm*=.5;
  1468. p-=v*(d+.2);
  1469. v=reflect(v,n);
  1470. }
  1471. else
  1472. {
  1473. break;
  1474. }
  1475. }
  1476. p+=v*max(d,.002);
  1477. }
  1478. c*=min(t*.0625,1.);
  1479. if(t>=92.&&t<96.)
  1480. c*=1.-pow(min((t-92.)/4.,1.),2.);
  1481. if(t>=96.)
  1482. c*=min((t-96.)/5.,1.);
  1483. if(t>=140.)
  1484. c*=1.-min((t-140.)/8.,1.);
  1485. c*=1.-.85*length(gl_FragCoord.xy-vec2(640,360))/720.;
  1486. gl_FragColor=vec4(1,1,0,1);
  1487. }
  1488. ]]></RmShaderCode></RmGLESShader>
  1489. <RmStreamMapReference NAME="Stream Mapping" API=""/>
  1490. <RmShaderConstant NAME="matViewProjection" API="" REGISTER="-1"/>
  1491. </RmGLESPass>
  1492. </RmOpenGLESEffect>
  1493. <RmOpenGLESEffect NAME="Textured" API="OpenGL ES" ACTIVE_CAMERA="">
  1494. <RmMatrixVariable NAME="matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="2.796663" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="0.000000" VALUE_4="0.000000" VALUE_5="2.414213" VALUE_6="0.000000" VALUE_7="0.000000" VALUE_8="0.000000" VALUE_9="0.000000" VALUE_10="-1.001001" VALUE_11="199.199203" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="-1.000000" VALUE_15="200.000000"/>
  1495. <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="..\..\..\Program Files (x86)\AMD\RenderMonkey 1.82\Examples\Media\Textures\Fieldstone.tga" ORIGIN="0"/>
  1496. <RmStreamMap NAME="Stream Mapping" API="">
  1497. <RmStream NAME="Stream" API="" STRIDE="20">
  1498. <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Vertex"/>
  1499. <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_TexCoord0"/>
  1500. </RmStream>
  1501. </RmStreamMap>
  1502. <RmModelData NAME="Model" API="" FILE_NAME="..\..\..\Program Files (x86)\AMD\RenderMonkey 1.82\Examples\Media\Models\Sphere.3ds" ORIENTATION="0"/>
  1503. <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE">
  1504. <RmModelReference NAME="Model" API=""/>
  1505. <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[
  1506. uniform mat4 matViewProjection;
  1507. attribute vec4 rm_Vertex;
  1508. attribute vec2 rm_TexCoord0;
  1509. varying vec2 rm_Texcoord;
  1510. void main( void )
  1511. {
  1512. gl_Position = matViewProjection * rm_Vertex;
  1513. rm_Texcoord = rm_TexCoord0.xy;
  1514. }]]></RmShaderCode></RmGLESShader>
  1515. <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
  1516. #ifdef GL_FRAGMENT_PRECISION_HIGH
  1517. // Default precision
  1518. precision highp float;
  1519. #else
  1520. precision mediump float;
  1521. #endif
  1522. uniform sampler2D baseMap;
  1523. varying vec2 rm_Texcoord;
  1524. void main( void )
  1525. {
  1526. gl_FragColor = texture2D( baseMap, rm_Texcoord );
  1527. }]]></RmShaderCode></RmGLESShader>
  1528. <RmStreamMapReference NAME="Stream Mapping" API=""/>
  1529. <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
  1530. <RmTextureReference NAME="base" API=""/>
  1531. <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/>
  1532. <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
  1533. </RmTextureObject>
  1534. <RmSampler NAME="baseMap" API="" REGISTER="-1"/>
  1535. <RmShaderConstant NAME="matViewProjection" API="" REGISTER="-1"/>
  1536. </RmGLESPass>
  1537. </RmOpenGLESEffect>
  1538. <RmOpenGLESEffect NAME="Textured Bump" API="OpenGL ES" ACTIVE_CAMERA="">
  1539. <RmFloatVariable NAME="fSpecularPower" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="25.000000" MIN="1.000000" MAX="100.000000" CLAMP="TRUE"/>
  1540. <RmDynamicVariable NAME="fvLightPosition" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="FLOAT" ROWS="3" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100.000000" MAX="100.000000" CLAMP="TRUE" NORMALIZE="FALSE">
  1541. <RmDynamicVariableValueContainer>
  1542. <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="-100.000000"/>
  1543. <RmDynamicVariableValue ROW_INDEX="1" COLUMN_INDEX="0" VALUE="100.000000"/>
  1544. <RmDynamicVariableValue ROW_INDEX="2" COLUMN_INDEX="0" VALUE="100.000000"/>
  1545. </RmDynamicVariableValueContainer>
  1546. </RmDynamicVariable>
  1547. <RmDynamicVariable NAME="fvEyePosition" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="FLOAT" ROWS="3" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100.000000" MAX="100.000000" CLAMP="TRUE" NORMALIZE="FALSE">
  1548. <RmDynamicVariableValueContainer>
  1549. <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="0.000000"/>
  1550. <RmDynamicVariableValue ROW_INDEX="1" COLUMN_INDEX="0" VALUE="0.000000"/>
  1551. <RmDynamicVariableValue ROW_INDEX="2" COLUMN_INDEX="0" VALUE="100.000000"/>
  1552. </RmDynamicVariableValueContainer>
  1553. </RmDynamicVariable>
  1554. <RmMatrixVariable NAME="matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="2.796663" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="0.000000" VALUE_4="0.000000" VALUE_5="2.414213" VALUE_6="0.000000" VALUE_7="0.000000" VALUE_8="0.000000" VALUE_9="0.000000" VALUE_10="-1.001001" VALUE_11="199.199203" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="-1.000000" VALUE_15="200.000000"/>
  1555. <RmMatrixVariable NAME="matViewProjectionInverseTranspose" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjectionInverseTranspose" VALUE_0="0.357569" VALUE_1="-0.000000" VALUE_2="-0.000000" VALUE_3="-0.000000" VALUE_4="-0.000000" VALUE_5="0.414212" VALUE_6="-0.000000" VALUE_7="-0.000000" VALUE_8="-0.000000" VALUE_9="-0.000000" VALUE_10="-199.802612" VALUE_11="-0.999013" VALUE_12="-0.000000" VALUE_13="-0.000000" VALUE_14="199.002609" VALUE_15="1.000013"/>
  1556. <RmColorVariable NAME="fvSpecular" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.490196" VALUE_1="0.488722" VALUE_2="0.488722" VALUE_3="1.000000"/>
  1557. <RmColorVariable NAME="fvAmbient" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.368627" VALUE_1="0.368421" VALUE_2="0.368421" VALUE_3="1.000000"/>
  1558. <RmColorVariable NAME="fvDiffuse" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.886275" VALUE_1="0.885003" VALUE_2="0.885003" VALUE_3="1.000000"/>
  1559. <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="..\..\..\Program Files (x86)\AMD\RenderMonkey 1.82\Examples\Media\Textures\Fieldstone.tga" ORIGIN="0"/>
  1560. <Rm2DTextureVariable NAME="bump" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="..\..\..\Program Files (x86)\AMD\RenderMonkey 1.82\Examples\Media\Textures\FieldstoneBumpDOT3.tga" ORIGIN="0"/>
  1561. <RmStreamMap NAME="Stream Mapping" API="">
  1562. <RmStream NAME="Stream" API="" STRIDE="56">
  1563. <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Vertex"/>
  1564. <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_TexCoord0"/>
  1565. <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Normal"/>
  1566. <RmStreamChannel NAME="Binormal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="7" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Binormal"/>
  1567. <RmStreamChannel NAME="Tangent_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="6" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Tangent"/>
  1568. </RmStream>
  1569. </RmStreamMap>
  1570. <RmModelData NAME="Model" API="" FILE_NAME="..\..\..\Program Files (x86)\AMD\RenderMonkey 1.82\Examples\Media\Models\Sphere.3ds" ORIENTATION="0"/>
  1571. <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE">
  1572. <RmModelReference NAME="Model" API=""/>
  1573. <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[
  1574. uniform mat4 matViewProjectionInverseTranspose;
  1575. uniform mat4 matViewProjection;
  1576. uniform vec3 fvLightPosition;
  1577. uniform vec3 fvEyePosition;
  1578. varying vec2 Texcoord;
  1579. varying vec3 ViewDirection;
  1580. varying vec3 LightDirection;
  1581. attribute vec4 rm_Vertex;
  1582. attribute vec4 rm_TexCoord0;
  1583. attribute vec4 rm_Normal;
  1584. attribute vec4 rm_Binormal;
  1585. attribute vec4 rm_Tangent;
  1586. void main( void )
  1587. {
  1588. gl_Position = matViewProjection * rm_Vertex;
  1589. Texcoord = rm_TexCoord0.xy;
  1590. vec4 fvObjectPosition = matViewProjection * rm_Vertex;
  1591. vec3 fvViewDirection = fvEyePosition - fvObjectPosition.xyz;
  1592. vec3 fvLightDirection = fvLightPosition - fvObjectPosition.xyz;
  1593. vec3 fvNormal = (matViewProjectionInverseTranspose * rm_Normal).xyz;
  1594. vec3 fvBinormal = (matViewProjectionInverseTranspose * rm_Binormal).xyz;
  1595. vec3 fvTangent = (matViewProjectionInverseTranspose * rm_Tangent).xyz;
  1596. ViewDirection.x = dot( fvTangent, fvViewDirection );
  1597. ViewDirection.y = dot( fvBinormal, fvViewDirection );
  1598. ViewDirection.z = dot( fvNormal, fvViewDirection );
  1599. LightDirection.x = dot( fvTangent, fvLightDirection.xyz );
  1600. LightDirection.y = dot( fvBinormal, fvLightDirection.xyz );
  1601. LightDirection.z = dot( fvNormal, fvLightDirection.xyz );
  1602. }]]></RmShaderCode></RmGLESShader>
  1603. <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
  1604. #ifdef GL_FRAGMENT_PRECISION_HIGH
  1605. // Default precision
  1606. precision highp float;
  1607. #else
  1608. precision mediump float;
  1609. #endif
  1610. uniform vec4 fvAmbient;
  1611. uniform vec4 fvSpecular;
  1612. uniform vec4 fvDiffuse;
  1613. uniform float fSpecularPower;
  1614. uniform sampler2D baseMap;
  1615. uniform sampler2D bumpMap;
  1616. varying vec2 Texcoord;
  1617. varying vec3 ViewDirection;
  1618. varying vec3 LightDirection;
  1619. void main( void )
  1620. {
  1621. vec3 fvLightDirection = normalize( LightDirection );
  1622. vec3 fvNormal = normalize( ( texture2D( bumpMap, Texcoord ).xyz * 2.0 ) - 1.0 );
  1623. float fNDotL = dot( fvNormal, fvLightDirection );
  1624. vec3 fvReflection = normalize( ( ( 2.0 * fvNormal ) * fNDotL ) - fvLightDirection );
  1625. vec3 fvViewDirection = normalize( ViewDirection );
  1626. float fRDotV = max( 0.0, dot( fvReflection, fvViewDirection ) );
  1627. vec4 fvBaseColor = texture2D( baseMap, Texcoord );
  1628. vec4 fvTotalAmbient = fvAmbient * fvBaseColor;
  1629. vec4 fvTotalDiffuse = fvDiffuse * fNDotL * fvBaseColor;
  1630. vec4 fvTotalSpecular = fvSpecular * ( pow( fRDotV, fSpecularPower ) );
  1631. gl_FragColor = ( fvTotalAmbient + fvTotalDiffuse + fvTotalSpecular );
  1632. }]]></RmShaderCode></RmGLESShader>
  1633. <RmStreamMapReference NAME="Stream Mapping" API=""/>
  1634. <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
  1635. <RmTextureReference NAME="base" API=""/>
  1636. <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/>
  1637. <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
  1638. </RmTextureObject>
  1639. <RmTextureObject NAME="bumpMap" API="OpenGL ES" STATE_INDEX="1" VERTEX_TEXTURE="FALSE">
  1640. <RmTextureReference NAME="bump" API=""/>
  1641. <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/>
  1642. <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
  1643. </RmTextureObject>
  1644. <RmSampler NAME="baseMap" API="" REGISTER="-1"/>
  1645. <RmSampler NAME="bumpMap" API="" REGISTER="-1"/>
  1646. <RmShaderConstant NAME="fSpecularPower" API="" REGISTER="-1"/>
  1647. <RmShaderConstant NAME="fvAmbient" API="" REGISTER="-1"/>
  1648. <RmShaderConstant NAME="fvDiffuse" API="" REGISTER="-1"/>
  1649. <RmShaderConstant NAME="fvEyePosition" API="" REGISTER="-1"/>
  1650. <RmShaderConstant NAME="fvLightPosition" API="" REGISTER="-1"/>
  1651. <RmShaderConstant NAME="fvSpecular" API="" REGISTER="-1"/>
  1652. <RmShaderConstant NAME="matViewProjection" API="" REGISTER="-1"/>
  1653. <RmShaderConstant NAME="matViewProjectionInverseTranspose" API="" REGISTER="-1"/>
  1654. </RmGLESPass>
  1655. </RmOpenGLESEffect>
  1656. </RmEffectGroup>
  1657. </RmEffectWorkspace>
  1658. </RENDER_MONKEY>