1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"yes"?>
2 <!DOCTYPE RENDER_MONKEY [
3 <!ELEMENT RENDER_MONKEY
10 <!ELEMENT RmEffectWorkspace
16 ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) |
17 ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) |
18 ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? )
40 <!ELEMENT RmEffectGroup
66 <!ELEMENT RmDirectXEffect
91 <!ELEMENT RmOpenGLEffect
104 Rm2DTextureVariable |
106 Rm3DTextureVariable |
109 RmRenderableTexture |
116 <!ELEMENT RmOpenGLESEffect
129 Rm2DTextureVariable |
131 Rm3DTextureVariable |
134 RmRenderableTexture |
150 ( RmHLSLShader | RmShader ),
151 ( RmShader | RmHLSLShader )?
155 RmStreamMapReference?,
164 Rm2DTextureVariable |
166 Rm3DTextureVariable |
183 ( RmGLShader, RmGLShader? )
186 RmStreamMapReference?,
195 Rm2DTextureVariable |
197 Rm3DTextureVariable |
216 ( RmGLESShader, RmGLESShader? )
219 RmStreamMapReference?,
228 Rm2DTextureVariable |
230 Rm3DTextureVariable |
251 <!ELEMENT RmHLSLShader
271 <!ELEMENT RmGLESShader
280 <!ELEMENT RmTextureObject
288 <!ELEMENT RmLightObject
295 <!ELEMENT RmMaterialObject
302 <!ELEMENT RmRenderStateBlock
311 <!ELEMENT RmStreamMap
320 <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )
>
322 <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )
>
323 <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )
>
324 <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )
>
325 <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )
>
326 <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )
>
327 <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )
>
328 <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )
>
329 <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )
>
330 <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )
>
331 <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )
>
332 <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )
>
333 <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )
>
334 <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )
>
335 <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )
>
336 <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )
>
337 <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )
>
338 <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )
>
339 <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )
>
340 <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )
>
341 <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )
>
342 <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )
>
344 <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )
>
346 <!ELEMENT RmDynamicVariable
348 RmDynamicVariableValueContainer,
353 <!ELEMENT RmDynamicVariableValueContainer
356 RmDynamicVariableValue*
359 <!ELEMENT RmTextDataBlock ( #PCDATA )
>
361 <!ELEMENT RmRegistryBranch
373 <!ELEMENT RmPlugInData
385 <!ELEMENT RmClipboardNode
414 RmMaterialReference |
416 RmStreamMapReference |
417 RmRenderableTexture |
424 RmDynamicVariableValue |
428 Rm2DTextureVariable |
430 Rm3DTextureVariable |
440 <!ELEMENT RmStreamChannel ( RmPlugInData? )
>
441 <!ELEMENT RmShaderConstant ( RmPlugInData? )
>
442 <!ELEMENT RmSampler ( RmPlugInData? )
>
443 <!ELEMENT RmState ( RmPlugInData? )
>
444 <!ELEMENT RmDynamicVariableValue ( RmPlugInData? )
>
446 <!ELEMENT RmShaderCode ( #PCDATA )
>
448 <!ATTLIST RmEffectWorkspace
451 ACTIVE_EFFECT CDATA #REQUIRED
452 VALIDATION_STRING CDATA #REQUIRED
453 XML_VERSION CDATA #REQUIRED
456 <!ATTLIST RmEffectGroup
461 <!ATTLIST RmDirectXEffect
464 ACTIVE_CAMERA CDATA #REQUIRED
467 <!ATTLIST RmOpenGLEffect
470 ACTIVE_CAMERA CDATA #REQUIRED
473 <!ATTLIST RmOpenGLESEffect
476 ACTIVE_CAMERA CDATA #REQUIRED
482 PASS_INDEX CDATA #REQUIRED
483 ENABLED ( TRUE | FALSE ) #REQUIRED
489 PASS_INDEX CDATA #REQUIRED
490 ENABLED ( TRUE | FALSE ) #REQUIRED
496 PASS_INDEX CDATA #REQUIRED
497 ENABLED ( TRUE | FALSE ) #REQUIRED
503 PIXEL_SHADER CDATA #REQUIRED
506 <!ATTLIST RmHLSLShader
509 PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
510 TARGET CDATA #REQUIRED
511 ENTRY_POINT CDATA #REQUIRED
512 COMPILER_FLAGS CDATA #REQUIRED
518 PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
521 <!ATTLIST RmGLESShader
524 PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
527 <!ATTLIST RmShaderConstant
530 REGISTER CDATA #REQUIRED
536 REGISTER CDATA #REQUIRED
539 <!ATTLIST RmTextureObject
542 STATE_INDEX CDATA #REQUIRED
543 VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED
546 <!ATTLIST RmLightObject
549 INDEX CDATA #REQUIRED
552 <!ATTLIST RmMaterialObject
555 INDEX CDATA #REQUIRED
558 <!ATTLIST RmRenderStateBlock
566 STATE CDATA #REQUIRED
567 VALUE CDATA #REQUIRED
568 USAGE CDATA #REQUIRED
571 <!ATTLIST RmStreamMap
579 STRIDE CDATA #REQUIRED
582 <!ATTLIST RmStreamChannel
585 DATA_SIZE CDATA #REQUIRED
586 DATA_TYPE CDATA #REQUIRED
587 REGISTER CDATA #REQUIRED
588 USAGE CDATA #REQUIRED
589 USAGE_INDEX CDATA #REQUIRED
590 ATTRIBUTE_NAME CDATA #REQUIRED
593 <!ATTLIST RmModelData
596 FILE_NAME CDATA #REQUIRED
597 ORIENTATION CDATA #REQUIRED
600 <!ATTLIST RmTextureReference
605 <!ATTLIST RmLightReference
610 <!ATTLIST RmMaterialReference
615 <!ATTLIST RmModelReference
620 <!ATTLIST RmStreamMapReference
625 <!ATTLIST RmRenderableTexture
628 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
629 VARIABLE_SEMANTIC CDATA #REQUIRED
630 FILE_NAME CDATA #REQUIRED
631 ORIGIN CDATA #REQUIRED
632 WIDTH CDATA #REQUIRED
633 HEIGHT CDATA #REQUIRED
634 FORMAT CDATA #REQUIRED
635 USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED
636 GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED
637 WIDTH_RATIO CDATA #REQUIRED
638 HEIGHT_RATIO CDATA #REQUIRED
641 <!ATTLIST RmRenderTarget
644 INDEX CDATA #REQUIRED
645 RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED
646 COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED
647 DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED
648 CLEAR_COLOR_VALUE CDATA #REQUIRED
649 DEPTH_CLEAR_VALUE CDATA #REQUIRED
652 <!ATTLIST RmBooleanVariable
655 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
656 VARIABLE_SEMANTIC CDATA #REQUIRED
657 VALUE CDATA #REQUIRED
660 <!ATTLIST RmFloatVariable
663 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
664 VARIABLE_SEMANTIC CDATA #REQUIRED
665 VALUE CDATA #REQUIRED
668 CLAMP ( TRUE | FALSE ) #REQUIRED
671 <!ATTLIST RmVectorVariable
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
682 CLAMP ( TRUE | FALSE ) #REQUIRED
683 NORMALIZE ( TRUE | FALSE ) #REQUIRED
686 <!ATTLIST RmMatrixVariable
689 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
690 VARIABLE_SEMANTIC CDATA #REQUIRED
691 VALUE_0 CDATA #REQUIRED
692 VALUE_1 CDATA #REQUIRED
693 VALUE_2 CDATA #REQUIRED
694 VALUE_3 CDATA #REQUIRED
695 VALUE_4 CDATA #REQUIRED
696 VALUE_5 CDATA #REQUIRED
697 VALUE_6 CDATA #REQUIRED
698 VALUE_7 CDATA #REQUIRED
699 VALUE_8 CDATA #REQUIRED
700 VALUE_9 CDATA #REQUIRED
701 VALUE_10 CDATA #REQUIRED
702 VALUE_11 CDATA #REQUIRED
703 VALUE_12 CDATA #REQUIRED
704 VALUE_13 CDATA #REQUIRED
705 VALUE_14 CDATA #REQUIRED
706 VALUE_15 CDATA #REQUIRED
709 <!ATTLIST RmDynamicVariable
712 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
713 VARIABLE_SEMANTIC CDATA #REQUIRED
714 VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED
716 COLUMNS CDATA #REQUIRED
717 FIXED_SIZE ( TRUE | FALSE ) #REQUIRED
720 CLAMP ( TRUE | FALSE ) #REQUIRED
721 NORMALIZE ( TRUE | FALSE ) #REQUIRED
724 <!ATTLIST RmDynamicVariableValue
725 ROW_INDEX CDATA #REQUIRED
726 COLUMN_INDEX CDATA #REQUIRED
727 VALUE CDATA #REQUIRED
730 <!ATTLIST RmColorVariable
733 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
734 VARIABLE_SEMANTIC CDATA #REQUIRED
735 VALUE_0 CDATA #REQUIRED
736 VALUE_1 CDATA #REQUIRED
737 VALUE_2 CDATA #REQUIRED
738 VALUE_3 CDATA #REQUIRED
741 <!ATTLIST RmIntegerVariable
744 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
745 VARIABLE_SEMANTIC CDATA #REQUIRED
746 VALUE CDATA #REQUIRED
749 CLAMP ( TRUE | FALSE ) #REQUIRED
752 <!ATTLIST RmStringVariable
755 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
756 VARIABLE_SEMANTIC CDATA #REQUIRED
759 <!ATTLIST Rm2DTextureVariable
762 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
763 VARIABLE_SEMANTIC CDATA #REQUIRED
764 FILE_NAME CDATA #REQUIRED
765 ORIGIN CDATA #REQUIRED
768 <!ATTLIST RmCubemapVariable
771 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
772 VARIABLE_SEMANTIC CDATA #REQUIRED
773 FILE_NAME CDATA #REQUIRED
774 ORIGIN CDATA #REQUIRED
777 <!ATTLIST Rm3DTextureVariable
780 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
781 VARIABLE_SEMANTIC CDATA #REQUIRED
782 FILE_NAME CDATA #REQUIRED
783 ORIGIN CDATA #REQUIRED
786 <!ATTLIST RmLightVariable
789 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
790 VARIABLE_SEMANTIC CDATA #REQUIRED
791 LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED
792 LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED
793 AMBIENT_0 CDATA #REQUIRED
794 AMBIENT_1 CDATA #REQUIRED
795 AMBIENT_2 CDATA #REQUIRED
796 AMBIENT_3 CDATA #REQUIRED
797 DIFFUSE_0 CDATA #REQUIRED
798 DIFFUSE_1 CDATA #REQUIRED
799 DIFFUSE_2 CDATA #REQUIRED
800 DIFFUSE_3 CDATA #REQUIRED
801 SPECULAR_0 CDATA #REQUIRED
802 SPECULAR_1 CDATA #REQUIRED
803 SPECULAR_2 CDATA #REQUIRED
804 SPECULAR_3 CDATA #REQUIRED
805 POSITION_0 CDATA #REQUIRED
806 POSITION_1 CDATA #REQUIRED
807 POSITION_2 CDATA #REQUIRED
808 DIRECTION_0 CDATA #REQUIRED
809 DIRECTION_1 CDATA #REQUIRED
810 DIRECTION_2 CDATA #REQUIRED
811 ATTENUATION_0 CDATA #REQUIRED
812 ATTENUATION_1 CDATA #REQUIRED
813 ATTENUATION_2 CDATA #REQUIRED
814 SPOTLIGHT_THETA CDATA #REQUIRED
815 SPOTLIGHT_PHI CDATA #REQUIRED
816 RANGE CDATA #REQUIRED
817 FALLOFF CDATA #REQUIRED
820 <!ATTLIST RmMaterialVariable
823 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
824 VARIABLE_SEMANTIC CDATA #REQUIRED
825 AMBIENT_0 CDATA #REQUIRED
826 AMBIENT_1 CDATA #REQUIRED
827 AMBIENT_2 CDATA #REQUIRED
828 AMBIENT_3 CDATA #REQUIRED
829 DIFFUSE_0 CDATA #REQUIRED
830 DIFFUSE_1 CDATA #REQUIRED
831 DIFFUSE_2 CDATA #REQUIRED
832 DIFFUSE_3 CDATA #REQUIRED
833 SPECULAR_0 CDATA #REQUIRED
834 SPECULAR_1 CDATA #REQUIRED
835 SPECULAR_2 CDATA #REQUIRED
836 SPECULAR_3 CDATA #REQUIRED
837 EMISSIVE_0 CDATA #REQUIRED
838 EMISSIVE_1 CDATA #REQUIRED
839 EMISSIVE_2 CDATA #REQUIRED
840 EMISSIVE_3 CDATA #REQUIRED
841 SPECULAR_POWER CDATA #REQUIRED
844 <!ATTLIST RmRegistryBranch
847 XML_VERSION CDATA #REQUIRED
850 <!ATTLIST RmPlugInData
853 PLUGIN_GUID CDATA #REQUIRED
856 <!ATTLIST RmClipboardNode
859 XML_VERSION CDATA #REQUIRED
865 CAMERA_POSITION_X CDATA #REQUIRED
866 CAMERA_POSITION_Y CDATA #REQUIRED
867 CAMERA_POSITION_Z CDATA #REQUIRED
868 LOOK_AT_VECTOR_X CDATA #REQUIRED
869 LOOK_AT_VECTOR_Y CDATA #REQUIRED
870 LOOK_AT_VECTOR_Z CDATA #REQUIRED
871 UP_VECTOR_X CDATA #REQUIRED
872 UP_VECTOR_Y CDATA #REQUIRED
873 UP_VECTOR_Z CDATA #REQUIRED
875 NEAR_CLIP_PLANE CDATA #REQUIRED
876 FAR_CLIP_PLANE CDATA #REQUIRED
879 <!ATTLIST RmCameraReference
882 USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED
885 <!ATTLIST RmShaderCode
886 TYPE ( TEXT ) #REQUIRED
889 <!ATTLIST RmTextDataBlock
890 TYPE ( TEXT ) #REQUIRED
895 <RmEffectWorkspace NAME=
"Effect Workspace" API=
"" ACTIVE_EFFECT=
"Effect Workspace.ProjectiveSpotlight" VALIDATION_STRING=
"" XML_VERSION=
"RenderMonkey 1.71">
896 <RmRegistryBranch NAME=
"RM_REGISTRY" API=
"" XML_VERSION=
"RenderMonkey 1.71">
897 <RmRegistryBranch NAME=
"RM_LOCAL" API=
"" XML_VERSION=
"RenderMonkey 1.71">
898 <RmRegistryBranch NAME=
"RM_PLUGIN" API=
"" XML_VERSION=
"RenderMonkey 1.71"><RmTextDataBlock TYPE=
"TEXT"><![CDATA[
899 <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>14</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>14</LastHolder></Pane-1><Pane-2><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep
</Title><ID>1100</ID><IconID>-
1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>19</FloatingHolder><LastHolder>19</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><Pane-5>8</Pane-5><Pane-6>9</Pane-6><Panes>6</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-6><Pane-7><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-8><Pane-9><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>10</Pane-1><Pane-2>15</Pane-2><Panes>2</Panes></Pane-9><Pane-10><Type>2</Type><DockingCX>0</DockingCX><DockingCY>641</DockingCY><Horiz>1</Horiz><Pane-1>11</Pane-1><Pane-2>13</Pane-2><Pane-3>14</Pane-3><Panes>3</Panes></Pane-10><Pane-11><Type>1</Type><DockingCX>336</DockingCX><DockingCY>250</DockingCY><Selected>12</Selected><Panes>1</Panes><Pane-1>12</Pane-1></Pane-11><Pane-12><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace
</Title><ID>1000</ID><IconID>-
1</IconID><Options>0</Options><DockingHolder>11</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>11</LastHolder></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>0</Selected><Panes>0</Panes></Pane-14><Pane-15><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>16</Selected><Panes>1</Panes><Pane-1>16</Pane-1></Pane-15><Pane-16><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output
</Title><ID>1002</ID><IconID>-
1</IconID><Options>0</Options><DockingHolder>15</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>15</LastHolder></Pane-16><Pane-17><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>18</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-17><Pane-18><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>19</Pane-1><Panes>1</Panes></Pane-18><Pane-19><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-19><Pane-20><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep
</Title><ID>1101</ID><IconID>-
1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>23</FloatingHolder><LastHolder>23</LastHolder></Pane-20><Pane-21><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>22</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-21><Pane-22><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>23</Pane-1><Panes>1</Panes></Pane-22><Pane-23><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-23><Pane-24><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep
</Title><ID>1102</ID><IconID>-
1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>27</FloatingHolder><LastHolder>27</LastHolder></Pane-24><Pane-25><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>26</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-25><Pane-26><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>27</Pane-1><Panes>1</Panes></Pane-26><Pane-27><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-27><Pane-28><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep
</Title><ID>1103</ID><IconID>-
1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>31</FloatingHolder><LastHolder>31</LastHolder></Pane-28><Pane-29><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>30</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-29><Pane-30><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>31</Pane-1><Panes>1</Panes></Pane-30><Pane-31><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-31><Pane-32><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>33</TopContaner><WindowRectTopPos>557</WindowRectTopPos><WindowRectBottomPos>769</WindowRectBottomPos><WindowRectLeftPos>386</WindowRectLeftPos><WindowRectRightPos>820</WindowRectRightPos></Pane-32><Pane-33><Type>2</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Horiz>1</Horiz><Pane-1>34</Pane-1><Panes>1</Panes></Pane-33><Pane-34><Type>1</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-34><Pane-35><Type>0</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Title>u_lightPos
</Title><ID>1104</ID><IconID>-
1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>34</FloatingHolder><LastHolder>34</LastHolder></Pane-35><Summary><TopContainer>3</TopContainer><Client>13</Client><Panes>35</Panes></Summary></Application_Layout></DockingPaneLayouts>
900 ]]
></RmTextDataBlock>
901 <RmRegistryBranch NAME=
"RmPreviewDx9Window" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
902 <RmRegistryBranch NAME=
"RmPreviewGLESWindow" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
903 <RmRegistryBranch NAME=
"RmPreviewGLWindow" API=
"" XML_VERSION=
"RenderMonkey 1.71">
904 <RmRegistryBranch NAME=
"EffectPlacementRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71">
905 <RmRegistryBranch NAME=
"Effect Workspace.ProjectiveSpotlight" API=
"" XML_VERSION=
"RenderMonkey 1.71">
906 <RmIntegerVariable NAME=
"X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"39" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
907 <RmIntegerVariable NAME=
"Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"2" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
908 <RmIntegerVariable NAME=
"Width" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"483" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
909 <RmIntegerVariable NAME=
"Height" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"483" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
910 <RmIntegerVariable NAME=
"ShowStatus" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
911 <RmIntegerVariable NAME=
"Visible" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
912 <RmIntegerVariable NAME=
"Minimized X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
913 <RmIntegerVariable NAME=
"Minimized Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
917 <RmRegistryBranch NAME=
"RmPreviewGLPreview" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
918 <RmRegistryBranch NAME=
"RmLightEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
919 <RmRegistryBranch NAME=
"EditNodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
921 <RmRegistryBranch NAME=
"NoteEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
922 <RmRegistryBranch NAME=
"EditNodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
924 <RmRegistryBranch NAME=
"RmRenderableTextureEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
925 <RmRegistryBranch NAME=
"EditNodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
926 <RmRegistryBranch NAME=
"NodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
928 <RmRegistryBranch NAME=
"RmRenderTargetEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
929 <RmRegistryBranch NAME=
"EditNodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
930 <RmRegistryBranch NAME=
"NodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
932 <RmRegistryBranch NAME=
"RmRenderStateBlockEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
933 <RmRegistryBranch NAME=
"EditNodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
934 <RmRegistryBranch NAME=
"NodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
936 <RmRegistryBranch NAME=
"RmTextureObjectEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
937 <RmRegistryBranch NAME=
"EditNodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71">
938 <RmRegistryBranch NAME=
"Effect Workspace.ProjectiveSpotlight.Render Object.spotLight" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
940 <RmRegistryBranch NAME=
"NodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71">
941 <RmRegistryBranch NAME=
"Effect Workspace.ProjectiveSpotlight" API=
"" XML_VERSION=
"RenderMonkey 1.71">
942 <RmIntegerVariable NAME=
"X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"431" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
943 <RmIntegerVariable NAME=
"Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"36" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
944 <RmIntegerVariable NAME=
"Width" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1063" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
945 <RmIntegerVariable NAME=
"Height" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"514" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
946 <RmIntegerVariable NAME=
"ShowStatus" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
947 <RmIntegerVariable NAME=
"Visible" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
948 <RmIntegerVariable NAME=
"Minimized X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
949 <RmIntegerVariable NAME=
"Minimized Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
953 <RmRegistryBranch NAME=
"RmTextureGenerator" API=
"" XML_VERSION=
"RenderMonkey 1.71">
954 <RmRegistryBranch NAME=
"EditNodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
956 <RmRegistryBranch NAME=
"RmShaderEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
957 <RmRegistryBranch NAME=
"Effect Workspace.ProjectiveSpotlight" API=
"" XML_VERSION=
"RenderMonkey 1.71">
958 <RmRegistryBranch NAME=
"Disassembly" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
959 <RmStringVariable NAME=
"Editing Shader" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
""><RmTextDataBlock TYPE=
"TEXT"><![CDATA[
960 Fragment Program]]
></RmTextDataBlock></RmStringVariable>
961 <RmStringVariable NAME=
"Editing Pass" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
""><RmTextDataBlock TYPE=
"TEXT"><![CDATA[
962 Render Object]]
></RmTextDataBlock></RmStringVariable>
963 <RmIntegerVariable NAME=
"Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
964 <RmIntegerVariable NAME=
"Width" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"650" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
965 <RmIntegerVariable NAME=
"Height" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"650" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
966 <RmIntegerVariable NAME=
"ShowStatus" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
967 <RmIntegerVariable NAME=
"Visible" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
968 <RmIntegerVariable NAME=
"Minimized X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
969 <RmIntegerVariable NAME=
"Minimized Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
970 <RmIntegerVariable NAME=
"X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"429" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
973 <RmRegistryBranch NAME=
"RmStreamEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
974 <RmRegistryBranch NAME=
"Effect Workspace.Textured.Stream Mapping" API=
"" XML_VERSION=
"RenderMonkey 1.71">
975 <RmIntegerVariable NAME=
"X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"258" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
976 <RmIntegerVariable NAME=
"Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"128" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
977 <RmIntegerVariable NAME=
"Width" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"851" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
978 <RmIntegerVariable NAME=
"Height" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"270" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
979 <RmIntegerVariable NAME=
"ShowStatus" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
980 <RmIntegerVariable NAME=
"Visible" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"0" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
981 <RmIntegerVariable NAME=
"Minimized X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
982 <RmIntegerVariable NAME=
"Minimized Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
984 <RmRegistryBranch NAME=
"Effect Workspace.ProjectiveSpotlight.Stream Mapping" API=
"" XML_VERSION=
"RenderMonkey 1.71">
985 <RmIntegerVariable NAME=
"X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"344" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
986 <RmIntegerVariable NAME=
"Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"128" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
987 <RmIntegerVariable NAME=
"Width" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"851" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
988 <RmIntegerVariable NAME=
"Height" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"270" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
989 <RmIntegerVariable NAME=
"ShowStatus" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
990 <RmIntegerVariable NAME=
"Visible" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"0" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
991 <RmIntegerVariable NAME=
"Minimized X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
992 <RmIntegerVariable NAME=
"Minimized Y" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" VALUE=
"-1" MIN=
"-10" MAX=
"10" CLAMP=
"FALSE"/>
995 <RmRegistryBranch NAME=
"RmScalarEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
996 <RmRegistryBranch NAME=
"NodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
998 <RmRegistryBranch NAME=
"RmDynamicVariableEditor" API=
"" XML_VERSION=
"RenderMonkey 1.71">
999 <RmRegistryBranch NAME=
"NodeRepository" API=
"" XML_VERSION=
"RenderMonkey 1.71"/>
1002 <RmRegistryBranch NAME=
"WORKSPACE" API=
"" XML_VERSION=
"RenderMonkey 1.71">
1003 <RmStringVariable NAME=
"LAST_SAVE" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
""><RmTextDataBlock TYPE=
"TEXT"><![CDATA[
1004 19/
1/
2008 9:
30:
45]]
></RmTextDataBlock></RmStringVariable>
1005 <RmStringVariable NAME=
"VERSION" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
""><RmTextDataBlock TYPE=
"TEXT"><![CDATA[
1006 RenderMonkey Version
1.80 (build
125)]]
></RmTextDataBlock></RmStringVariable>
1007 <RmStringVariable NAME=
"XML_VERSION" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
""><RmTextDataBlock TYPE=
"TEXT"><![CDATA[
1008 RenderMonkey
1.71]]
></RmTextDataBlock></RmStringVariable>
1009 <RmStringVariable NAME=
"BASE_WORKSPACE_PATH" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
""><RmTextDataBlock TYPE=
"TEXT"><![CDATA[
1010 D:\svn\redbook\Code\Chapter_13\ProjectiveSpotlight\]]
></RmTextDataBlock></RmStringVariable>
1014 <RmOpenGLESEffect NAME=
"ProjectiveSpotlight" API=
"OpenGL ES" ACTIVE_CAMERA=
"Camera">
1015 <RmCamera NAME=
"Camera" API=
"" CAMERA_POSITION_X=
"-95.867363" CAMERA_POSITION_Y=
"52.315987" CAMERA_POSITION_Z=
"-127.439903" LOOK_AT_VECTOR_X=
"0.000000" LOOK_AT_VECTOR_Y=
"0.000000" LOOK_AT_VECTOR_Z=
"0.000000" UP_VECTOR_X=
"0.128836" UP_VECTOR_Y=
"0.947666" UP_VECTOR_Z=
"0.292114" FOV=
"45.000000" NEAR_CLIP_PLANE=
"1.000000" FAR_CLIP_PLANE=
"1000.000000"/>
1016 <RmMatrixVariable NAME=
"u_matViewProjection" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"ViewProjection" VALUE_0=
"-1.824085" VALUE_1=
"-0.155327" VALUE_2=
"1.308414" VALUE_3=
"0.000011" VALUE_4=
"0.311038" VALUE_5=
"2.287868" VALUE_6=
"0.705226" VALUE_7=
"0.000228" VALUE_8=
"0.571773" VALUE_9=
"-0.312024" VALUE_10=
"0.760079" VALUE_11=
"167.001587" VALUE_12=
"0.571202" VALUE_13=
"-0.311712" VALUE_14=
"0.759319" VALUE_15=
"167.834579"/>
1017 <RmMatrixVariable NAME=
"u_matProjection" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"Projection" VALUE_0=
"2.250190" 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=
"-1.001001" VALUE_12=
"0.000000" VALUE_13=
"0.000000" VALUE_14=
"-1.000000" VALUE_15=
"0.000000"/>
1018 <RmFloatVariable NAME=
"u_time_0_X" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"Time0_X" VALUE=
"41.675537" MIN=
"-1.000000" MAX=
"1.000000" CLAMP=
"FALSE"/>
1019 <Rm2DTextureVariable NAME=
"Spotlight" API=
"" ARTIST_EDITABLE=
"FALSE" VARIABLE_SEMANTIC=
"" FILE_NAME=
"Corona.tga" ORIGIN=
"0"/>
1020 <Rm2DTextureVariable NAME=
"base" API=
"" ARTIST_EDITABLE=
"TRUE" VARIABLE_SEMANTIC=
"" FILE_NAME=
"Terrain.tga" ORIGIN=
"0"/>
1021 <RmStreamMap NAME=
"Stream Mapping" API=
"">
1022 <RmStream NAME=
"Stream" API=
"" STRIDE=
"32">
1023 <RmStreamChannel NAME=
"Position_0" API=
"" DATA_SIZE=
"12" DATA_TYPE=
"2" REGISTER=
"0" USAGE=
"0" USAGE_INDEX=
"0" ATTRIBUTE_NAME=
"a_vertex"/>
1024 <RmStreamChannel NAME=
"TexCoord_0" API=
"" DATA_SIZE=
"8" DATA_TYPE=
"1" REGISTER=
"0" USAGE=
"5" USAGE_INDEX=
"0" ATTRIBUTE_NAME=
"a_texCoord0"/>
1025 <RmStreamChannel NAME=
"Normal_0" API=
"" DATA_SIZE=
"12" DATA_TYPE=
"2" REGISTER=
"0" USAGE=
"3" USAGE_INDEX=
"0" ATTRIBUTE_NAME=
"a_normal"/>
1028 <RmModelData NAME=
"Terrrain" API=
"" FILE_NAME=
".\Terrain.3ds" ORIENTATION=
"0"/>
1029 <RmGLESPass NAME=
"Render Object" API=
"OpenGL ES" PASS_INDEX=
"0" ENABLED=
"TRUE">
1030 <RmCameraReference NAME=
"Camera" API=
"" USE_ACTIVE_CAMERA=
"FALSE"/>
1031 <RmModelReference NAME=
"Terrrain" API=
""/>
1032 <RmGLESShader NAME=
"Fragment Program" API=
"OpenGL ES" PIXEL_SHADER=
"TRUE"><RmShaderCode TYPE=
"TEXT"><![CDATA[
1033 precision mediump float;
1035 uniform sampler2D baseMap;
1036 uniform sampler2D spotLight;
1037 varying vec2 v_texCoord;
1038 varying vec3 v_projTexCoord;
1039 varying vec3 v_normal;
1040 varying vec3 v_lightDir;
1045 // Projective fetch of spotlight
1046 vec4 spotLightColor = texture2DProj( spotLight, v_projTexCoord );
1049 vec4 baseColor = texture2D( baseMap, v_texCoord );
1052 float nDotL = max(
0.0, -dot( v_normal, v_lightDir ) );
1054 gl_FragColor = spotLightColor * baseColor *
2.0 * nDotL;
1056 }]]
></RmShaderCode></RmGLESShader>
1057 <RmGLESShader NAME=
"Vertex Program" API=
"OpenGL ES" PIXEL_SHADER=
"FALSE"><RmShaderCode TYPE=
"TEXT"><![CDATA[
1058 uniform float u_time_0_X;
1059 uniform mat4 u_matProjection;
1060 uniform mat4 u_matViewProjection;
1061 attribute vec4 a_vertex;
1062 attribute vec2 a_texCoord0;
1063 attribute vec3 a_normal;
1065 varying vec2 v_texCoord;
1066 varying vec3 v_projTexCoord;
1067 varying vec3 v_normal;
1068 varying vec3 v_lightDir;
1072 gl_Position = u_matViewProjection * a_vertex;
1073 v_texCoord = a_texCoord0.xy;
1075 // Compute a light position based on time
1077 lightPos.x = cos(u_time_0_X);
1078 lightPos.z = sin(u_time_0_X);
1079 lightPos.xz =
100.0 * normalize(lightPos.xz);
1082 // Compute the light coordinate axes
1083 vec3 look = -normalize( lightPos );
1084 vec3 right = cross( vec3(
0.0,
0.0,
1.0), look );
1085 vec3 up = cross( look, right );
1087 // Create a view matrix for the light
1088 mat4 lightView = mat4( right, dot( right, -lightPos ),
1089 up, dot( up, -lightPos ),
1090 look, dot( look, -lightPos),
1091 0.0,
0.0,
0.0,
1.0 );
1093 // Transform position into light view space
1094 vec4 objPosLight = a_vertex * lightView;
1096 // Transform position into projective light view space
1097 objPosLight = u_matProjection * objPosLight;
1099 // Create bias matrix
1100 mat3 biasMatrix = mat3(
0.5,
0.0,
0.5,
1104 // Compute projective texture coordinates
1105 v_projTexCoord = objPosLight.xyz * biasMatrix;
1107 v_lightDir = normalize(a_vertex.xyz - lightPos);
1108 v_normal = a_normal;
1110 }]]
></RmShaderCode></RmGLESShader>
1111 <RmStreamMapReference NAME=
"Stream Mapping" API=
""/>
1112 <RmTextureObject NAME=
"baseMap" API=
"OpenGL ES" STATE_INDEX=
"0" VERTEX_TEXTURE=
"FALSE">
1113 <RmTextureReference NAME=
"base" API=
""/>
1114 <RmState NAME=
"GL_TextureMinify" API=
"OpenGL ES" STATE=
"4" VALUE=
"6" USAGE=
"SAMPLER_STATE"/>
1115 <RmState NAME=
"GL_TextureMagnify" API=
"OpenGL ES" STATE=
"5" VALUE=
"1" USAGE=
"SAMPLER_STATE"/>
1117 <RmTextureObject NAME=
"spotLight" API=
"OpenGL ES" STATE_INDEX=
"1" VERTEX_TEXTURE=
"FALSE">
1118 <RmTextureReference NAME=
"Spotlight" API=
""/>
1119 <RmState NAME=
"GL_TextureWrapS" API=
"OpenGL ES" STATE=
"1" VALUE=
"2" USAGE=
"SAMPLER_STATE"/>
1120 <RmState NAME=
"GL_TextureWrapT" API=
"OpenGL ES" STATE=
"2" VALUE=
"2" USAGE=
"SAMPLER_STATE"/>
1121 <RmState NAME=
"GL_TextureWrapR" API=
"OpenGL ES" STATE=
"3" VALUE=
"2" USAGE=
"SAMPLER_STATE"/>
1122 <RmState NAME=
"GL_TextureMinify" API=
"OpenGL ES" STATE=
"4" VALUE=
"1" USAGE=
"SAMPLER_STATE"/>
1123 <RmState NAME=
"GL_TextureMagnify" API=
"OpenGL ES" STATE=
"5" VALUE=
"1" USAGE=
"SAMPLER_STATE"/>
1125 <RmSampler NAME=
"baseMap" API=
"" REGISTER=
"-1"/>
1126 <RmSampler NAME=
"spotLight" API=
"" REGISTER=
"-1"/>
1127 <RmShaderConstant NAME=
"u_time_0_X" API=
"" REGISTER=
"-1"/>
1128 <RmShaderConstant NAME=
"u_matProjection" API=
"" REGISTER=
"-1"/>
1129 <RmShaderConstant NAME=
"u_matViewProjection" API=
"" REGISTER=
"-1"/>
1132 </RmEffectWorkspace>