source: GTP/trunk/App/Demos/Illum/IBRBillboardCloudTrees/RenderMonkey/IndirectTexturingShadowsEffect/IndirectTexturingShadowsEffect.rfx @ 952

Revision 952, 93.3 KB checked in by igarcia, 19 years ago (diff)
Line 
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
10   <!ELEMENT RmEffectWorkspace
11   (
12      RmRegistryBranch?,
13      RmPlugInData?,
14      RmStringVariable*,
15      (
16         ( RmDirectXEffect, RmOpenGLEffect? ) |
17         ( RmOpenGLEffect, RmDirectXEffect? )
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
39   <!ELEMENT RmEffectGroup
40   (
41      RmPlugInData?,
42      (
43         RmStringVariable |
44         RmDirectXEffect |
45         RmOpenGLEffect |
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
64   <!ELEMENT RmDirectXEffect
65   (
66      RmPlugInData?,
67      (
68         RmStringVariable |
69         RmCamera |
70         RmBooleanVariable |
71         RmIntegerVariable |
72         RmFloatVariable |
73         RmVectorVariable |
74         RmMatrixVariable |
75         RmDynamicVariable |
76         RmColorVariable |
77         Rm2DTextureVariable |
78         RmCubemapVariable |
79         Rm3DTextureVariable |
80         RmLightVariable |
81         RmMaterialVariable |
82         RmRenderableTexture |
83         RmStreamMap |
84         RmModelData |
85         RmPass
86      )*
87   )>
88
89   <!ELEMENT RmOpenGLEffect
90   (
91      RmPlugInData?,
92      (
93         RmStringVariable |
94         RmCamera |
95         RmBooleanVariable |
96         RmIntegerVariable |
97         RmFloatVariable |
98         RmVectorVariable |
99         RmMatrixVariable |
100         RmDynamicVariable |
101         RmColorVariable |
102         Rm2DTextureVariable |
103         RmCubemapVariable |
104         Rm3DTextureVariable |
105         RmLightVariable |
106         RmMaterialVariable |
107         RmRenderableTexture |
108         RmStreamMap |
109         RmModelData |
110         RmGLPass
111      )*
112   )>
113
114   <!ELEMENT RmPass
115   (
116      RmPlugInData?,
117      RmStringVariable*,
118      RmCameraReference?,
119      RmModelReference?,
120      RmRenderStateBlock?,
121      (
122         (
123         ( RmHLSLShader | RmShader ),
124         ( RmShader | RmHLSLShader )?
125         )
126      )?,
127      RmRenderTarget*,
128      RmStreamMapReference?,
129      (
130         RmBooleanVariable |
131         RmIntegerVariable |
132         RmFloatVariable |
133         RmVectorVariable |
134         RmMatrixVariable |
135         RmDynamicVariable |
136         RmColorVariable |
137         Rm2DTextureVariable |
138         RmCubemapVariable |
139         Rm3DTextureVariable |
140         RmLightVariable |
141         RmMaterialVariable |
142         RmTextureObject |
143         RmLightObject |
144         RmMaterialObject
145         )*
146      )>
147                                                                     
148   <!ELEMENT RmGLPass
149   (
150      RmPlugInData?,
151      RmStringVariable*,
152      RmCameraReference?,
153      RmModelReference?,
154      RmRenderStateBlock?,
155      (
156         ( RmGLShader, RmGLShader? )
157      )?,
158      RmRenderTarget?,
159      RmStreamMapReference?,
160      (
161         RmBooleanVariable |
162         RmIntegerVariable |
163         RmFloatVariable |
164         RmVectorVariable |
165         RmMatrixVariable |
166         RmDynamicVariable |
167         RmColorVariable |
168         Rm2DTextureVariable |
169         RmCubemapVariable |
170         Rm3DTextureVariable |
171         RmLightVariable |
172         RmMaterialVariable |
173         RmTextureObject |
174         RmLightObject |
175         RmMaterialObject |
176         RmShaderConstant |
177         RmSampler
178         )*
179      )>
180     
181   <!ELEMENT RmShader
182   (
183      RmShaderCode,
184      RmPlugInData?,
185      (
186      RmStringVariable |
187      RmShaderConstant
188      )*
189   )>
190
191   <!ELEMENT RmHLSLShader
192   (
193      RmShaderCode,
194      RmPlugInData?,
195      (
196      RmStringVariable |
197      RmShaderConstant |
198      RmSampler
199      )*
200   )>
201
202   <!ELEMENT RmGLShader
203   (
204      RmShaderCode,
205      RmPlugInData?,
206      (
207      RmStringVariable
208      )*
209   )>
210
211   <!ELEMENT RmTextureObject
212   (
213      RmPlugInData?,
214      RmStringVariable*,
215      RmTextureReference?,
216      RmState*
217   )>
218
219   <!ELEMENT RmLightObject
220   (
221      RmPlugInData?,
222      RmStringVariable*,
223      RmLightReference?
224   )>
225   
226   <!ELEMENT RmMaterialObject
227   (
228      RmPlugInData?,
229      RmStringVariable*,
230      RmMaterialReference?
231   )>
232   
233   <!ELEMENT RmRenderStateBlock
234   (
235      RmPlugInData?,
236      (
237         RmStringVariable |
238         RmState
239      )*
240   )>
241
242   <!ELEMENT RmStreamMap
243   (
244      RmPlugInData?,
245      (
246         RmStringVariable |
247         RmStream
248      )*
249   )>
250
251   <!ELEMENT RmStream               ( RmPlugInData?, RmStreamChannel* )>
252
253   <!ELEMENT RmModelData            ( RmPlugInData?, RmStringVariable* )> 
254   <!ELEMENT RmTextureReference     ( RmPlugInData?, RmStringVariable* )>
255   <!ELEMENT RmLightReference       ( RmPlugInData?, RmStringVariable* )>
256   <!ELEMENT RmMaterialReference    ( RmPlugInData?, RmStringVariable* )>
257   <!ELEMENT RmCameraReference      ( RmPlugInData?, RmStringVariable* )>
258   <!ELEMENT RmModelReference       ( RmPlugInData?, RmStringVariable* )>
259   <!ELEMENT RmStreamMapReference   ( RmPlugInData?, RmStringVariable* )>   
260   <!ELEMENT RmRenderableTexture    ( RmPlugInData?, RmStringVariable* )>   
261   <!ELEMENT RmRenderTarget         ( RmPlugInData?, RmStringVariable* )>   
262   <!ELEMENT RmBooleanVariable      ( RmPlugInData?, RmStringVariable? )>
263   <!ELEMENT RmFloatVariable        ( RmPlugInData?, RmStringVariable? )>
264   <!ELEMENT RmVectorVariable       ( RmPlugInData?, RmStringVariable? )>
265   <!ELEMENT RmMatrixVariable       ( RmPlugInData?, RmStringVariable? )>   
266   <!ELEMENT RmColorVariable        ( RmPlugInData?, RmStringVariable? )>
267   <!ELEMENT RmIntegerVariable      ( RmPlugInData?, RmStringVariable? )>
268   <!ELEMENT Rm2DTextureVariable    ( RmPlugInData?, RmStringVariable? )>
269   <!ELEMENT RmCubemapVariable      ( RmPlugInData?, RmStringVariable? )>
270   <!ELEMENT Rm3DTextureVariable    ( RmPlugInData?, RmStringVariable? )>
271   <!ELEMENT RmLightVariable        ( RmPlugInData?, RmStringVariable? )>
272   <!ELEMENT RmMaterialVariable     ( RmPlugInData?, RmStringVariable? )>
273   <!ELEMENT RmCamera               ( RmPlugInData?, RmStringVariable* )>
274
275   <!ELEMENT RmStringVariable       ( RmTextDataBlock, RmPlugInData? )>
276   
277   <!ELEMENT RmDynamicVariable
278   (
279      RmPlugInData?,
280      RmStringVariable?,
281      RmDynamicVariableValueContainer
282   )>
283   
284   <!ELEMENT RmDynamicVariableValueContainer
285   (
286      RmPlugInData?,
287      RmDynamicVariableValue*
288   )>
289   
290   <!ELEMENT RmTextDataBlock        ( #PCDATA ) >
291   
292   <!ELEMENT RmRegistryBranch
293   (
294      RmTextDataBlock?,
295      (
296         RmRegistryBranch |
297         RmStringVariable |
298         RmIntegerVariable |
299         RmBooleanVariable |
300         RmFloatVariable
301      )*     
302   )>
303
304   <!ELEMENT RmPlugInData
305   (
306      RmTextDataBlock?,
307      (
308         RmStringVariable |
309         RmIntegerVariable |
310         RmBooleanVariable |
311         RmFloatVariable |
312         RmVectorVariable
313      )*     
314   )>
315   
316   <!ELEMENT RmClipboardNode
317   (
318      RmTextDataBlock?,
319      (
320         RmEffectWorkspace |
321         RmEffectGroup |   
322         RmDirectXEffect |               
323         RmOpenGLEffect |               
324         RmPass |                 
325         RmGLPass |                 
326         RmShader |       
327         RmHLSLShader |       
328         RmGLShader |       
329         RmShaderConstant |
330         RmSampler |               
331         RmTextureObject |
332         RmLightObject |
333         RmMaterialObject |
334         RmRenderStateBlock |
335         RmState |                 
336         RmStreamMap |           
337         RmStream |             
338         RmStreamChannel |
339         RmModelData |
340         RmTextureReference |
341         RmLightReference |
342         RmMaterialReference |
343         RmModelReference |
344         RmStreamMapReference |
345         RmRenderableTexture |
346         RmRenderTarget |
347         RmBooleanVariable |
348         RmFloatVariable |
349         RmVectorVariable |
350         RmMatrixVariable |
351         RmDynamicVariable |
352         RmDynamicVariableValue |
353         RmColorVariable |
354         RmIntegerVariable |
355         RmStringVariable |
356         Rm2DTextureVariable |
357         RmCubemapVariable |
358         Rm3DTextureVariable |
359         RmLightVariable |
360         RmMaterialVariable |
361         RmRegistryBranch |
362         RmPlugInData |
363         RmCamera |               
364         RmCameraReference
365      )*     
366   )>
367   
368   <!ELEMENT RmStreamChannel        ( RmPlugInData? ) >
369   <!ELEMENT RmShaderConstant       ( RmPlugInData? ) >
370   <!ELEMENT RmSampler              ( RmPlugInData? ) >
371   <!ELEMENT RmState                ( RmPlugInData? ) >
372   <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) >
373   
374   <!ELEMENT RmShaderCode           ( #PCDATA ) >
375
376   <!ATTLIST RmEffectWorkspace
377      NAME                          CDATA #REQUIRED
378      API                           CDATA #REQUIRED
379      ACTIVE_EFFECT                 CDATA #REQUIRED
380      VALIDATION_STRING             CDATA #REQUIRED
381      XML_VERSION                   CDATA #REQUIRED
382   >                                 
383
384   <!ATTLIST RmEffectGroup           
385      NAME                          CDATA #REQUIRED
386      API                           CDATA #REQUIRED
387   >                                 
388
389   <!ATTLIST RmDirectXEffect               
390      NAME                          CDATA #REQUIRED
391      API                           CDATA #REQUIRED
392      ACTIVE_CAMERA                 CDATA #REQUIRED
393   >                                 
394
395   <!ATTLIST RmOpenGLEffect               
396      NAME                          CDATA #REQUIRED
397      API                           CDATA #REQUIRED
398      ACTIVE_CAMERA                 CDATA #REQUIRED
399   >                                 
400
401   <!ATTLIST RmPass                 
402      NAME                          CDATA #REQUIRED
403      API                           CDATA #REQUIRED
404      PASS_INDEX                    CDATA #REQUIRED
405      ENABLED                       ( TRUE | FALSE ) #REQUIRED
406   >                                 
407
408   <!ATTLIST RmGLPass                 
409      NAME                          CDATA #REQUIRED
410      API                           CDATA #REQUIRED
411      PASS_INDEX                    CDATA #REQUIRED
412      ENABLED                       ( TRUE | FALSE ) #REQUIRED
413   >                                 
414   
415   <!ATTLIST RmShader       
416      NAME                          CDATA #REQUIRED
417      API                           CDATA #REQUIRED
418      PIXEL_SHADER                  CDATA #REQUIRED
419   >                                 
420
421   <!ATTLIST RmHLSLShader       
422      NAME                          CDATA #REQUIRED
423      API                           CDATA #REQUIRED
424      PIXEL_SHADER                  ( TRUE | FALSE ) #REQUIRED
425      TARGET                        CDATA #REQUIRED
426      ENTRY_POINT                   CDATA #REQUIRED
427   > 
428
429   <!ATTLIST RmGLShader       
430      NAME                          CDATA #REQUIRED
431      API                           CDATA #REQUIRED
432      PIXEL_SHADER                  ( TRUE | FALSE ) #REQUIRED
433   > 
434
435   <!ATTLIST RmShaderConstant
436      NAME                          CDATA #REQUIRED
437      API                           CDATA #REQUIRED
438      REGISTER                      CDATA #REQUIRED
439   >                                 
440
441   <!ATTLIST RmSampler               
442      NAME                          CDATA #REQUIRED
443      API                           CDATA #REQUIRED
444      REGISTER                      CDATA #REQUIRED
445   >
446
447   <!ATTLIST RmTextureObject
448      NAME                          CDATA #REQUIRED
449      API                           CDATA #REQUIRED
450      STATE_INDEX                   CDATA #REQUIRED
451      VERTEX_TEXTURE                ( TRUE | FALSE ) #REQUIRED
452   >
453
454   <!ATTLIST RmLightObject
455      NAME                          CDATA #REQUIRED
456      API                           CDATA #REQUIRED
457      INDEX                         CDATA #REQUIRED
458   >
459   
460   <!ATTLIST RmMaterialObject
461      NAME                          CDATA #REQUIRED
462      API                           CDATA #REQUIRED
463      INDEX                         CDATA #REQUIRED
464   >
465   
466   <!ATTLIST RmRenderStateBlock
467      NAME                          CDATA #REQUIRED
468      API                           CDATA #REQUIRED
469   >                                 
470
471   <!ATTLIST RmState                 
472      NAME                          CDATA #REQUIRED
473      API                           CDATA #REQUIRED
474      STATE                         CDATA #REQUIRED
475      VALUE                         CDATA #REQUIRED
476      USAGE                         CDATA #REQUIRED
477   >                               
478
479   <!ATTLIST RmStreamMap           
480     NAME                           CDATA #REQUIRED
481     API                            CDATA #REQUIRED
482   >                               
483
484   <!ATTLIST RmStream             
485      NAME                          CDATA #REQUIRED
486      API                           CDATA #REQUIRED
487      STRIDE                        CDATA #REQUIRED
488   >
489
490   <!ATTLIST RmStreamChannel
491      NAME                          CDATA #REQUIRED
492      API                           CDATA #REQUIRED
493      DATA_SIZE                     CDATA #REQUIRED
494      DATA_TYPE                     CDATA #REQUIRED
495      REGISTER                      CDATA #REQUIRED
496      USAGE                         CDATA #REQUIRED
497      USAGE_INDEX                   CDATA #REQUIRED
498   >
499
500   <!ATTLIST RmModelData
501      NAME                          CDATA #REQUIRED
502      API                           CDATA #REQUIRED
503      FILE_NAME                     CDATA #REQUIRED
504      ORIENTATION                   CDATA #REQUIRED
505   >
506
507   <!ATTLIST RmTextureReference
508      NAME                          CDATA #REQUIRED
509      API                           CDATA #REQUIRED
510   >
511
512   <!ATTLIST RmLightReference
513      NAME                          CDATA #REQUIRED
514      API                           CDATA #REQUIRED
515   >
516   
517   <!ATTLIST RmMaterialReference
518      NAME                          CDATA #REQUIRED
519      API                           CDATA #REQUIRED
520   >
521   
522   <!ATTLIST RmModelReference
523      NAME                          CDATA #REQUIRED
524      API                           CDATA #REQUIRED
525   >
526
527   <!ATTLIST RmStreamMapReference
528      NAME                          CDATA #REQUIRED
529      API                           CDATA #REQUIRED
530   >
531
532   <!ATTLIST RmRenderableTexture
533      NAME                          CDATA #REQUIRED
534      API                           CDATA #REQUIRED
535      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
536      VARIABLE_SEMANTIC             CDATA #REQUIRED
537      FILE_NAME                     CDATA #REQUIRED
538      ORIGIN                        CDATA #REQUIRED
539      WIDTH                         CDATA #REQUIRED
540      HEIGHT                        CDATA #REQUIRED
541      FORMAT                        CDATA #REQUIRED
542      USE_VIEWPORT_DIMENSIONS       ( TRUE | FALSE ) #REQUIRED
543      GENERATE_MIPMAPS              ( TRUE | FALSE ) #REQUIRED
544      WIDTH_RATIO                   CDATA #REQUIRED
545      HEIGHT_RATIO                  CDATA #REQUIRED
546   >
547
548   <!ATTLIST RmRenderTarget
549      NAME                          CDATA #REQUIRED
550      API                           CDATA #REQUIRED
551      INDEX                         CDATA #REQUIRED
552      RENDER_TO_SCREEN              ( TRUE | FALSE ) #REQUIRED
553      COLOR_CLEAR                   ( TRUE | FALSE ) #REQUIRED
554      DEPTH_CLEAR                   ( TRUE | FALSE ) #REQUIRED
555      CLEAR_COLOR_VALUE             CDATA #REQUIRED
556      DEPTH_CLEAR_VALUE             CDATA #REQUIRED
557   >
558   
559   <!ATTLIST RmBooleanVariable
560      NAME                          CDATA #REQUIRED
561      API                           CDATA #REQUIRED
562      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
563      VARIABLE_SEMANTIC             CDATA #REQUIRED
564      VALUE                         CDATA #REQUIRED
565   >
566
567   <!ATTLIST RmFloatVariable
568      NAME                          CDATA #REQUIRED
569      API                           CDATA #REQUIRED
570      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
571      VARIABLE_SEMANTIC             CDATA #REQUIRED
572      VALUE                         CDATA #REQUIRED
573      MIN                           CDATA #REQUIRED
574      MAX                           CDATA #REQUIRED
575      CLAMP                         ( TRUE | FALSE ) #REQUIRED
576   >
577
578   <!ATTLIST RmVectorVariable
579      NAME                          CDATA #REQUIRED
580      API                           CDATA #REQUIRED
581      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
582      VARIABLE_SEMANTIC             CDATA #REQUIRED
583      VALUE_0                       CDATA #REQUIRED
584      VALUE_1                       CDATA #REQUIRED
585      VALUE_2                       CDATA #REQUIRED
586      VALUE_3                       CDATA #REQUIRED
587      MIN                           CDATA #REQUIRED
588      MAX                           CDATA #REQUIRED
589      CLAMP                         ( TRUE | FALSE ) #REQUIRED
590      NORMALIZE                     ( TRUE | FALSE ) #REQUIRED
591   >
592
593   <!ATTLIST RmMatrixVariable
594      NAME                          CDATA #REQUIRED
595      API                           CDATA #REQUIRED
596      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
597      VARIABLE_SEMANTIC             CDATA #REQUIRED
598      VALUE_0                       CDATA #REQUIRED
599      VALUE_1                       CDATA #REQUIRED
600      VALUE_2                       CDATA #REQUIRED
601      VALUE_3                       CDATA #REQUIRED
602      VALUE_4                       CDATA #REQUIRED
603      VALUE_5                       CDATA #REQUIRED
604      VALUE_6                       CDATA #REQUIRED
605      VALUE_7                       CDATA #REQUIRED
606      VALUE_8                       CDATA #REQUIRED
607      VALUE_9                       CDATA #REQUIRED
608      VALUE_10                      CDATA #REQUIRED
609      VALUE_11                      CDATA #REQUIRED
610      VALUE_12                      CDATA #REQUIRED
611      VALUE_13                      CDATA #REQUIRED
612      VALUE_14                      CDATA #REQUIRED
613      VALUE_15                      CDATA #REQUIRED
614   >
615
616   <!ATTLIST RmDynamicVariable
617      NAME                          CDATA #REQUIRED
618      API                           CDATA #REQUIRED
619      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
620      VARIABLE_SEMANTIC             CDATA #REQUIRED
621      VARIABLE_TYPE                 ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED
622      ROWS                          CDATA #REQUIRED
623      COLUMNS                       CDATA #REQUIRED
624      FIXED_SIZE                    ( TRUE | FALSE ) #REQUIRED
625      MIN                           CDATA #REQUIRED
626      MAX                           CDATA #REQUIRED
627      CLAMP                         ( TRUE | FALSE ) #REQUIRED
628      NORMALIZE                     ( TRUE | FALSE ) #REQUIRED
629   >
630   
631   <!ATTLIST RmDynamicVariableValue
632      ROW_INDEX                     CDATA #REQUIRED
633      COLUMN_INDEX                  CDATA #REQUIRED
634      VALUE                         CDATA #REQUIRED
635   >
636   
637   <!ATTLIST RmColorVariable
638      NAME                          CDATA #REQUIRED
639      API                           CDATA #REQUIRED
640      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
641      VARIABLE_SEMANTIC             CDATA #REQUIRED
642      VALUE_0                       CDATA #REQUIRED
643      VALUE_1                       CDATA #REQUIRED
644      VALUE_2                       CDATA #REQUIRED
645      VALUE_3                       CDATA #REQUIRED
646   >
647
648   <!ATTLIST RmIntegerVariable
649      NAME                          CDATA #REQUIRED
650      API                           CDATA #REQUIRED
651      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
652      VARIABLE_SEMANTIC             CDATA #REQUIRED
653      VALUE                         CDATA #REQUIRED
654      MIN                           CDATA #REQUIRED
655      MAX                           CDATA #REQUIRED
656      CLAMP                         ( TRUE | FALSE ) #REQUIRED
657   >
658   
659   <!ATTLIST RmStringVariable
660      NAME                          CDATA #REQUIRED
661      API                           CDATA #REQUIRED
662      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
663      VARIABLE_SEMANTIC             CDATA #REQUIRED
664   >
665
666   <!ATTLIST Rm2DTextureVariable
667      NAME                          CDATA #REQUIRED
668      API                           CDATA #REQUIRED
669      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
670      VARIABLE_SEMANTIC             CDATA #REQUIRED
671      FILE_NAME                     CDATA #REQUIRED
672      ORIGIN                        CDATA #REQUIRED
673   >
674
675   <!ATTLIST RmCubemapVariable
676      NAME                          CDATA #REQUIRED
677      API                           CDATA #REQUIRED
678      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
679      VARIABLE_SEMANTIC             CDATA #REQUIRED
680      FILE_NAME                     CDATA #REQUIRED
681      ORIGIN                        CDATA #REQUIRED
682   >
683
684   <!ATTLIST Rm3DTextureVariable
685      NAME                          CDATA #REQUIRED
686      API                           CDATA #REQUIRED
687      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
688      VARIABLE_SEMANTIC             CDATA #REQUIRED
689      FILE_NAME                     CDATA #REQUIRED
690      ORIGIN                        CDATA #REQUIRED
691   >
692
693   <!ATTLIST RmLightVariable
694      NAME                          CDATA #REQUIRED
695      API                           CDATA #REQUIRED
696      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
697      VARIABLE_SEMANTIC             CDATA #REQUIRED
698      LIGHT_ENABLED                 ( TRUE | FALSE ) #REQUIRED
699      LIGHT_TYPE                    ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED
700      AMBIENT_0                     CDATA #REQUIRED
701      AMBIENT_1                     CDATA #REQUIRED
702      AMBIENT_2                     CDATA #REQUIRED
703      AMBIENT_3                     CDATA #REQUIRED
704      DIFFUSE_0                     CDATA #REQUIRED
705      DIFFUSE_1                     CDATA #REQUIRED
706      DIFFUSE_2                     CDATA #REQUIRED
707      DIFFUSE_3                     CDATA #REQUIRED
708      SPECULAR_0                    CDATA #REQUIRED
709      SPECULAR_1                    CDATA #REQUIRED
710      SPECULAR_2                    CDATA #REQUIRED
711      SPECULAR_3                    CDATA #REQUIRED
712      POSITION_0                    CDATA #REQUIRED
713      POSITION_1                    CDATA #REQUIRED
714      POSITION_2                    CDATA #REQUIRED
715      DIRECTION_0                   CDATA #REQUIRED
716      DIRECTION_1                   CDATA #REQUIRED
717      DIRECTION_2                   CDATA #REQUIRED
718      ATTENUATION_0                 CDATA #REQUIRED
719      ATTENUATION_1                 CDATA #REQUIRED
720      ATTENUATION_2                 CDATA #REQUIRED
721      SPOTLIGHT_THETA               CDATA #REQUIRED
722      SPOTLIGHT_PHI                 CDATA #REQUIRED
723      RANGE                         CDATA #REQUIRED
724      FALLOFF                       CDATA #REQUIRED
725   >
726   
727   <!ATTLIST RmMaterialVariable
728      NAME                          CDATA #REQUIRED
729      API                           CDATA #REQUIRED
730      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
731      VARIABLE_SEMANTIC             CDATA #REQUIRED
732      AMBIENT_0                     CDATA #REQUIRED
733      AMBIENT_1                     CDATA #REQUIRED
734      AMBIENT_2                     CDATA #REQUIRED
735      AMBIENT_3                     CDATA #REQUIRED
736      DIFFUSE_0                     CDATA #REQUIRED
737      DIFFUSE_1                     CDATA #REQUIRED
738      DIFFUSE_2                     CDATA #REQUIRED
739      DIFFUSE_3                     CDATA #REQUIRED
740      SPECULAR_0                    CDATA #REQUIRED
741      SPECULAR_1                    CDATA #REQUIRED
742      SPECULAR_2                    CDATA #REQUIRED
743      SPECULAR_3                    CDATA #REQUIRED
744      EMISSIVE_0                    CDATA #REQUIRED
745      EMISSIVE_1                    CDATA #REQUIRED
746      EMISSIVE_2                    CDATA #REQUIRED
747      EMISSIVE_3                    CDATA #REQUIRED
748      SPECULAR_POWER                CDATA #REQUIRED
749   >
750     
751   <!ATTLIST RmRegistryBranch
752      NAME                          CDATA #REQUIRED
753      API                           CDATA #REQUIRED
754      XML_VERSION                   CDATA #REQUIRED
755   >
756   
757   <!ATTLIST RmPlugInData
758      NAME                          CDATA #REQUIRED
759      API                           CDATA #REQUIRED
760      PLUGIN_GUID                   CDATA #REQUIRED
761   >
762
763   <!ATTLIST RmClipboardNode
764      NAME                          CDATA #REQUIRED
765      API                           CDATA #REQUIRED
766      XML_VERSION                   CDATA #REQUIRED
767   >
768   
769   <!ATTLIST RmCamera               
770      NAME                          CDATA #REQUIRED
771      API                           CDATA #REQUIRED
772      CAMERA_POSITION_X             CDATA #REQUIRED
773      CAMERA_POSITION_Y             CDATA #REQUIRED
774      CAMERA_POSITION_Z             CDATA #REQUIRED
775      LOOK_AT_VECTOR_X              CDATA #REQUIRED
776      LOOK_AT_VECTOR_Y              CDATA #REQUIRED
777      LOOK_AT_VECTOR_Z              CDATA #REQUIRED
778      UP_VECTOR_X                   CDATA #REQUIRED
779      UP_VECTOR_Y                   CDATA #REQUIRED
780      UP_VECTOR_Z                   CDATA #REQUIRED
781      FOV                           CDATA #REQUIRED
782      NEAR_CLIP_PLANE               CDATA #REQUIRED
783      FAR_CLIP_PLANE                CDATA #REQUIRED
784   >                                 
785
786   <!ATTLIST RmCameraReference               
787      NAME                          CDATA #REQUIRED
788      API                           CDATA #REQUIRED
789      USE_ACTIVE_CAMERA             ( TRUE | FALSE ) #REQUIRED
790   >                               
791   
792   <!ATTLIST RmShaderCode               
793      TYPE                          ( TEXT ) #REQUIRED
794   >                               
795   
796   <!ATTLIST RmTextDataBlock               
797      TYPE                          ( TEXT ) #REQUIRED
798   >                               
799   
800]>
801<RENDER_MONKEY>
802 <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.6">
803  <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.6">
804   <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.6">
805    <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.6">
806     <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
80712/5/2006 9:53:25]]></RmTextDataBlock></RmStringVariable>
808     <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
809RenderMonkey Version 1.6 (build 91)]]></RmTextDataBlock></RmStringVariable>
810     <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
811RenderMonkey 1.6]]></RmTextDataBlock></RmStringVariable>
812     <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
813L:\isma\svn2\GTP\trunk\App\Demos\Illum\IBRBillboardCloudTrees\RenderMonkey\IndirectTexturingShadowsEffect\]]></RmTextDataBlock></RmStringVariable>
814    </RmRegistryBranch>
815    <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.6"><RmTextDataBlock TYPE="TEXT"><![CDATA[
816<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Title>sqrtNumSamples</Title><ID>1100</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>11</DockingHolder><FloatingHolder>23</FloatingHolder><LastHolder>23</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>3</Pane-1><Pane-2>4</Pane-2><Pane-3>5</Pane-3><Pane-4>6</Pane-4><Pane-5>7</Pane-5><Pane-6>8</Pane-6><Pane-7>9</Pane-7><Pane-8>10</Pane-8><Pane-9>11</Pane-9><Pane-10>12</Pane-10><Panes>10</Panes></Pane-2><Pane-3><Type>1</Type><DockingCX>427</DockingCX><DockingCY>100</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>374</DockingCX><DockingCY>182</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-6><Pane-7><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-8><Pane-9><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-9><Pane-10><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-10><Pane-11><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-11><Pane-12><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>13</Pane-1><Pane-2>19</Pane-2><Panes>2</Panes></Pane-12><Pane-13><Type>2</Type><DockingCX>0</DockingCX><DockingCY>720</DockingCY><Horiz>1</Horiz><Pane-1>14</Pane-1><Pane-2>16</Pane-2><Pane-3>17</Pane-3><Panes>3</Panes></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>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>14</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>14</LastHolder></Pane-15><Pane-16><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-16><Pane-17><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>18</Selected><Panes>1</Panes><Pane-1>18</Pane-1></Pane-17><Pane-18><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>17</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>17</LastHolder></Pane-18><Pane-19><Type>1</Type><DockingCX>250</DockingCX><DockingCY>344</DockingCY><Selected>20</Selected><Panes>1</Panes><Pane-1>20</Pane-1></Pane-19><Pane-20><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>19</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>19</LastHolder></Pane-20><Pane-21><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>22</TopContaner><WindowRectTopPos>26</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-21><Pane-22><Type>2</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Horiz>1</Horiz><Pane-1>23</Pane-1><Panes>1</Panes></Pane-22><Pane-23><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-23><Pane-24><Type>0</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Title>sourceTextureSize</Title><ID>1101</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>10</DockingHolder><FloatingHolder>27</FloatingHolder><LastHolder>27</LastHolder></Pane-24><Pane-25><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>26</TopContaner><WindowRectTopPos>26</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-25><Pane-26><Type>2</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Horiz>1</Horiz><Pane-1>27</Pane-1><Panes>1</Panes></Pane-26><Pane-27><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-27><Pane-28><Type>0</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Title>distanceScale</Title><ID>1102</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>9</DockingHolder><FloatingHolder>31</FloatingHolder><LastHolder>31</LastHolder></Pane-28><Pane-29><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>30</TopContaner><WindowRectTopPos>26</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-29><Pane-30><Type>2</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Horiz>1</Horiz><Pane-1>31</Pane-1><Panes>1</Panes></Pane-30><Pane-31><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-31><Pane-32><Type>0</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Title>Ka</Title><ID>1103</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>35</FloatingHolder><LastHolder>35</LastHolder></Pane-32><Pane-33><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>34</TopContaner><WindowRectTopPos>26</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-33><Pane-34><Type>2</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Horiz>1</Horiz><Pane-1>35</Pane-1><Panes>1</Panes></Pane-34><Pane-35><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-35><Pane-36><Type>0</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Title>Kd</Title><ID>1104</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>39</FloatingHolder><LastHolder>39</LastHolder></Pane-36><Pane-37><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>38</TopContaner><WindowRectTopPos>26</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-37><Pane-38><Type>2</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Horiz>1</Horiz><Pane-1>39</Pane-1><Panes>1</Panes></Pane-38><Pane-39><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-39><Pane-40><Type>0</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Title>epsilonX</Title><ID>1105</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>43</FloatingHolder><LastHolder>43</LastHolder></Pane-40><Pane-41><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>42</TopContaner><WindowRectTopPos>26</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-41><Pane-42><Type>2</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Horiz>1</Horiz><Pane-1>43</Pane-1><Panes>1</Panes></Pane-42><Pane-43><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-43><Pane-44><Type>0</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Title>epsilonY</Title><ID>1106</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>47</FloatingHolder><LastHolder>47</LastHolder></Pane-44><Pane-45><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>46</TopContaner><WindowRectTopPos>26</WindowRectTopPos><WindowRectBottomPos>132</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-45><Pane-46><Type>2</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Horiz>1</Horiz><Pane-1>47</Pane-1><Panes>1</Panes></Pane-46><Pane-47><Type>1</Type><DockingCX>427</DockingCX><DockingCY>106</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-47><Pane-48><Type>0</Type><DockingCX>374</DockingCX><DockingCY>182</DockingCY><Title>lightPos</Title><ID>1107</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>51</FloatingHolder><LastHolder>51</LastHolder></Pane-48><Pane-49><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>50</TopContaner><WindowRectTopPos>20</WindowRectTopPos><WindowRectBottomPos>202</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>374</WindowRectRightPos></Pane-49><Pane-50><Type>2</Type><DockingCX>374</DockingCX><DockingCY>182</DockingCY><Horiz>1</Horiz><Pane-1>51</Pane-1><Panes>1</Panes></Pane-50><Pane-51><Type>1</Type><DockingCX>374</DockingCX><DockingCY>182</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-51><Pane-52><Type>0</Type><DockingCX>427</DockingCX><DockingCY>100</DockingCY><Title>lightPosY</Title><ID>1108</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>3</DockingHolder><FloatingHolder>55</FloatingHolder><LastHolder>55</LastHolder></Pane-52><Pane-53><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>54</TopContaner><WindowRectTopPos>20</WindowRectTopPos><WindowRectBottomPos>120</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>427</WindowRectRightPos></Pane-53><Pane-54><Type>2</Type><DockingCX>427</DockingCX><DockingCY>100</DockingCY><Horiz>1</Horiz><Pane-1>55</Pane-1><Panes>1</Panes></Pane-54><Pane-55><Type>1</Type><DockingCX>427</DockingCX><DockingCY>100</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-55><Summary><TopContainer>2</TopContainer><Client>16</Client><Panes>55</Panes></Summary></Application_Layout></DockingPaneLayouts>
817]]></RmTextDataBlock>
818     <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.6">
819      <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.6"/>
820      <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.6"/>
821     </RmRegistryBranch>
822     <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.6">
823      <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.6">
824       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect" API="" XML_VERSION="RenderMonkey 1.6">
825        <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
826        <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
827        <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="423" MIN="-10" MAX="10" CLAMP="FALSE"/>
828        <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/>
829        <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="3" MIN="-10" MAX="10" CLAMP="FALSE"/>
830        <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
831        <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
832        <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
833       </RmRegistryBranch>
834      </RmRegistryBranch>
835     </RmRegistryBranch>
836     <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.6">
837      <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect" API="" XML_VERSION="RenderMonkey 1.6">
838       <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.6"/>
839       <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
840Pixel Shader]]></RmTextDataBlock></RmStringVariable>
841       <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
842LeavesIndirectTexturingPass]]></RmTextDataBlock></RmStringVariable>
843       <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="58" MIN="-10" MAX="10" CLAMP="FALSE"/>
844       <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="696" MIN="-10" MAX="10" CLAMP="FALSE"/>
845       <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="255" MIN="-10" MAX="10" CLAMP="FALSE"/>
846       <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
847       <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
848       <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
849       <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
850       <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="44" MIN="-10" MAX="10" CLAMP="FALSE"/>
851      </RmRegistryBranch>
852     </RmRegistryBranch>
853     <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.6"/>
854     <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.6">
855      <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.6"/>
856     </RmRegistryBranch>
857     <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.6">
858      <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.6"/>
859     </RmRegistryBranch>
860     <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.6">
861      <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.6">
862       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.LeavesIndirectTexturingPass.Render State" API="" XML_VERSION="RenderMonkey 1.6"/>
863      </RmRegistryBranch>
864      <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.6">
865       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect" API="" XML_VERSION="RenderMonkey 1.6">
866        <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
867        <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
868        <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="696" MIN="-10" MAX="10" CLAMP="FALSE"/>
869        <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="255" MIN="-10" MAX="10" CLAMP="FALSE"/>
870        <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
871        <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
872        <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
873        <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
874       </RmRegistryBranch>
875      </RmRegistryBranch>
876     </RmRegistryBranch>
877     <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.6">
878      <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.6">
879       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.LeavesIndirectTexturingPass.sourceTexture" API="" XML_VERSION="RenderMonkey 1.6"/>
880      </RmRegistryBranch>
881      <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.6">
882       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect" API="" XML_VERSION="RenderMonkey 1.6">
883        <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="66" MIN="-10" MAX="10" CLAMP="FALSE"/>
884        <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="87" MIN="-10" MAX="10" CLAMP="FALSE"/>
885        <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="696" MIN="-10" MAX="10" CLAMP="FALSE"/>
886        <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="255" MIN="-10" MAX="10" CLAMP="FALSE"/>
887        <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
888        <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
889        <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
890        <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
891       </RmRegistryBranch>
892      </RmRegistryBranch>
893     </RmRegistryBranch>
894     <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.6">
895      <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.6"/>
896      <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.6">
897       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.ShadowMap" API="" XML_VERSION="RenderMonkey 1.6">
898        <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/>
899        <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="116" MIN="-10" MAX="10" CLAMP="FALSE"/>
900        <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="210" MIN="-10" MAX="10" CLAMP="FALSE"/>
901        <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="354" MIN="-10" MAX="10" CLAMP="FALSE"/>
902        <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
903        <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
904        <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
905        <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
906       </RmRegistryBranch>
907      </RmRegistryBranch>
908     </RmRegistryBranch>
909     <RmRegistryBranch NAME="RmScalarEditor" API="" XML_VERSION="RenderMonkey 1.6">
910      <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.6">
911       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.sqrtNumSamples" API="" XML_VERSION="RenderMonkey 1.6">
912        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1100" MIN="-10" MAX="10" CLAMP="FALSE"/>
913       </RmRegistryBranch>
914       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.sourceTextureSize" API="" XML_VERSION="RenderMonkey 1.6">
915        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1101" MIN="-10" MAX="10" CLAMP="FALSE"/>
916       </RmRegistryBranch>
917       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.distanceScale" API="" XML_VERSION="RenderMonkey 1.6">
918        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1102" MIN="-10" MAX="10" CLAMP="FALSE"/>
919       </RmRegistryBranch>
920       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.Ka" API="" XML_VERSION="RenderMonkey 1.6">
921        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1103" MIN="-10" MAX="10" CLAMP="FALSE"/>
922       </RmRegistryBranch>
923       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.Kd" API="" XML_VERSION="RenderMonkey 1.6">
924        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1104" MIN="-10" MAX="10" CLAMP="FALSE"/>
925       </RmRegistryBranch>
926       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.epsilonX" API="" XML_VERSION="RenderMonkey 1.6">
927        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1105" MIN="-10" MAX="10" CLAMP="FALSE"/>
928       </RmRegistryBranch>
929       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.epsilonY" API="" XML_VERSION="RenderMonkey 1.6">
930        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1106" MIN="-10" MAX="10" CLAMP="FALSE"/>
931       </RmRegistryBranch>
932       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.lightPosY" API="" XML_VERSION="RenderMonkey 1.6">
933        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1108" MIN="-10" MAX="10" CLAMP="FALSE"/>
934       </RmRegistryBranch>
935      </RmRegistryBranch>
936     </RmRegistryBranch>
937     <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.6">
938      <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.Stream Mapping IndirectTexturing" API="" XML_VERSION="RenderMonkey 1.6">
939       <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/>
940       <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="116" MIN="-10" MAX="10" CLAMP="FALSE"/>
941       <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="554" MIN="-10" MAX="10" CLAMP="FALSE"/>
942       <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="254" MIN="-10" MAX="10" CLAMP="FALSE"/>
943       <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
944       <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
945       <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
946       <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
947      </RmRegistryBranch>
948      <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.PN Stream Mapping" API="" XML_VERSION="RenderMonkey 1.6">
949       <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/>
950       <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="116" MIN="-10" MAX="10" CLAMP="FALSE"/>
951       <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="554" MIN="-10" MAX="10" CLAMP="FALSE"/>
952       <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="228" MIN="-10" MAX="10" CLAMP="FALSE"/>
953       <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/>
954       <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/>
955       <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
956       <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/>
957      </RmRegistryBranch>
958     </RmRegistryBranch>
959     <RmRegistryBranch NAME="RmVectorEditor" API="" XML_VERSION="RenderMonkey 1.6">
960      <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.6">
961       <RmRegistryBranch NAME="Effect Workspace.Shadow Effects.IndirectTexturingShadowsEffect.lightPos" API="" XML_VERSION="RenderMonkey 1.6">
962        <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1107" MIN="-10" MAX="10" CLAMP="FALSE"/>
963       </RmRegistryBranch>
964      </RmRegistryBranch>
965     </RmRegistryBranch>
966    </RmRegistryBranch>
967   </RmRegistryBranch>
968  </RmRegistryBranch>
969  <RmStringVariable NAME="Header" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
970$File: //depot/3darg/Tools/RenderMonkey/Examples/DX9/Shadows.rfx $
971$Revision: #14 $
972
973© ATI Technologies, 2003]]></RmTextDataBlock></RmStringVariable>
974  <RmEffectGroup NAME="Shadow Effects" API="">
975   <RmDirectXEffect NAME="IndirectTexturingShadowsEffect" API="D3D" ACTIVE_CAMERA="">
976    <RmFloatVariable NAME="backProjectionCut" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="78.000000" MIN="0.000000" MAX="200.000000" CLAMP="FALSE"/>
977    <RmFloatVariable NAME="shadowBias" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.004000" MIN="0.000000" MAX="0.010000" CLAMP="FALSE"/>
978    <RmFloatVariable NAME="distanceScale" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.001480" MIN="0.000000" MAX="0.004000" CLAMP="FALSE"/>
979    <RmFloatVariable NAME="Ks" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.620000" MIN="0.000000" MAX="1.000000" CLAMP="FALSE"/>
980    <RmFloatVariable NAME="Kd" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="1.000000" MIN="0.000000" MAX="1.000000" CLAMP="TRUE"/>
981    <RmFloatVariable NAME="Ka" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.390000" MIN="0.000000" MAX="1.000000" CLAMP="FALSE"/>
982    <RmVectorVariable NAME="lightPos" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE_0="4.000000" VALUE_1="71.999992" VALUE_2="99.999992" VALUE_3="1.000000" MIN="-100.000000" MAX="100.000000" CLAMP="FALSE" NORMALIZE="FALSE"/>
983    <RmFloatVariable NAME="epsilonX" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="-0.070000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/>
984    <RmFloatVariable NAME="epsilonY" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="-0.020000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/>
985    <RmFloatVariable NAME="sqrtNumSamples" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="4.000000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/>
986    <RmFloatVariable NAME="sourceTextureSize" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="16.000000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/>
987    <RmFloatVariable NAME="nearClipPlane" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="NearClipPlane" VALUE="0.000000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/>
988    <RmFloatVariable NAME="lightPosY" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-100.000000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/>
989    <RmColorVariable NAME="platformColor" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="1.000000" VALUE_1="0.679020" VALUE_2="0.300413" VALUE_3="1.000000"/>
990    <Rm2DTextureVariable NAME="sourceTexture" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="chestnutRotatedLeafAtlasDefault.png" ORIGIN="0"/>
991    <Rm2DTextureVariable NAME="trunkTexture" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="castanea_sativa_bark.png" ORIGIN="0"/>
992    <Rm2DTextureVariable NAME="SpotLight" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="spotlight.png" ORIGIN="0"/>
993    <Rm2DTextureVariable NAME="indirectTexture" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="chestnutIndirectBillboardGroupAtlas0.png" ORIGIN="0"/>
994    <RmRenderableTexture NAME="ShadowMap" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="" ORIGIN="0" WIDTH="1404" HEIGHT="690" FORMAT="21" USE_VIEWPORT_DIMENSIONS="TRUE" GENERATE_MIPMAPS="FALSE" WIDTH_RATIO="1.000000" HEIGHT_RATIO="1.000000"/>
995    <RmPass NAME="DepthTrunkPass" API="D3D" PASS_INDEX="0" ENABLED="TRUE">
996     <RmModelReference NAME="trunk" API=""/>
997     <RmHLSLShader NAME="Vertex Shader" API="D3D" PIXEL_SHADER="FALSE" TARGET="vs_1_1" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
998float4x4 view_proj_matrix: register(c0);
999float4 lightPos: register(c4);
1000float distanceScale: register(c5);
1001float4x4 proj_matrix: register(c6);
1002float time_0_X: register(c10);
1003float lightPosY;
1004
1005struct VS_OUTPUT {
1006   float4 Pos: POSITION;
1007   float3 lightVec: TEXCOORD0;
1008};
1009
1010VS_OUTPUT main(float4 Pos: POSITION){
1011   VS_OUTPUT Out;
1012
1013   // Animate the light position.
1014   // Comment out this code to use a static light.
1015   // In real applications this work is better done on
1016   // the CPU as it's constant for the whole scene.
1017   float3 lightPos;
1018   lightPos.x = cos(1.321 * time_0_X);
1019   lightPos.z = sin(0.923 * time_0_X);
1020   lightPos.xz = 100 * normalize(lightPos.xz);
1021   lightPos.y = lightPosY;
1022
1023   // Create view vectors for the light, looking at (0,0,0)
1024   // In real applications this work is better done on
1025   // the CPU as it's constant for the whole scene.
1026   float3 dirZ = -normalize(lightPos);
1027   float3 up = float3(0,0,1);
1028   float3 dirX = cross(up, dirZ);
1029   float3 dirY = cross(dirZ, dirX);
1030
1031   // Transform into light's view space.
1032   // In real applications we would be better off using a 4x4
1033   // matrix instead, but for this shader it's cheaper to
1034   // just transpose and rotate into light's view space.
1035   float4 pos;
1036   Pos.xyz -= lightPos;
1037   pos.x = dot(dirX, Pos);
1038   pos.y = dot(dirY, Pos);
1039   pos.z = dot(dirZ, Pos);
1040   pos.w = 1;
1041
1042   // Project it. For this sample using the normal projection
1043   // matrix suffices, however, real applications will typically
1044   // use a separate projection matrix for each light depending
1045   // on its properties such as FOV and range.
1046   Out.Pos = mul(proj_matrix, pos);
1047   Out.lightVec = distanceScale * Pos;
1048
1049   return Out;
1050}
1051
1052
1053]]></RmShaderCode>
1054      <RmShaderConstant NAME="distanceScale" API="" REGISTER="5"/>
1055      <RmShaderConstant NAME="lightPosY" API="" REGISTER="11"/>
1056      <RmShaderConstant NAME="proj_matrix" API="" REGISTER="6"/>
1057      <RmShaderConstant NAME="time_0_X" API="" REGISTER="10"/>
1058     </RmHLSLShader>
1059     <RmHLSLShader NAME="Pixel Shader" API="D3D" PIXEL_SHADER="TRUE" TARGET="ps_2_0" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1060float4 main(float3 lightVec: TEXCOORD0) : COLOR {
1061   // Output radial distance
1062   return length(lightVec);
1063}
1064
1065]]></RmShaderCode></RmHLSLShader>
1066     <RmRenderTarget NAME="ShadowMap" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="16777215" DEPTH_CLEAR_VALUE="1.000000"/>
1067     <RmStreamMapReference NAME="PN Stream Mapping" API=""/>
1068    </RmPass>
1069    <RmPass NAME="DepthLeavesIndirectTexturingPass" API="D3D" PASS_INDEX="1" ENABLED="TRUE">
1070     <RmModelReference NAME="leavesBillboardCloud" API=""/>
1071     <RmRenderStateBlock NAME="Render State" API="D3D">
1072      <RmState NAME="D3DRS_ALPHAFUNC" API="D3D" STATE="25" VALUE="7" USAGE="RENDER_STATE"/>
1073      <RmState NAME="D3DRS_ALPHAREF" API="D3D" STATE="24" VALUE="272" USAGE="RENDER_STATE"/>
1074      <RmState NAME="D3DRS_ALPHATESTENABLE" API="D3D" STATE="15" VALUE="1" USAGE="RENDER_STATE"/>
1075      <RmState NAME="D3DRS_CULLMODE" API="D3D" STATE="22" VALUE="1" USAGE="RENDER_STATE"/>
1076     </RmRenderStateBlock>
1077     <RmHLSLShader NAME="Pixel Shader" API="D3D" PIXEL_SHADER="TRUE" TARGET="ps_2_0" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1078uniform float epsilonX;
1079uniform float epsilonY;
1080uniform float sourceTextureSize;
1081uniform float numSamples;
1082uniform float sqrtNumSamples;
1083sampler indirectTexture: register(s0);
1084sampler sourceTexture: register(s1);
1085
1086float4 main(float3 lightVec:    TEXCOORD0,
1087            float2 texCoord:    TEXCOORD1,
1088            float2 subTexCoord: TEXCOORD2) : COLOR {
1089   
1090   float4 ocolor = float4(1.0, 1.0, 1.0, 0.0);
1091   float2 epsilon = float2(epsilonX, epsilonY);
1092   float4 value = tex2D(indirectTexture, subTexCoord).xyzw;
1093   float2 coords = float2(0.0, 1.0) - abs(texCoord - ( value.xy - epsilon ) );
1094   if (value.w != 0.0)
1095   {   
1096      float2 newcoord = (float2(1.0, 1.0) - value.zw) + ((coords * sourceTextureSize) / sqrtNumSamples);
1097      float depth = length(lightVec);
1098      // Output radial distance
1099      ocolor = (tex2D(sourceTexture, newcoord).w != 0.0) ? float4(depth.xxx, 1.0) : float4(1.0, 1.0, 1.0, 0.0);     
1100   }       
1101   return ocolor;
1102}
1103
1104]]></RmShaderCode>
1105      <RmSampler NAME="indirectTexture" API="" REGISTER="0"/>
1106      <RmSampler NAME="sourceTexture" API="" REGISTER="1"/>
1107      <RmShaderConstant NAME="epsilonX" API="" REGISTER="0"/>
1108      <RmShaderConstant NAME="epsilonY" API="" REGISTER="1"/>
1109      <RmShaderConstant NAME="sourceTextureSize" API="" REGISTER="2"/>
1110      <RmShaderConstant NAME="sqrtNumSamples" API="" REGISTER="3"/>
1111     </RmHLSLShader>
1112     <RmHLSLShader NAME="Vertex Shader" API="D3D" PIXEL_SHADER="FALSE" TARGET="vs_1_1" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1113float4x4 view_proj_matrix: register(c0);
1114float4 lightPos: register(c4);
1115float distanceScale: register(c5);
1116float4x4 proj_matrix: register(c6);
1117float time_0_X: register(c10);
1118float lightPosY;
1119
1120struct VS_OUTPUT {
1121   float4 Pos: POSITION;
1122   float3 lightVec: TEXCOORD0;
1123   float2 texCoord: TEXCOORD1;
1124   float2 subTexCoord: TEXCOORD2;
1125};
1126
1127VS_OUTPUT main(float4 Pos: POSITION,
1128               float2 color: COLOR,
1129               float2 subTexCoord: TEXCOORD0){
1130   VS_OUTPUT Out;
1131
1132   // Animate the light position.
1133   // Comment out this code to use a static light.
1134   // In real applications this work is better done on
1135   // the CPU as it's constant for the whole scene.
1136   float3 lightPos;
1137   lightPos.x = cos(1.321 * time_0_X);
1138   lightPos.z = sin(0.923 * time_0_X);
1139   lightPos.xz = 100 * normalize(lightPos.xz);
1140   lightPos.y = lightPosY;
1141
1142   // Create view vectors for the light, looking at (0,0,0)
1143   // In real applications this work is better done on
1144   // the CPU as it's constant for the whole scene.
1145   float3 dirZ = -normalize(lightPos);
1146   float3 up = float3(0,0,1);
1147   float3 dirX = cross(up, dirZ);
1148   float3 dirY = cross(dirZ, dirX);
1149
1150   // Transform into light's view space.
1151   // In real applications we would be better off using a 4x4
1152   // matrix instead, but for this shader it's cheaper to
1153   // just transpose and rotate into light's view space.
1154   float4 pos;
1155   Pos.xyz -= lightPos;
1156   pos.x = dot(dirX, Pos);
1157   pos.y = dot(dirY, Pos);
1158   pos.z = dot(dirZ, Pos);
1159   pos.w = 1;
1160
1161   // Project it. For this sample using the normal projection
1162   // matrix suffices, however, real applications will typically
1163   // use a separate projection matrix for each light depending
1164   // on its properties such as FOV and range.
1165   Out.Pos = mul(proj_matrix, pos);
1166   Out.lightVec = distanceScale * Pos;
1167
1168   Out.subTexCoord = subTexCoord;
1169   Out.texCoord = color.xy;
1170   
1171   return Out;
1172}
1173
1174
1175]]></RmShaderCode>
1176      <RmShaderConstant NAME="distanceScale" API="" REGISTER="5"/>
1177      <RmShaderConstant NAME="lightPosY" API="" REGISTER="11"/>
1178      <RmShaderConstant NAME="proj_matrix" API="" REGISTER="6"/>
1179      <RmShaderConstant NAME="time_0_X" API="" REGISTER="10"/>
1180     </RmHLSLShader>
1181     <RmRenderTarget NAME="ShadowMap" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="16777215" DEPTH_CLEAR_VALUE="1.000000"/>
1182     <RmStreamMapReference NAME="Stream Mapping IndirectTexturing" API=""/>
1183     <RmTextureObject NAME="sourceTexture" API="D3D" STATE_INDEX="1" VERTEX_TEXTURE="FALSE">
1184      <RmTextureReference NAME="sourceTexture" API=""/>
1185     </RmTextureObject>
1186     <RmTextureObject NAME="indirectTexture" API="D3D" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
1187      <RmTextureReference NAME="indirectTexture" API=""/>
1188      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
1189      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="1" USAGE="SAMPLER_STATE"/>
1190      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="0" USAGE="SAMPLER_STATE"/>
1191     </RmTextureObject>
1192    </RmPass>
1193    <RmPass NAME="LightPass" API="D3D" PASS_INDEX="2" ENABLED="TRUE">
1194     <RmModelReference NAME="Sphere" API=""/>
1195     <RmRenderStateBlock NAME="Render State" API="D3D"/>
1196     <RmHLSLShader NAME="Vertex Shader" API="D3D" PIXEL_SHADER="FALSE" TARGET="vs_1_1" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1197float4x4 view_proj_matrix: register(c0);
1198float4 lightPos: register(c4);
1199float time_0_X: register(c5);
1200float lightPosY;
1201
1202struct VS_OUTPUT {
1203   float4 Pos: POSITION;
1204};
1205
1206VS_OUTPUT main(float4 Pos: POSITION){
1207   VS_OUTPUT Out;
1208
1209   // Animate the light position.
1210   // Comment out this code to use a static light.
1211   // In real applications this work is better done on
1212   // the CPU as it's constant for the whole scene.
1213   float3 lightPos;
1214   lightPos.x = cos(1.321 * time_0_X);
1215   lightPos.z = sin(0.923 * time_0_X);
1216   lightPos.xz = 100 * normalize(lightPos.xz);
1217   lightPos.y = lightPosY;
1218
1219   // Compensate for source model not being a perfect sphere.
1220   Pos.xyz = 7 * normalize(Pos.xyz);
1221   // Put light in position
1222   Pos.xyz += lightPos;
1223
1224   Out.Pos = mul(view_proj_matrix, Pos);
1225
1226   return Out;
1227}
1228
1229
1230]]></RmShaderCode>
1231      <RmShaderConstant NAME="lightPosY" API="" REGISTER="6"/>
1232      <RmShaderConstant NAME="time_0_X" API="" REGISTER="5"/>
1233      <RmShaderConstant NAME="view_proj_matrix" API="" REGISTER="0"/>
1234     </RmHLSLShader>
1235     <RmHLSLShader NAME="Pixel Shader" API="D3D" PIXEL_SHADER="TRUE" TARGET="ps_1_1" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1236float4 main() : COLOR {
1237   return 1;
1238}
1239
1240]]></RmShaderCode></RmHLSLShader>
1241     <RmStreamMapReference NAME="PN Stream Mapping" API=""/>
1242    </RmPass>
1243    <RmPass NAME="TrunkPass" API="D3D" PASS_INDEX="3" ENABLED="TRUE">
1244     <RmModelReference NAME="trunk" API=""/>
1245     <RmHLSLShader NAME="Vertex Shader" API="D3D" PIXEL_SHADER="FALSE" TARGET="vs_1_1" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1246float4x4 view_proj_matrix: register(c0);
1247float4 lightPos: register(c4);
1248float4 view_position: register(c5);
1249float4x4 proj_matrix: register(c6);
1250float distanceScale: register(c10);
1251float time_0_X: register(c11);
1252float lightPosY;
1253
1254struct VS_OUTPUT {
1255   float4 Pos:       POSITION;
1256   float3 normal:    TEXCOORD0;
1257   float3 lightVec : TEXCOORD1;
1258   float3 viewVec:   TEXCOORD2;
1259   float4 shadowCrd: TEXCOORD3;
1260   float2 texCoord:  TEXCOORD4;
1261};
1262
1263VS_OUTPUT main(float4 Pos: POSITION,
1264               float3 normal: NORMAL,
1265               float2 texCoord: TEXCOORD0){
1266   VS_OUTPUT Out;
1267
1268   // Animate the light position.
1269   // Comment out this code to use a static light.
1270   // In real applications this work is better done on
1271   // the CPU as it's constant for the whole scene.
1272   float3 lightPos;
1273   lightPos.x = cos(1.321 * time_0_X);
1274   lightPos.z = sin(0.923 * time_0_X);
1275   lightPos.xz = 100 * normalize(lightPos.xz);
1276   lightPos.y = lightPosY;
1277
1278   Out.Pos = mul(view_proj_matrix, Pos);
1279   // World-space lighting
1280   Out.normal = normal;
1281   Out.lightVec = distanceScale * (lightPos - Pos.xyz);
1282   Out.viewVec = view_position - Pos.xyz;
1283
1284   // Create view vectors for the light, looking at (0,0,0)
1285   // In real applications this work is better done on
1286   // the CPU as it's constant for the whole scene.
1287   float3 dirZ = -normalize(lightPos);
1288   float3 up = float3(0,0,1);
1289   float3 dirX = cross(up, dirZ);
1290   float3 dirY = cross(dirZ, dirX);
1291
1292   // Transform into light's view space.
1293   // In real applications we would be better off using a 4x4
1294   // matrix instead, but for this shader it's cheaper to
1295   // just transpose and rotate into light's view space.
1296   float4 pos;
1297   Pos.xyz -= lightPos;
1298   pos.x = dot(dirX, Pos);
1299   pos.y = dot(dirY, Pos);
1300   pos.z = dot(dirZ, Pos);
1301   pos.w = 1;
1302
1303   // Project it. For this sample using the normal projection
1304   // matrix suffices, however, real applications will typically
1305   // use a separate projection matrix for each light depending
1306   // on its properties such as FOV and range.
1307   float4 sPos = mul(proj_matrix, pos);
1308
1309   // Use projective texturing to map the position of each fragment
1310   // to its corresponding texel in the shadow map.
1311   sPos.z += 10;
1312   Out.shadowCrd.x = 0.5 * (sPos.z + sPos.x);
1313   Out.shadowCrd.y = 0.5 * (sPos.z - sPos.y);
1314   Out.shadowCrd.z = 0;
1315   Out.shadowCrd.w = sPos.z;
1316
1317   Out.texCoord = texCoord;
1318   
1319   return Out;
1320}
1321
1322
1323]]></RmShaderCode>
1324      <RmShaderConstant NAME="distanceScale" API="" REGISTER="10"/>
1325      <RmShaderConstant NAME="lightPosY" API="" REGISTER="12"/>
1326      <RmShaderConstant NAME="proj_matrix" API="" REGISTER="6"/>
1327      <RmShaderConstant NAME="time_0_X" API="" REGISTER="11"/>
1328      <RmShaderConstant NAME="view_position" API="" REGISTER="5"/>
1329      <RmShaderConstant NAME="view_proj_matrix" API="" REGISTER="0"/>
1330     </RmHLSLShader>
1331     <RmHLSLShader NAME="Pixel Shader" API="D3D" PIXEL_SHADER="TRUE" TARGET="ps_2_0" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1332float backProjectionCut: register(c2);
1333float Ka: register(c3);
1334float Kd: register(c4);
1335float Ks: register(c5);
1336float4 modelColor: register(c0);
1337float shadowBias: register(c1);
1338sampler ShadowMap: register(s0);
1339sampler SpotLight: register(s1);
1340
1341sampler trunkTexture: register(s2);
1342
1343float4 main(float3 normal:    TEXCOORD0,
1344            float3 lightVec:  TEXCOORD1,
1345            float3 viewVec:   TEXCOORD2,
1346            float4 shadowCrd: TEXCOORD3,
1347            float2 texCoord:  TEXCOORD4) : COLOR {
1348   normal = normalize(normal);
1349   // Radial distance
1350   float depth = length(lightVec);
1351   // Normalizes light vector
1352   lightVec /= depth;
1353
1354   // Standard lighting
1355   float diffuse = saturate(dot(lightVec, normal));
1356   float specular = pow(saturate(dot(reflect(-normalize(viewVec), normal), lightVec)), 16);
1357
1358   // The depth of the fragment closest to the light
1359   float shadowMap = tex2Dproj(ShadowMap, shadowCrd);
1360   // A spot image of the spotlight
1361   float spotLight = tex2Dproj(SpotLight, shadowCrd);
1362   // If the depth is larger than the stored depth, this fragment
1363   // is not the closest to the light, that is we are in shadow.
1364   // Otherwise, we're lit. Add a bias to avoid precision issues.
1365   float shadow = (depth < shadowMap + shadowBias);
1366   // Cut back-projection, that is, make sure we don't lit
1367   // anything behind the light. Theoretically, you should just
1368   // cut at w = 0, but in practice you'll have to cut at a
1369   // fairly high positive number to avoid precision issue when
1370   // coordinates approaches zero.
1371   shadow *= (shadowCrd.w > backProjectionCut);
1372   // Modulate with spotlight image
1373   shadow *= spotLight;
1374
1375   float4 ocolor = tex2D(trunkTexture, texCoord);
1376   // Shadow any light contribution except ambient
1377   return Ka * ocolor + (Kd * diffuse * ocolor + Ks * specular) * shadow;
1378}
1379
1380
1381
1382]]></RmShaderCode>
1383      <RmSampler NAME="ShadowMap" API="" REGISTER="0"/>
1384      <RmSampler NAME="SpotLight" API="" REGISTER="1"/>
1385      <RmSampler NAME="trunkTexture" API="" REGISTER="2"/>
1386      <RmShaderConstant NAME="Ka" API="" REGISTER="3"/>
1387      <RmShaderConstant NAME="Kd" API="" REGISTER="4"/>
1388      <RmShaderConstant NAME="backProjectionCut" API="" REGISTER="2"/>
1389      <RmShaderConstant NAME="shadowBias" API="" REGISTER="1"/>
1390      <RmShaderConstant NAME="Ks" API="" REGISTER="5"/>
1391     </RmHLSLShader>
1392     <RmStreamMapReference NAME="PN Stream Mapping" API=""/>
1393     <RmTextureObject NAME="SpotLight" API="D3D" STATE_INDEX="1" VERTEX_TEXTURE="FALSE">
1394      <RmTextureReference NAME="SpotLight" API=""/>
1395      <RmState NAME="D3DSAMP_ADDRESSU" API="D3D" STATE="1" VALUE="3" USAGE="SAMPLER_STATE"/>
1396      <RmState NAME="D3DSAMP_ADDRESSV" API="D3D" STATE="2" VALUE="3" USAGE="SAMPLER_STATE"/>
1397      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="2" USAGE="SAMPLER_STATE"/>
1398      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="2" USAGE="SAMPLER_STATE"/>
1399      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="2" USAGE="SAMPLER_STATE"/>
1400     </RmTextureObject>
1401     <RmTextureObject NAME="ShadowMap" API="D3D" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
1402      <RmTextureReference NAME="ShadowMap" API=""/>
1403      <RmState NAME="D3DSAMP_ADDRESSU" API="D3D" STATE="1" VALUE="3" USAGE="SAMPLER_STATE"/>
1404      <RmState NAME="D3DSAMP_ADDRESSV" API="D3D" STATE="2" VALUE="3" USAGE="SAMPLER_STATE"/>
1405      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="2" USAGE="SAMPLER_STATE"/>
1406      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="2" USAGE="SAMPLER_STATE"/>
1407      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="0" USAGE="SAMPLER_STATE"/>
1408     </RmTextureObject>
1409     <RmTextureObject NAME="trunkTexture" API="D3D" STATE_INDEX="2" VERTEX_TEXTURE="FALSE">
1410      <RmTextureReference NAME="trunkTexture" API=""/>
1411     </RmTextureObject>
1412    </RmPass>
1413    <RmPass NAME="LeavesIndirectTexturingPass" API="D3D" PASS_INDEX="4" ENABLED="TRUE">
1414     <RmModelReference NAME="leavesBillboardCloud" API=""/>
1415     <RmRenderStateBlock NAME="Render State" API="D3D">
1416      <RmState NAME="D3DRS_ALPHAFUNC" API="D3D" STATE="25" VALUE="7" USAGE="RENDER_STATE"/>
1417      <RmState NAME="D3DRS_ALPHAREF" API="D3D" STATE="24" VALUE="272" USAGE="RENDER_STATE"/>
1418      <RmState NAME="D3DRS_ALPHATESTENABLE" API="D3D" STATE="15" VALUE="1" USAGE="RENDER_STATE"/>
1419      <RmState NAME="D3DRS_CULLMODE" API="D3D" STATE="22" VALUE="1" USAGE="RENDER_STATE"/>
1420     </RmRenderStateBlock>
1421     <RmHLSLShader NAME="Pixel Shader" API="D3D" PIXEL_SHADER="TRUE" TARGET="ps_2_0" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1422float backProjectionCut: register(c2);
1423float Ka: register(c3);
1424float Kd: register(c4);
1425float Ks: register(c5);
1426float4 modelColor: register(c0);
1427float shadowBias: register(c1);
1428sampler ShadowMap: register(s0);
1429sampler SpotLight: register(s1);
1430
1431uniform float epsilonX;
1432uniform float epsilonY;
1433uniform float sourceTextureSize;
1434uniform float numSamples;
1435uniform float sqrtNumSamples;
1436sampler indirectTexture: register(s2);
1437sampler sourceTexture: register(s3);
1438
1439float4 main(float3 normal:      TEXCOORD0,
1440            float3 lightVec:    TEXCOORD1,
1441            float3 viewVec:     TEXCOORD2,
1442            float4 shadowCrd:   TEXCOORD3,
1443            float2 texCoord:    TEXCOORD4,
1444            float2 subTexCoord: TEXCOORD5) : COLOR {
1445   normal = normalize(normal);
1446   // Radial distance
1447   float depth = length(lightVec);
1448   // Normalizes light vector
1449   lightVec /= depth;
1450
1451   // Standard lighting
1452   float diffuse = clamp(dot(lightVec, normal), 0.0, 1.0) + clamp(-dot(lightVec, normal), 0.0, 1.0);
1453   float specular = 0.0;
1454   //float specular = pow(saturate(dot(reflect(-normalize(viewVec), normal), lightVec)), 16);
1455
1456   // The depth of the fragment closest to the light
1457   float shadowMap = tex2Dproj(ShadowMap, shadowCrd);
1458   // A spot image of the spotlight
1459   float spotLight = tex2Dproj(SpotLight, shadowCrd);
1460   // If the depth is larger than the stored depth, this fragment
1461   // is not the closest to the light, that is we are in shadow.
1462   // Otherwise, we're lit. Add a bias to avoid precision issues.
1463   float shadow = (depth < shadowMap + shadowBias);
1464   // Cut back-projection, that is, make sure we don't lit
1465   // anything behind the light. Theoretically, you should just
1466   // cut at w = 0, but in practice you'll have to cut at a
1467   // fairly high positive number to avoid precision issue when
1468   // coordinates approaches zero.
1469   shadow *= (shadowCrd.w > backProjectionCut);
1470   // Modulate with spotlight image
1471   shadow *= spotLight;
1472
1473
1474   float4 ocolor = float4(0.0, 0.0, 0.0, 0.0);
1475   float2 epsilon = float2(epsilonX, epsilonY);
1476   float4 value = tex2D(indirectTexture, subTexCoord).xyzw;
1477   float2 coords = float2(0.0, 1.0) - abs(texCoord - ( value.xy - epsilon ) );
1478   if (value.w != 0.0)
1479   {   
1480      float2 newcoord = (float2(1.0, 1.0) - value.zw) + ((coords * sourceTextureSize) / sqrtNumSamples);
1481      ocolor = float4(tex2D(sourceTexture, newcoord).xyzw);
1482      ocolor = float4(Ka * ocolor.xyz + (Kd * diffuse * ocolor.xyz + Ks * specular)  * shadow, ocolor.w);
1483   }   
1484
1485   
1486   // Shadow any light contribution except ambient
1487   return ocolor;
1488}
1489
1490
1491
1492]]></RmShaderCode>
1493      <RmSampler NAME="ShadowMap" API="" REGISTER="0"/>
1494      <RmSampler NAME="SpotLight" API="" REGISTER="1"/>
1495      <RmSampler NAME="indirectTexture" API="" REGISTER="2"/>
1496      <RmSampler NAME="sourceTexture" API="" REGISTER="3"/>
1497      <RmShaderConstant NAME="backProjectionCut" API="" REGISTER="2"/>
1498      <RmShaderConstant NAME="epsilonX" API="" REGISTER="6"/>
1499      <RmShaderConstant NAME="epsilonY" API="" REGISTER="7"/>
1500      <RmShaderConstant NAME="Ka" API="" REGISTER="3"/>
1501      <RmShaderConstant NAME="shadowBias" API="" REGISTER="1"/>
1502      <RmShaderConstant NAME="Kd" API="" REGISTER="4"/>
1503      <RmShaderConstant NAME="sourceTextureSize" API="" REGISTER="8"/>
1504      <RmShaderConstant NAME="sqrtNumSamples" API="" REGISTER="9"/>
1505     </RmHLSLShader>
1506     <RmHLSLShader NAME="Vertex Shader" API="D3D" PIXEL_SHADER="FALSE" TARGET="vs_2_0" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1507float4x4 view_proj_matrix: register(c0);
1508float4 lightPos: register(c4);
1509float4 view_position: register(c5);
1510float4x4 proj_matrix: register(c6);
1511float distanceScale: register(c10);
1512float time_0_X: register(c11);
1513float lightPosY;
1514
1515struct VS_OUTPUT {
1516   float4 Pos:         POSITION;
1517   float3 normal:      TEXCOORD0;
1518   float3 lightVec :   TEXCOORD1;
1519   float3 viewVec:     TEXCOORD2;
1520   float4 shadowCrd:   TEXCOORD3;
1521   float2 texCoord:    TEXCOORD4;
1522   float2 subTexCoord: TEXCOORD5;
1523};
1524
1525VS_OUTPUT main(float4 Pos:         POSITION,
1526               float3 normal:      NORMAL,
1527               float2 color:       COLOR,
1528               float2 subTexCoord: TEXCOORD0){
1529   VS_OUTPUT Out;
1530
1531   // Animate the light position.
1532   // Comment out this code to use a static light.
1533   // In real applications this work is better done on
1534   // the CPU as it's constant for the whole scene.
1535   float3 lightPos;
1536   lightPos.x = cos(1.321 * time_0_X);
1537   lightPos.z = sin(0.923 * time_0_X);
1538   lightPos.xz = 100 * normalize(lightPos.xz);
1539   lightPos.y = lightPosY;
1540
1541   Out.Pos = mul(view_proj_matrix, Pos);
1542   // World-space lighting
1543   Out.normal = normal;
1544   Out.lightVec = distanceScale * (lightPos - Pos.xyz);
1545   Out.viewVec = view_position - Pos.xyz;
1546
1547   // Create view vectors for the light, looking at (0,0,0)
1548   // In real applications this work is better done on
1549   // the CPU as it's constant for the whole scene.
1550   float3 dirZ = -normalize(lightPos);
1551   float3 up = float3(0,0,1);
1552   float3 dirX = cross(up, dirZ);
1553   float3 dirY = cross(dirZ, dirX);
1554
1555   // Transform into light's view space.
1556   // In real applications we would be better off using a 4x4
1557   // matrix instead, but for this shader it's cheaper to
1558   // just transpose and rotate into light's view space.
1559   float4 pos;
1560   Pos.xyz -= lightPos;
1561   pos.x = dot(dirX, Pos);
1562   pos.y = dot(dirY, Pos);
1563   pos.z = dot(dirZ, Pos);
1564   pos.w = 1;
1565
1566   // Project it. For this sample using the normal projection
1567   // matrix suffices, however, real applications will typically
1568   // use a separate projection matrix for each light depending
1569   // on its properties such as FOV and range.
1570   float4 sPos = mul(proj_matrix, pos);
1571
1572   // Use projective texturing to map the position of each fragment
1573   // to its corresponding texel in the shadow map.
1574   sPos.z += 10;
1575   Out.shadowCrd.x = 0.5 * (sPos.z + sPos.x);
1576   Out.shadowCrd.y = 0.5 * (sPos.z - sPos.y);
1577   Out.shadowCrd.z = 0;
1578   Out.shadowCrd.w = sPos.z;
1579   
1580   Out.subTexCoord = subTexCoord;
1581   Out.texCoord = color.xy;
1582
1583   return Out;
1584}
1585
1586
1587]]></RmShaderCode>
1588      <RmShaderConstant NAME="distanceScale" API="" REGISTER="10"/>
1589      <RmShaderConstant NAME="lightPosY" API="" REGISTER="12"/>
1590      <RmShaderConstant NAME="proj_matrix" API="" REGISTER="6"/>
1591      <RmShaderConstant NAME="time_0_X" API="" REGISTER="11"/>
1592      <RmShaderConstant NAME="view_position" API="" REGISTER="5"/>
1593      <RmShaderConstant NAME="view_proj_matrix" API="" REGISTER="0"/>
1594     </RmHLSLShader>
1595     <RmStreamMapReference NAME="Stream Mapping IndirectTexturing" API=""/>
1596     <RmTextureObject NAME="ShadowMap" API="D3D" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
1597      <RmTextureReference NAME="ShadowMap" API=""/>
1598      <RmState NAME="D3DSAMP_ADDRESSU" API="D3D" STATE="1" VALUE="3" USAGE="SAMPLER_STATE"/>
1599      <RmState NAME="D3DSAMP_ADDRESSV" API="D3D" STATE="2" VALUE="3" USAGE="SAMPLER_STATE"/>
1600      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="2" USAGE="SAMPLER_STATE"/>
1601      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="2" USAGE="SAMPLER_STATE"/>
1602      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="0" USAGE="SAMPLER_STATE"/>
1603     </RmTextureObject>
1604     <RmTextureObject NAME="SpotLight" API="D3D" STATE_INDEX="1" VERTEX_TEXTURE="FALSE">
1605      <RmTextureReference NAME="SpotLight" API=""/>
1606      <RmState NAME="D3DSAMP_ADDRESSU" API="D3D" STATE="1" VALUE="3" USAGE="SAMPLER_STATE"/>
1607      <RmState NAME="D3DSAMP_ADDRESSV" API="D3D" STATE="2" VALUE="3" USAGE="SAMPLER_STATE"/>
1608      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="2" USAGE="SAMPLER_STATE"/>
1609      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="2" USAGE="SAMPLER_STATE"/>
1610      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="2" USAGE="SAMPLER_STATE"/>
1611     </RmTextureObject>
1612     <RmTextureObject NAME="indirectTexture" API="D3D" STATE_INDEX="2" VERTEX_TEXTURE="FALSE">
1613      <RmTextureReference NAME="indirectTexture" API=""/>
1614      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
1615      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="1" USAGE="SAMPLER_STATE"/>
1616      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="0" USAGE="SAMPLER_STATE"/>
1617     </RmTextureObject>
1618     <RmTextureObject NAME="sourceTexture" API="D3D" STATE_INDEX="3" VERTEX_TEXTURE="FALSE">
1619      <RmTextureReference NAME="sourceTexture" API=""/>
1620      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="2" USAGE="SAMPLER_STATE"/>
1621      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="2" USAGE="SAMPLER_STATE"/>
1622      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="0" USAGE="SAMPLER_STATE"/>
1623     </RmTextureObject>
1624    </RmPass>
1625    <RmPass NAME="PlatformPass" API="D3D" PASS_INDEX="5" ENABLED="TRUE">
1626     <RmModelReference NAME="Disc" API=""/>
1627     <RmHLSLShader NAME="Vertex Shader" API="D3D" PIXEL_SHADER="FALSE" TARGET="vs_1_1" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1628float4x4 view_proj_matrix: register(c0);
1629float4 lightPos: register(c4);
1630float4 view_position: register(c5);
1631float4x4 proj_matrix: register(c6);
1632float distanceScale: register(c10);
1633float time_0_X: register(c11);
1634float lightPosY;
1635
1636struct VS_OUTPUT {
1637   float4 Pos:       POSITION;
1638   float3 normal:    TEXCOORD0;
1639   float3 lightVec:  TEXCOORD1;
1640   float3 viewVec:   TEXCOORD2;
1641   float4 shadowCrd: TEXCOORD3;
1642};
1643
1644VS_OUTPUT main(float4 Pos: POSITION, float3 normal: NORMAL){
1645   VS_OUTPUT Out;
1646
1647   // Animate the light position.
1648   // Comment out this code to use a static light.
1649   // In real applications this work is better done on
1650   // the CPU as it's constant for the whole scene.
1651   float3 lightPos;
1652   lightPos.x = cos(1.321 * time_0_X);
1653   lightPos.z = sin(0.923 * time_0_X);
1654   lightPos.xz = 100 * normalize(lightPos.xz);
1655   lightPos.y = lightPosY;
1656
1657   normal = normal.xyz;
1658
1659   Out.Pos = mul(view_proj_matrix, Pos); 
1660   // World-space lighting
1661   Out.normal = normal;
1662   Out.lightVec = distanceScale * (lightPos - Pos.xyz);
1663   Out.viewVec = view_position - Pos.xyz;
1664
1665   // Create view vectors for the light, looking at (0,0,0)
1666   // In real applications this work is better done on
1667   // the CPU as it's constant for the whole scene.
1668   float3 dirZ = -normalize(lightPos);
1669   float3 up = float3(0,0,1);
1670   float3 dirX = cross(up, dirZ);
1671   float3 dirY = cross(dirZ, dirX);
1672
1673   // Transform into light's view space.
1674   // In real applications we would be better off using a 4x4
1675   // matrix instead, but for this shader it's cheaper to
1676   // just transpose and rotate into light's view space.
1677   float4 pos;
1678   Pos.xyz -= lightPos;
1679   pos.x = dot(dirX, Pos);
1680   pos.y = dot(dirY, Pos);
1681   pos.z = dot(dirZ, Pos);
1682   pos.w = 1;
1683
1684   // Project it. For this sample using the normal projection
1685   // matrix suffices, however, real applications will typically
1686   // use a separate projection matrix for each light depending
1687   // on its properties such as FOV and range.
1688   float4 sPos = mul(proj_matrix, pos);
1689
1690   // Use projective texturing to map the position of each fragment
1691   // to its corresponding texel in the shadow map.
1692   sPos.z += 10;
1693   Out.shadowCrd.x = 0.5 * (sPos.z + sPos.x);
1694   Out.shadowCrd.y = 0.5 * (sPos.z - sPos.y);
1695   Out.shadowCrd.z = 0;
1696   Out.shadowCrd.w = sPos.z;
1697
1698   return Out;
1699}
1700
1701
1702]]></RmShaderCode>
1703      <RmShaderConstant NAME="distanceScale" API="" REGISTER="10"/>
1704      <RmShaderConstant NAME="lightPosY" API="" REGISTER="12"/>
1705      <RmShaderConstant NAME="proj_matrix" API="" REGISTER="6"/>
1706      <RmShaderConstant NAME="time_0_X" API="" REGISTER="11"/>
1707      <RmShaderConstant NAME="view_position" API="" REGISTER="5"/>
1708      <RmShaderConstant NAME="view_proj_matrix" API="" REGISTER="0"/>
1709     </RmHLSLShader>
1710     <RmHLSLShader NAME="Pixel Shader" API="D3D" PIXEL_SHADER="TRUE" TARGET="ps_2_0" ENTRY_POINT="main"><RmShaderCode TYPE="TEXT"><![CDATA[
1711float backProjectionCut;
1712float Ka;
1713float Kd;
1714float Ks;
1715float4 platformColor;
1716float shadowBias;
1717sampler ShadowMap;
1718sampler SpotLight;
1719
1720float4 main( float3 normal: TEXCOORD0,
1721             float3 lightVec: TEXCOORD1,
1722             float3 viewVec: TEXCOORD2,
1723             float4 shadowCrd: TEXCOORD3) : COLOR
1724{
1725   normal = normalize(normal);
1726   
1727   // Radial distance
1728   float depth = length(lightVec);
1729   // Normalizes light vector
1730   lightVec /= depth;
1731
1732   // Standard lighting
1733   float diffuse = saturate(dot(lightVec, normal));
1734   float specular = pow(saturate(dot(reflect(-normalize(viewVec), normal), lightVec)), 16);
1735
1736   // The depth of the fragment closest to the light
1737   float shadowMap = tex2Dproj(ShadowMap, shadowCrd);
1738   // A spot image of the spotlight
1739   float spotLight = tex2Dproj(SpotLight, shadowCrd);
1740   // If the depth is larger than the stored depth, this fragment
1741   // is not the closest to the light, that is we are in shadow.
1742   // Otherwise, we're lit. Add a bias to avoid precision issues.
1743   float shadow = (depth < shadowMap + shadowBias);
1744   // Cut back-projection, that is, make sure we don't lit
1745   // anything behind the light. Theoretically, you should just
1746   // cut at w = 0, but in practice you'll have to cut at a
1747   // fairly high positive number to avoid precision issue when
1748   // coordinates approaches zero.
1749   shadow *= (shadowCrd.w > backProjectionCut);
1750   // Modulate with spotlight image
1751   shadow *= spotLight;
1752
1753   // Shadow any light contribution except ambient
1754   return Ka * platformColor + (Kd * diffuse * platformColor + Ks * specular) * shadow;
1755   
1756}
1757
1758
1759
1760
1761
1762]]></RmShaderCode>
1763      <RmSampler NAME="ShadowMap" API="" REGISTER="0"/>
1764      <RmSampler NAME="SpotLight" API="" REGISTER="1"/>
1765      <RmShaderConstant NAME="Ks" API="" REGISTER="3"/>
1766      <RmShaderConstant NAME="Ka" API="" REGISTER="1"/>
1767      <RmShaderConstant NAME="Kd" API="" REGISTER="2"/>
1768      <RmShaderConstant NAME="backProjectionCut" API="" REGISTER="0"/>
1769      <RmShaderConstant NAME="platformColor" API="" REGISTER="4"/>
1770      <RmShaderConstant NAME="shadowBias" API="" REGISTER="5"/>
1771     </RmHLSLShader>
1772     <RmStreamMapReference NAME="PN Stream Mapping" API=""/>
1773     <RmTextureObject NAME="SpotLight" API="D3D" STATE_INDEX="1" VERTEX_TEXTURE="FALSE">
1774      <RmTextureReference NAME="SpotLight" API=""/>
1775      <RmState NAME="D3DSAMP_ADDRESSU" API="D3D" STATE="1" VALUE="3" USAGE="SAMPLER_STATE"/>
1776      <RmState NAME="D3DSAMP_ADDRESSV" API="D3D" STATE="2" VALUE="3" USAGE="SAMPLER_STATE"/>
1777      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="2" USAGE="SAMPLER_STATE"/>
1778      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="2" USAGE="SAMPLER_STATE"/>
1779      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="2" USAGE="SAMPLER_STATE"/>
1780     </RmTextureObject>
1781     <RmTextureObject NAME="ShadowMap" API="D3D" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
1782      <RmTextureReference NAME="ShadowMap" API=""/>
1783      <RmState NAME="D3DSAMP_ADDRESSU" API="D3D" STATE="1" VALUE="3" USAGE="SAMPLER_STATE"/>
1784      <RmState NAME="D3DSAMP_ADDRESSV" API="D3D" STATE="2" VALUE="3" USAGE="SAMPLER_STATE"/>
1785      <RmState NAME="D3DSAMP_MAGFILTER" API="D3D" STATE="5" VALUE="2" USAGE="SAMPLER_STATE"/>
1786      <RmState NAME="D3DSAMP_MINFILTER" API="D3D" STATE="6" VALUE="2" USAGE="SAMPLER_STATE"/>
1787      <RmState NAME="D3DSAMP_MIPFILTER" API="D3D" STATE="7" VALUE="0" USAGE="SAMPLER_STATE"/>
1788     </RmTextureObject>
1789    </RmPass>
1790   </RmDirectXEffect>
1791   <RmColorVariable NAME="modelColor" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.360784" VALUE_1="0.451843" VALUE_2="1.000000" VALUE_3="1.000000"/>
1792   <Rm2DTextureVariable NAME="Wood Floor" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Wood.dds" ORIGIN="0"/>
1793   <RmStreamMap NAME="PN Stream Mapping" API="">
1794    <RmStream NAME="Normal3" API="" STRIDE="32">
1795     <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0"/>
1796     <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0"/>
1797     <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0"/>
1798    </RmStream>
1799   </RmStreamMap>
1800   <RmStreamMap NAME="Stream Mapping IndirectTexturing" API="">
1801    <RmStream NAME="Stream 0" API="" STRIDE="36">
1802     <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0"/>
1803     <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0"/>
1804     <RmStreamChannel NAME="Color_0" API="" DATA_SIZE="4" DATA_TYPE="4" REGISTER="0" USAGE="10" USAGE_INDEX="0"/>
1805     <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0"/>
1806    </RmStream>
1807   </RmStreamMap>
1808   <RmModelData NAME="ScreenAlignedQuad" API="" FILE_NAME=".\ScreenAlignedQuad.3ds" ORIENTATION="0"/>
1809   <RmModelData NAME="leavesBillboardCloud" API="" FILE_NAME=".\chestnutLeavesBillboardCloudGrouped.x" ORIENTATION="0"/>
1810   <RmModelData NAME="Disc" API="" FILE_NAME=".\disc.x" ORIENTATION="0"/>
1811   <RmModelData NAME="trunk" API="" FILE_NAME=".\chestnutTrunkLevel3.x" ORIENTATION="0"/>
1812   <RmModelData NAME="Sphere" API="" FILE_NAME=".\Sphere.3ds" ORIENTATION="0"/>
1813  </RmEffectGroup>
1814  <RmVectorVariable NAME="view_position" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewPosition" VALUE_0="-71.222672" VALUE_1="-128.383163" VALUE_2="-17.588064" VALUE_3="1.000000" MIN="-10.000000" MAX="10.000000" CLAMP="FALSE" NORMALIZE="FALSE"/>
1815  <RmMatrixVariable NAME="view_proj_matrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="1.016186" VALUE_1="-0.587463" VALUE_2="0.173118" VALUE_3="0.000000" VALUE_4="0.448028" VALUE_5="0.076275" VALUE_6="-2.371050" VALUE_7="-0.000046" VALUE_8="0.482154" VALUE_9="0.869111" VALUE_10="0.119065" VALUE_11="147.012634" VALUE_12="0.481672" VALUE_13="0.868242" VALUE_14="0.118946" VALUE_15="147.865631"/>
1816  <RmMatrixVariable NAME="proj_matrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="Projection" VALUE_0="1.186472" 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"/>
1817  <RmFloatVariable NAME="time_0_X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="Time0_X" VALUE="87.033546" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/>
1818 </RmEffectWorkspace>
1819</RENDER_MONKEY>
Note: See TracBrowser for help on using the repository browser.