Adds more owners.
[chromium-blink-merge.git] / third_party / gles2_book / Chapter_13 / ProjectiveSpotlight / ProjectiveSpotlight.rfx
blob12f85f6d993ca8fcb07dbb2c28c7152ef365c0a5
1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 <!DOCTYPE RENDER_MONKEY [
3 <!ELEMENT RENDER_MONKEY
5 RmEffectWorkspace |
6 RmRegistryBranch |
7 RmClipboardNode
8 )?>
10 <!ELEMENT RmEffectWorkspace
12 RmRegistryBranch?,
13 RmPlugInData?,
14 RmStringVariable*,
16 ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) |
17 ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) |
18 ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? )
19 )?,
21 RmBooleanVariable |
22 RmIntegerVariable |
23 RmFloatVariable |
24 RmVectorVariable |
25 RmMatrixVariable |
26 RmDynamicVariable |
27 RmColorVariable |
28 Rm2DTextureVariable |
29 RmCubemapVariable |
30 Rm3DTextureVariable |
31 RmLightVariable |
32 RmMaterialVariable |
33 RmRenderableTexture |
34 RmStreamMap |
35 RmModelData |
36 RmEffectGroup
40 <!ELEMENT RmEffectGroup
42 RmPlugInData?,
44 RmStringVariable |
45 RmDirectXEffect |
46 RmOpenGLEffect |
47 RmOpenGLESEffect |
48 RmBooleanVariable |
49 RmIntegerVariable |
50 RmFloatVariable |
51 RmVectorVariable |
52 RmMatrixVariable |
53 RmDynamicVariable |
54 RmColorVariable |
55 Rm2DTextureVariable |
56 RmCubemapVariable |
57 Rm3DTextureVariable |
58 RmLightVariable |
59 RmMaterialVariable |
60 RmRenderableTexture |
61 RmStreamMap |
62 RmModelData
66 <!ELEMENT RmDirectXEffect
68 RmPlugInData?,
70 RmStringVariable |
71 RmCamera |
72 RmBooleanVariable |
73 RmIntegerVariable |
74 RmFloatVariable |
75 RmVectorVariable |
76 RmMatrixVariable |
77 RmDynamicVariable |
78 RmColorVariable |
79 Rm2DTextureVariable |
80 RmCubemapVariable |
81 Rm3DTextureVariable |
82 RmLightVariable |
83 RmMaterialVariable |
84 RmRenderableTexture |
85 RmStreamMap |
86 RmModelData |
87 RmPass
91 <!ELEMENT RmOpenGLEffect
93 RmPlugInData?,
95 RmStringVariable |
96 RmCamera |
97 RmBooleanVariable |
98 RmIntegerVariable |
99 RmFloatVariable |
100 RmVectorVariable |
101 RmMatrixVariable |
102 RmDynamicVariable |
103 RmColorVariable |
104 Rm2DTextureVariable |
105 RmCubemapVariable |
106 Rm3DTextureVariable |
107 RmLightVariable |
108 RmMaterialVariable |
109 RmRenderableTexture |
110 RmStreamMap |
111 RmModelData |
112 RmGLPass
116 <!ELEMENT RmOpenGLESEffect
118 RmPlugInData?,
120 RmStringVariable |
121 RmCamera |
122 RmBooleanVariable |
123 RmIntegerVariable |
124 RmFloatVariable |
125 RmVectorVariable |
126 RmMatrixVariable |
127 RmDynamicVariable |
128 RmColorVariable |
129 Rm2DTextureVariable |
130 RmCubemapVariable |
131 Rm3DTextureVariable |
132 RmLightVariable |
133 RmMaterialVariable |
134 RmRenderableTexture |
135 RmStreamMap |
136 RmModelData |
137 RmGLESPass
141 <!ELEMENT RmPass
143 RmPlugInData?,
144 RmStringVariable*,
145 RmCameraReference?,
146 RmModelReference?,
147 RmRenderStateBlock?,
150 ( RmHLSLShader | RmShader ),
151 ( RmShader | RmHLSLShader )?
154 RmRenderTarget*,
155 RmStreamMapReference?,
157 RmBooleanVariable |
158 RmIntegerVariable |
159 RmFloatVariable |
160 RmVectorVariable |
161 RmMatrixVariable |
162 RmDynamicVariable |
163 RmColorVariable |
164 Rm2DTextureVariable |
165 RmCubemapVariable |
166 Rm3DTextureVariable |
167 RmLightVariable |
168 RmMaterialVariable |
169 RmTextureObject |
170 RmLightObject |
171 RmMaterialObject
175 <!ELEMENT RmGLPass
177 RmPlugInData?,
178 RmStringVariable*,
179 RmCameraReference?,
180 RmModelReference?,
181 RmRenderStateBlock?,
183 ( RmGLShader, RmGLShader? )
185 RmRenderTarget?,
186 RmStreamMapReference?,
188 RmBooleanVariable |
189 RmIntegerVariable |
190 RmFloatVariable |
191 RmVectorVariable |
192 RmMatrixVariable |
193 RmDynamicVariable |
194 RmColorVariable |
195 Rm2DTextureVariable |
196 RmCubemapVariable |
197 Rm3DTextureVariable |
198 RmLightVariable |
199 RmMaterialVariable |
200 RmTextureObject |
201 RmLightObject |
202 RmMaterialObject |
203 RmShaderConstant |
204 RmSampler
208 <!ELEMENT RmGLESPass
210 RmPlugInData?,
211 RmStringVariable*,
212 RmCameraReference?,
213 RmModelReference?,
214 RmRenderStateBlock?,
216 ( RmGLESShader, RmGLESShader? )
218 RmRenderTarget?,
219 RmStreamMapReference?,
221 RmBooleanVariable |
222 RmIntegerVariable |
223 RmFloatVariable |
224 RmVectorVariable |
225 RmMatrixVariable |
226 RmDynamicVariable |
227 RmColorVariable |
228 Rm2DTextureVariable |
229 RmCubemapVariable |
230 Rm3DTextureVariable |
231 RmLightVariable |
232 RmMaterialVariable |
233 RmTextureObject |
234 RmLightObject |
235 RmMaterialObject |
236 RmShaderConstant |
237 RmSampler
241 <!ELEMENT RmShader
243 RmShaderCode,
244 RmPlugInData?,
246 RmStringVariable |
247 RmShaderConstant
251 <!ELEMENT RmHLSLShader
253 RmShaderCode,
254 RmPlugInData?,
256 RmStringVariable |
257 RmShaderConstant |
258 RmSampler
262 <!ELEMENT RmGLShader
264 RmShaderCode,
265 RmPlugInData?,
267 RmStringVariable
271 <!ELEMENT RmGLESShader
273 RmShaderCode,
274 RmPlugInData?,
276 RmStringVariable
280 <!ELEMENT RmTextureObject
282 RmPlugInData?,
283 RmStringVariable*,
284 RmTextureReference?,
285 RmState*
288 <!ELEMENT RmLightObject
290 RmPlugInData?,
291 RmStringVariable*,
292 RmLightReference?
295 <!ELEMENT RmMaterialObject
297 RmPlugInData?,
298 RmStringVariable*,
299 RmMaterialReference?
302 <!ELEMENT RmRenderStateBlock
304 RmPlugInData?,
306 RmStringVariable |
307 RmState
311 <!ELEMENT RmStreamMap
313 RmPlugInData?,
315 RmStringVariable |
316 RmStream
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,
349 RmPlugInData?,
350 RmStringVariable?
353 <!ELEMENT RmDynamicVariableValueContainer
355 RmPlugInData?,
356 RmDynamicVariableValue*
359 <!ELEMENT RmTextDataBlock ( #PCDATA ) >
361 <!ELEMENT RmRegistryBranch
363 RmTextDataBlock?,
365 RmRegistryBranch |
366 RmStringVariable |
367 RmIntegerVariable |
368 RmBooleanVariable |
369 RmFloatVariable
373 <!ELEMENT RmPlugInData
375 RmTextDataBlock?,
377 RmStringVariable |
378 RmIntegerVariable |
379 RmBooleanVariable |
380 RmFloatVariable |
381 RmVectorVariable
385 <!ELEMENT RmClipboardNode
387 RmTextDataBlock?,
389 RmEffectWorkspace |
390 RmEffectGroup |
391 RmDirectXEffect |
392 RmOpenGLEffect |
393 RmOpenGLESEffect |
394 RmPass |
395 RmGLPass |
396 RmGLESPass |
397 RmShader |
398 RmHLSLShader |
399 RmGLShader |
400 RmGLESShader |
401 RmShaderConstant |
402 RmSampler |
403 RmTextureObject |
404 RmLightObject |
405 RmMaterialObject |
406 RmRenderStateBlock |
407 RmState |
408 RmStreamMap |
409 RmStream |
410 RmStreamChannel |
411 RmModelData |
412 RmTextureReference |
413 RmLightReference |
414 RmMaterialReference |
415 RmModelReference |
416 RmStreamMapReference |
417 RmRenderableTexture |
418 RmRenderTarget |
419 RmBooleanVariable |
420 RmFloatVariable |
421 RmVectorVariable |
422 RmMatrixVariable |
423 RmDynamicVariable |
424 RmDynamicVariableValue |
425 RmColorVariable |
426 RmIntegerVariable |
427 RmStringVariable |
428 Rm2DTextureVariable |
429 RmCubemapVariable |
430 Rm3DTextureVariable |
431 RmLightVariable |
432 RmMaterialVariable |
433 RmRegistryBranch |
434 RmPlugInData |
435 RmCamera |
436 RmCameraReference
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
449 NAME CDATA #REQUIRED
450 API CDATA #REQUIRED
451 ACTIVE_EFFECT CDATA #REQUIRED
452 VALIDATION_STRING CDATA #REQUIRED
453 XML_VERSION CDATA #REQUIRED
456 <!ATTLIST RmEffectGroup
457 NAME CDATA #REQUIRED
458 API CDATA #REQUIRED
461 <!ATTLIST RmDirectXEffect
462 NAME CDATA #REQUIRED
463 API CDATA #REQUIRED
464 ACTIVE_CAMERA CDATA #REQUIRED
467 <!ATTLIST RmOpenGLEffect
468 NAME CDATA #REQUIRED
469 API CDATA #REQUIRED
470 ACTIVE_CAMERA CDATA #REQUIRED
473 <!ATTLIST RmOpenGLESEffect
474 NAME CDATA #REQUIRED
475 API CDATA #REQUIRED
476 ACTIVE_CAMERA CDATA #REQUIRED
479 <!ATTLIST RmPass
480 NAME CDATA #REQUIRED
481 API CDATA #REQUIRED
482 PASS_INDEX CDATA #REQUIRED
483 ENABLED ( TRUE | FALSE ) #REQUIRED
486 <!ATTLIST RmGLPass
487 NAME CDATA #REQUIRED
488 API CDATA #REQUIRED
489 PASS_INDEX CDATA #REQUIRED
490 ENABLED ( TRUE | FALSE ) #REQUIRED
493 <!ATTLIST RmGLESPass
494 NAME CDATA #REQUIRED
495 API CDATA #REQUIRED
496 PASS_INDEX CDATA #REQUIRED
497 ENABLED ( TRUE | FALSE ) #REQUIRED
500 <!ATTLIST RmShader
501 NAME CDATA #REQUIRED
502 API CDATA #REQUIRED
503 PIXEL_SHADER CDATA #REQUIRED
506 <!ATTLIST RmHLSLShader
507 NAME CDATA #REQUIRED
508 API CDATA #REQUIRED
509 PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
510 TARGET CDATA #REQUIRED
511 ENTRY_POINT CDATA #REQUIRED
512 COMPILER_FLAGS CDATA #REQUIRED
515 <!ATTLIST RmGLShader
516 NAME CDATA #REQUIRED
517 API CDATA #REQUIRED
518 PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
521 <!ATTLIST RmGLESShader
522 NAME CDATA #REQUIRED
523 API CDATA #REQUIRED
524 PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED
527 <!ATTLIST RmShaderConstant
528 NAME CDATA #REQUIRED
529 API CDATA #REQUIRED
530 REGISTER CDATA #REQUIRED
533 <!ATTLIST RmSampler
534 NAME CDATA #REQUIRED
535 API CDATA #REQUIRED
536 REGISTER CDATA #REQUIRED
539 <!ATTLIST RmTextureObject
540 NAME CDATA #REQUIRED
541 API CDATA #REQUIRED
542 STATE_INDEX CDATA #REQUIRED
543 VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED
546 <!ATTLIST RmLightObject
547 NAME CDATA #REQUIRED
548 API CDATA #REQUIRED
549 INDEX CDATA #REQUIRED
552 <!ATTLIST RmMaterialObject
553 NAME CDATA #REQUIRED
554 API CDATA #REQUIRED
555 INDEX CDATA #REQUIRED
558 <!ATTLIST RmRenderStateBlock
559 NAME CDATA #REQUIRED
560 API CDATA #REQUIRED
563 <!ATTLIST RmState
564 NAME CDATA #REQUIRED
565 API CDATA #REQUIRED
566 STATE CDATA #REQUIRED
567 VALUE CDATA #REQUIRED
568 USAGE CDATA #REQUIRED
571 <!ATTLIST RmStreamMap
572 NAME CDATA #REQUIRED
573 API CDATA #REQUIRED
576 <!ATTLIST RmStream
577 NAME CDATA #REQUIRED
578 API CDATA #REQUIRED
579 STRIDE CDATA #REQUIRED
582 <!ATTLIST RmStreamChannel
583 NAME CDATA #REQUIRED
584 API CDATA #REQUIRED
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
594 NAME CDATA #REQUIRED
595 API CDATA #REQUIRED
596 FILE_NAME CDATA #REQUIRED
597 ORIENTATION CDATA #REQUIRED
600 <!ATTLIST RmTextureReference
601 NAME CDATA #REQUIRED
602 API CDATA #REQUIRED
605 <!ATTLIST RmLightReference
606 NAME CDATA #REQUIRED
607 API CDATA #REQUIRED
610 <!ATTLIST RmMaterialReference
611 NAME CDATA #REQUIRED
612 API CDATA #REQUIRED
615 <!ATTLIST RmModelReference
616 NAME CDATA #REQUIRED
617 API CDATA #REQUIRED
620 <!ATTLIST RmStreamMapReference
621 NAME CDATA #REQUIRED
622 API CDATA #REQUIRED
625 <!ATTLIST RmRenderableTexture
626 NAME CDATA #REQUIRED
627 API CDATA #REQUIRED
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
642 NAME CDATA #REQUIRED
643 API CDATA #REQUIRED
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
653 NAME CDATA #REQUIRED
654 API CDATA #REQUIRED
655 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
656 VARIABLE_SEMANTIC CDATA #REQUIRED
657 VALUE CDATA #REQUIRED
660 <!ATTLIST RmFloatVariable
661 NAME CDATA #REQUIRED
662 API CDATA #REQUIRED
663 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
664 VARIABLE_SEMANTIC CDATA #REQUIRED
665 VALUE CDATA #REQUIRED
666 MIN CDATA #REQUIRED
667 MAX CDATA #REQUIRED
668 CLAMP ( TRUE | FALSE ) #REQUIRED
671 <!ATTLIST RmVectorVariable
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 MIN CDATA #REQUIRED
681 MAX CDATA #REQUIRED
682 CLAMP ( TRUE | FALSE ) #REQUIRED
683 NORMALIZE ( TRUE | FALSE ) #REQUIRED
686 <!ATTLIST RmMatrixVariable
687 NAME CDATA #REQUIRED
688 API CDATA #REQUIRED
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
710 NAME CDATA #REQUIRED
711 API CDATA #REQUIRED
712 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
713 VARIABLE_SEMANTIC CDATA #REQUIRED
714 VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED
715 ROWS CDATA #REQUIRED
716 COLUMNS CDATA #REQUIRED
717 FIXED_SIZE ( TRUE | FALSE ) #REQUIRED
718 MIN CDATA #REQUIRED
719 MAX CDATA #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
731 NAME CDATA #REQUIRED
732 API CDATA #REQUIRED
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
742 NAME CDATA #REQUIRED
743 API CDATA #REQUIRED
744 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
745 VARIABLE_SEMANTIC CDATA #REQUIRED
746 VALUE CDATA #REQUIRED
747 MIN CDATA #REQUIRED
748 MAX CDATA #REQUIRED
749 CLAMP ( TRUE | FALSE ) #REQUIRED
752 <!ATTLIST RmStringVariable
753 NAME CDATA #REQUIRED
754 API CDATA #REQUIRED
755 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
756 VARIABLE_SEMANTIC CDATA #REQUIRED
759 <!ATTLIST Rm2DTextureVariable
760 NAME CDATA #REQUIRED
761 API CDATA #REQUIRED
762 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
763 VARIABLE_SEMANTIC CDATA #REQUIRED
764 FILE_NAME CDATA #REQUIRED
765 ORIGIN CDATA #REQUIRED
768 <!ATTLIST RmCubemapVariable
769 NAME CDATA #REQUIRED
770 API CDATA #REQUIRED
771 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
772 VARIABLE_SEMANTIC CDATA #REQUIRED
773 FILE_NAME CDATA #REQUIRED
774 ORIGIN CDATA #REQUIRED
777 <!ATTLIST Rm3DTextureVariable
778 NAME CDATA #REQUIRED
779 API CDATA #REQUIRED
780 ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED
781 VARIABLE_SEMANTIC CDATA #REQUIRED
782 FILE_NAME CDATA #REQUIRED
783 ORIGIN CDATA #REQUIRED
786 <!ATTLIST RmLightVariable
787 NAME CDATA #REQUIRED
788 API CDATA #REQUIRED
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
821 NAME CDATA #REQUIRED
822 API CDATA #REQUIRED
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
845 NAME CDATA #REQUIRED
846 API CDATA #REQUIRED
847 XML_VERSION CDATA #REQUIRED
850 <!ATTLIST RmPlugInData
851 NAME CDATA #REQUIRED
852 API CDATA #REQUIRED
853 PLUGIN_GUID CDATA #REQUIRED
856 <!ATTLIST RmClipboardNode
857 NAME CDATA #REQUIRED
858 API CDATA #REQUIRED
859 XML_VERSION CDATA #REQUIRED
862 <!ATTLIST RmCamera
863 NAME CDATA #REQUIRED
864 API 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
874 FOV CDATA #REQUIRED
875 NEAR_CLIP_PLANE CDATA #REQUIRED
876 FAR_CLIP_PLANE CDATA #REQUIRED
879 <!ATTLIST RmCameraReference
880 NAME CDATA #REQUIRED
881 API CDATA #REQUIRED
882 USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED
885 <!ATTLIST RmShaderCode
886 TYPE ( TEXT ) #REQUIRED
889 <!ATTLIST RmTextDataBlock
890 TYPE ( TEXT ) #REQUIRED
894 <RENDER_MONKEY>
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"/>
914 </RmRegistryBranch>
915 </RmRegistryBranch>
916 </RmRegistryBranch>
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"/>
920 </RmRegistryBranch>
921 <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71">
922 <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
923 </RmRegistryBranch>
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"/>
927 </RmRegistryBranch>
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"/>
931 </RmRegistryBranch>
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"/>
935 </RmRegistryBranch>
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"/>
939 </RmRegistryBranch>
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"/>
950 </RmRegistryBranch>
951 </RmRegistryBranch>
952 </RmRegistryBranch>
953 <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71">
954 <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
955 </RmRegistryBranch>
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"/>
971 </RmRegistryBranch>
972 </RmRegistryBranch>
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"/>
983 </RmRegistryBranch>
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"/>
993 </RmRegistryBranch>
994 </RmRegistryBranch>
995 <RmRegistryBranch NAME="RmScalarEditor" API="" XML_VERSION="RenderMonkey 1.71">
996 <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
997 </RmRegistryBranch>
998 <RmRegistryBranch NAME="RmDynamicVariableEditor" API="" XML_VERSION="RenderMonkey 1.71">
999 <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/>
1000 </RmRegistryBranch>
1001 </RmRegistryBranch>
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>
1011 </RmRegistryBranch>
1012 </RmRegistryBranch>
1013 </RmRegistryBranch>
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"/>
1026 </RmStream>
1027 </RmStreamMap>
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;
1043 void main( void )
1045 // Projective fetch of spotlight
1046 vec4 spotLightColor = texture2DProj( spotLight, v_projTexCoord );
1048 // Basemap
1049 vec4 baseColor = texture2D( baseMap, v_texCoord );
1051 // Compute N.L
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;
1070 void main( void )
1072 gl_Position = u_matViewProjection * a_vertex;
1073 v_texCoord = a_texCoord0.xy;
1075 // Compute a light position based on time
1076 vec3 lightPos;
1077 lightPos.x = cos(u_time_0_X);
1078 lightPos.z = sin(u_time_0_X);
1079 lightPos.xz = 100.0 * normalize(lightPos.xz);
1080 lightPos.y = 100.0;
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,
1101 0.0, -0.5, 0.5,
1102 0.0, 0.0, 1.0 );
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"/>
1116 </RmTextureObject>
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"/>
1124 </RmTextureObject>
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"/>
1130 </RmGLESPass>
1131 </RmOpenGLESEffect>
1132 </RmEffectWorkspace>
1133 </RENDER_MONKEY>