<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- /****************************************************************************
* MeshLab                                                           o o     *
* An extendible mesh processor                                    o     o   *
*                                                                _   O  _   *
* Copyright(C) 2005, 2009                                          \/)\/    *
* Visual Computing Lab                                            /\/|      *
* ISTI - Italian National Research Council                           |      *
*                                                                    \      *
* All rights reserved.                                                      *
*                                                                           *
* This program is free software; you can redistribute it and/or modify      *
* it under the terms of the GNU General Public License as published by      *
* the Free Software Foundation; either version 2 of the License, or         *
* (at your option) any later version.                                       *
*                                                                           *
* This program is distributed in the hope that it will be useful,           *
* but WITHOUT ANY WARRANTY; without even the implied warranty of            *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             *
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)          *
* for more details.                                                         *
*                                                                           *
****************************************************************************/ -->
<!DOCTYPE RENDER_MONKEY [
   <!ELEMENT RENDER_MONKEY
   (
      RmEffectWorkspace |
      RmRegistryBranch |
      RmClipboardNode
   )?>

   <!ELEMENT RmEffectWorkspace 
   (
      RmRegistryBranch?,
      RmPlugInData?,
      RmStringVariable*,
      (
         ( RmDirectXEffect, RmOpenGLEffect? ) |
         ( RmOpenGLEffect, RmDirectXEffect? )
      )?,
      (
         RmBooleanVariable |
         RmIntegerVariable |
         RmFloatVariable |
         RmVectorVariable |
         RmMatrixVariable |
         RmDynamicVariable |
         RmColorVariable |
         Rm2DTextureVariable |
         RmCubemapVariable |
         Rm3DTextureVariable |
         RmLightVariable |
         RmMaterialVariable |
         RmRenderableTexture |
         RmStreamMap |
         RmModelData |
         RmEffectGroup
      )*
   )>

   <!ELEMENT RmEffectGroup
   ( 
      RmPlugInData?,
      (
         RmStringVariable |
         RmDirectXEffect |
         RmOpenGLEffect |
         RmBooleanVariable |
         RmIntegerVariable |
         RmFloatVariable |
         RmVectorVariable |
         RmMatrixVariable |
         RmDynamicVariable |
         RmColorVariable |
         Rm2DTextureVariable |
         RmCubemapVariable |
         Rm3DTextureVariable |
         RmLightVariable |
         RmMaterialVariable |
         RmRenderableTexture |
         RmStreamMap |
         RmModelData
      )*
   )>

   <!ELEMENT RmDirectXEffect
   ( 
      RmPlugInData?,
      (
         RmStringVariable |
         RmCamera |
         RmBooleanVariable |
         RmIntegerVariable |
         RmFloatVariable |
         RmVectorVariable |
         RmMatrixVariable |
         RmDynamicVariable |
         RmColorVariable |
         Rm2DTextureVariable |
         RmCubemapVariable |
         Rm3DTextureVariable |
         RmLightVariable |
         RmMaterialVariable |
         RmRenderableTexture |
         RmStreamMap |
         RmModelData |
         RmPass
      )*
   )>

   <!ELEMENT RmOpenGLEffect
   (
      RmPlugInData?,
      (
         RmStringVariable |
         RmCamera |
         RmBooleanVariable |
         RmIntegerVariable |
         RmFloatVariable |
         RmVectorVariable |
         RmMatrixVariable |
         RmDynamicVariable |
         RmColorVariable |
         Rm2DTextureVariable |
         RmCubemapVariable |
         Rm3DTextureVariable |
         RmLightVariable |
         RmMaterialVariable |
         RmRenderableTexture |
         RmStreamMap |
         RmModelData |
         RmGLPass
      )*
   )>

   <!ELEMENT RmPass
   ( 
      RmPlugInData?,
      RmStringVariable*,
      RmCameraReference?,
      RmModelReference?,
      RmRenderStateBlock?,
      (
         (
         ( RmHLSLShader | RmShader ),
         ( RmShader | RmHLSLShader )?
         )
      )?,
      RmRenderTarget*,
      RmStreamMapReference?,
      (
         RmBooleanVariable |
         RmIntegerVariable |
         RmFloatVariable |
         RmVectorVariable |
         RmMatrixVariable |
         RmDynamicVariable |
         RmColorVariable |
         Rm2DTextureVariable |
         RmCubemapVariable |
         Rm3DTextureVariable |
         RmLightVariable |
         RmMaterialVariable |
         RmTextureObject |
         RmLightObject |
         RmMaterialObject
         )*
      )>
                                                                     
   <!ELEMENT RmGLPass
   ( 
      RmPlugInData?,
      RmStringVariable*,
      RmCameraReference?,
      RmModelReference?,
      RmRenderStateBlock?,
      (
         ( RmGLShader, RmGLShader? ) 
      )?,
      RmRenderTarget?,
      RmStreamMapReference?,
      (
         RmBooleanVariable |
         RmIntegerVariable |
         RmFloatVariable |
         RmVectorVariable |
         RmMatrixVariable |
         RmDynamicVariable |
         RmColorVariable |
         Rm2DTextureVariable |
         RmCubemapVariable |
         Rm3DTextureVariable |
         RmLightVariable |
         RmMaterialVariable |
         RmTextureObject |
         RmLightObject |
         RmMaterialObject |
         RmShaderConstant |
         RmSampler
         )*
      )>
      
   <!ELEMENT RmShader
   ( 
      RmShaderCode,
      RmPlugInData?,
      (
      RmStringVariable |
      RmShaderConstant
      )*
   )>

   <!ELEMENT RmHLSLShader
   ( 
      RmShaderCode,
      RmPlugInData?,
      (
      RmStringVariable |
      RmShaderConstant |
      RmSampler
      )*
   )>

   <!ELEMENT RmGLShader
   ( 
      RmShaderCode,
      RmPlugInData?,
      (
      RmStringVariable
      )*
   )>

   <!ELEMENT RmTextureObject
   (
      RmPlugInData?,
      RmStringVariable*,
      RmTextureReference?,
      RmState*
   )>

   <!ELEMENT RmLightObject
   (
      RmPlugInData?,
      RmStringVariable*,
      RmLightReference?
   )>
   
   <!ELEMENT RmMaterialObject
   (
      RmPlugInData?,
      RmStringVariable*,
      RmMaterialReference?
   )>
   
   <!ELEMENT RmRenderStateBlock
   (
      RmPlugInData?,
      (
         RmStringVariable |
         RmState 
      )*
   )>

   <!ELEMENT RmStreamMap
   (
      RmPlugInData?,
      (
         RmStringVariable |
         RmStream 
      )*
   )>

   <!ELEMENT RmStream               ( RmPlugInData?, RmStreamChannel* )>

   <!ELEMENT RmModelData            ( RmPlugInData?, RmStringVariable* )>  
   <!ELEMENT RmTextureReference     ( RmPlugInData?, RmStringVariable* )>
   <!ELEMENT RmLightReference       ( RmPlugInData?, RmStringVariable* )>
   <!ELEMENT RmMaterialReference    ( RmPlugInData?, RmStringVariable* )>
   <!ELEMENT RmCameraReference      ( RmPlugInData?, RmStringVariable* )>
   <!ELEMENT RmModelReference       ( RmPlugInData?, RmStringVariable* )>
   <!ELEMENT RmStreamMapReference   ( RmPlugInData?, RmStringVariable* )>   
   <!ELEMENT RmRenderableTexture    ( RmPlugInData?, RmStringVariable* )>   
   <!ELEMENT RmRenderTarget         ( RmPlugInData?, RmStringVariable* )>   
   <!ELEMENT RmBooleanVariable      ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmFloatVariable        ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmVectorVariable       ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmMatrixVariable       ( RmPlugInData?, RmStringVariable? )>   
   <!ELEMENT RmColorVariable        ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmIntegerVariable      ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT Rm2DTextureVariable    ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmCubemapVariable      ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT Rm3DTextureVariable    ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmLightVariable        ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmMaterialVariable     ( RmPlugInData?, RmStringVariable? )>
   <!ELEMENT RmCamera               ( RmPlugInData?, RmStringVariable* )>

   <!ELEMENT RmStringVariable       ( RmTextDataBlock, RmPlugInData? )>
   
   <!ELEMENT RmDynamicVariable
   (
      RmPlugInData?,
      RmStringVariable?,
      RmDynamicVariableValueContainer
   )>
   
   <!ELEMENT RmDynamicVariableValueContainer
   (
      RmPlugInData?,
      RmDynamicVariableValue*
   )>
   
   <!ELEMENT RmTextDataBlock        ( #PCDATA ) >
   
   <!ELEMENT RmRegistryBranch
   ( 
      RmTextDataBlock?,
      (
         RmRegistryBranch |
         RmStringVariable |
         RmIntegerVariable |
         RmBooleanVariable |
         RmFloatVariable
      )*      
   )>

   <!ELEMENT RmPlugInData
   ( 
      RmTextDataBlock?,
      (
         RmStringVariable |
         RmIntegerVariable |
         RmBooleanVariable |
         RmFloatVariable |
         RmVectorVariable
      )*      
   )>
   
   <!ELEMENT RmClipboardNode
   ( 
      RmTextDataBlock?,
      (
         RmEffectWorkspace | 
         RmEffectGroup |   
         RmDirectXEffect |                
         RmOpenGLEffect |                
         RmPass |                  
         RmGLPass |                  
         RmShader |        
         RmHLSLShader |        
         RmGLShader |        
         RmShaderConstant |
         RmSampler |               
         RmTextureObject |
         RmLightObject |
         RmMaterialObject |
         RmRenderStateBlock |
         RmState |                 
         RmStreamMap |           
         RmStream |              
         RmStreamChannel |
         RmModelData |
         RmTextureReference |
         RmLightReference |
         RmMaterialReference |
         RmModelReference |
         RmStreamMapReference |
         RmRenderableTexture |
         RmRenderTarget |
         RmBooleanVariable |
         RmFloatVariable |
         RmVectorVariable |
         RmMatrixVariable |
         RmDynamicVariable |
         RmDynamicVariableValue |
         RmColorVariable |
         RmIntegerVariable |
         RmStringVariable |
         Rm2DTextureVariable |
         RmCubemapVariable |
         Rm3DTextureVariable |
         RmLightVariable |
         RmMaterialVariable |
         RmRegistryBranch |
         RmPlugInData |
         RmCamera |                
         RmCameraReference
      )*      
   )>
   
   <!ELEMENT RmStreamChannel        ( RmPlugInData? ) >
   <!ELEMENT RmShaderConstant       ( RmPlugInData? ) >
   <!ELEMENT RmSampler              ( RmPlugInData? ) >
   <!ELEMENT RmState                ( RmPlugInData? ) >
   <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) >
   
   <!ELEMENT RmShaderCode           ( #PCDATA ) >

   <!ATTLIST RmEffectWorkspace 
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ACTIVE_EFFECT                 CDATA #REQUIRED
      VALIDATION_STRING             CDATA #REQUIRED
      XML_VERSION                   CDATA #REQUIRED
   >                                 

   <!ATTLIST RmEffectGroup           
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
   >                                 

   <!ATTLIST RmDirectXEffect                
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ACTIVE_CAMERA                 CDATA #REQUIRED
   >                                 

   <!ATTLIST RmOpenGLEffect                
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ACTIVE_CAMERA                 CDATA #REQUIRED
   >                                 

   <!ATTLIST RmPass                  
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      PASS_INDEX                    CDATA #REQUIRED
      ENABLED                       ( TRUE | FALSE ) #REQUIRED
   >                                 

   <!ATTLIST RmGLPass                  
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      PASS_INDEX                    CDATA #REQUIRED
      ENABLED                       ( TRUE | FALSE ) #REQUIRED
   >                                 
   
   <!ATTLIST RmShader        
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      PIXEL_SHADER                  CDATA #REQUIRED
   >                                 

   <!ATTLIST RmHLSLShader        
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      PIXEL_SHADER                  ( TRUE | FALSE ) #REQUIRED
      TARGET                        CDATA #REQUIRED
      ENTRY_POINT                   CDATA #REQUIRED
   >  

   <!ATTLIST RmGLShader        
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      PIXEL_SHADER                  ( TRUE | FALSE ) #REQUIRED
   >  

   <!ATTLIST RmShaderConstant
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      REGISTER                      CDATA #REQUIRED
   >                                 

   <!ATTLIST RmSampler               
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      REGISTER                      CDATA #REQUIRED
   >

   <!ATTLIST RmTextureObject
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      STATE_INDEX                   CDATA #REQUIRED
      VERTEX_TEXTURE                ( TRUE | FALSE ) #REQUIRED
   >

   <!ATTLIST RmLightObject
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      INDEX                         CDATA #REQUIRED
   >
   
   <!ATTLIST RmMaterialObject
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      INDEX                         CDATA #REQUIRED
   >
   
   <!ATTLIST RmRenderStateBlock
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
   >                                 

   <!ATTLIST RmState                 
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      STATE                         CDATA #REQUIRED
      VALUE                         CDATA #REQUIRED
      USAGE                         CDATA #REQUIRED
   >                               

   <!ATTLIST RmStreamMap           
     NAME                           CDATA #REQUIRED
     API                            CDATA #REQUIRED
   >                               

   <!ATTLIST RmStream              
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      STRIDE                        CDATA #REQUIRED
   >

   <!ATTLIST RmStreamChannel
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      DATA_SIZE                     CDATA #REQUIRED
      DATA_TYPE                     CDATA #REQUIRED
      REGISTER                      CDATA #REQUIRED
      USAGE                         CDATA #REQUIRED
      USAGE_INDEX                   CDATA #REQUIRED
   >

   <!ATTLIST RmModelData
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      FILE_NAME                     CDATA #REQUIRED
      ORIENTATION                   CDATA #REQUIRED
   >

   <!ATTLIST RmTextureReference
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
   >

   <!ATTLIST RmLightReference
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
   >
   
   <!ATTLIST RmMaterialReference
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
   >
   
   <!ATTLIST RmModelReference
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
   >

   <!ATTLIST RmStreamMapReference
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
   >

   <!ATTLIST RmRenderableTexture
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      FILE_NAME                     CDATA #REQUIRED
      ORIGIN                        CDATA #REQUIRED
      WIDTH                         CDATA #REQUIRED
      HEIGHT                        CDATA #REQUIRED
      FORMAT                        CDATA #REQUIRED
      USE_VIEWPORT_DIMENSIONS       ( TRUE | FALSE ) #REQUIRED
      GENERATE_MIPMAPS              ( TRUE | FALSE ) #REQUIRED
      WIDTH_RATIO                   CDATA #REQUIRED
      HEIGHT_RATIO                  CDATA #REQUIRED
   >

   <!ATTLIST RmRenderTarget
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      INDEX                         CDATA #REQUIRED
      RENDER_TO_SCREEN              ( TRUE | FALSE ) #REQUIRED
      COLOR_CLEAR                   ( TRUE | FALSE ) #REQUIRED
      DEPTH_CLEAR                   ( TRUE | FALSE ) #REQUIRED
      CLEAR_COLOR_VALUE             CDATA #REQUIRED
      DEPTH_CLEAR_VALUE             CDATA #REQUIRED
   >
   
   <!ATTLIST RmBooleanVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      VALUE                         CDATA #REQUIRED
   >

   <!ATTLIST RmFloatVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      VALUE                         CDATA #REQUIRED
      MIN                           CDATA #REQUIRED
      MAX                           CDATA #REQUIRED
      CLAMP                         ( TRUE | FALSE ) #REQUIRED
   >

   <!ATTLIST RmVectorVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      VALUE_0                       CDATA #REQUIRED
      VALUE_1                       CDATA #REQUIRED
      VALUE_2                       CDATA #REQUIRED
      VALUE_3                       CDATA #REQUIRED
      MIN                           CDATA #REQUIRED
      MAX                           CDATA #REQUIRED
      CLAMP                         ( TRUE | FALSE ) #REQUIRED
      NORMALIZE                     ( TRUE | FALSE ) #REQUIRED
   >

   <!ATTLIST RmMatrixVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      VALUE_0                       CDATA #REQUIRED
      VALUE_1                       CDATA #REQUIRED
      VALUE_2                       CDATA #REQUIRED
      VALUE_3                       CDATA #REQUIRED
      VALUE_4                       CDATA #REQUIRED
      VALUE_5                       CDATA #REQUIRED
      VALUE_6                       CDATA #REQUIRED
      VALUE_7                       CDATA #REQUIRED
      VALUE_8                       CDATA #REQUIRED
      VALUE_9                       CDATA #REQUIRED
      VALUE_10                      CDATA #REQUIRED
      VALUE_11                      CDATA #REQUIRED
      VALUE_12                      CDATA #REQUIRED
      VALUE_13                      CDATA #REQUIRED
      VALUE_14                      CDATA #REQUIRED
      VALUE_15                      CDATA #REQUIRED
   >

   <!ATTLIST RmDynamicVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      VARIABLE_TYPE                 ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED
      ROWS                          CDATA #REQUIRED
      COLUMNS                       CDATA #REQUIRED
      FIXED_SIZE                    ( TRUE | FALSE ) #REQUIRED
      MIN                           CDATA #REQUIRED
      MAX                           CDATA #REQUIRED
      CLAMP                         ( TRUE | FALSE ) #REQUIRED
      NORMALIZE                     ( TRUE | FALSE ) #REQUIRED
   >
   
   <!ATTLIST RmDynamicVariableValue
      ROW_INDEX                     CDATA #REQUIRED
      COLUMN_INDEX                  CDATA #REQUIRED
      VALUE                         CDATA #REQUIRED
   >
   
   <!ATTLIST RmColorVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      VALUE_0                       CDATA #REQUIRED
      VALUE_1                       CDATA #REQUIRED
      VALUE_2                       CDATA #REQUIRED
      VALUE_3                       CDATA #REQUIRED
   >

   <!ATTLIST RmIntegerVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      VALUE                         CDATA #REQUIRED
      MIN                           CDATA #REQUIRED
      MAX                           CDATA #REQUIRED
      CLAMP                         ( TRUE | FALSE ) #REQUIRED
   >
   
   <!ATTLIST RmStringVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
   >

   <!ATTLIST Rm2DTextureVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      FILE_NAME                     CDATA #REQUIRED
      ORIGIN                        CDATA #REQUIRED
   >

   <!ATTLIST RmCubemapVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      FILE_NAME                     CDATA #REQUIRED
      ORIGIN                        CDATA #REQUIRED
   >

   <!ATTLIST Rm3DTextureVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      FILE_NAME                     CDATA #REQUIRED
      ORIGIN                        CDATA #REQUIRED
   >

   <!ATTLIST RmLightVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      LIGHT_ENABLED                 ( TRUE | FALSE ) #REQUIRED
      LIGHT_TYPE                    ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED
      AMBIENT_0                     CDATA #REQUIRED
      AMBIENT_1                     CDATA #REQUIRED
      AMBIENT_2                     CDATA #REQUIRED
      AMBIENT_3                     CDATA #REQUIRED
      DIFFUSE_0                     CDATA #REQUIRED
      DIFFUSE_1                     CDATA #REQUIRED
      DIFFUSE_2                     CDATA #REQUIRED
      DIFFUSE_3                     CDATA #REQUIRED
      SPECULAR_0                    CDATA #REQUIRED
      SPECULAR_1                    CDATA #REQUIRED
      SPECULAR_2                    CDATA #REQUIRED
      SPECULAR_3                    CDATA #REQUIRED
      POSITION_0                    CDATA #REQUIRED
      POSITION_1                    CDATA #REQUIRED
      POSITION_2                    CDATA #REQUIRED
      DIRECTION_0                   CDATA #REQUIRED
      DIRECTION_1                   CDATA #REQUIRED
      DIRECTION_2                   CDATA #REQUIRED
      ATTENUATION_0                 CDATA #REQUIRED
      ATTENUATION_1                 CDATA #REQUIRED
      ATTENUATION_2                 CDATA #REQUIRED
      SPOTLIGHT_THETA               CDATA #REQUIRED
      SPOTLIGHT_PHI                 CDATA #REQUIRED
      RANGE                         CDATA #REQUIRED
      FALLOFF                       CDATA #REQUIRED
   >
   
   <!ATTLIST RmMaterialVariable
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      ARTIST_EDITABLE               ( TRUE | FALSE ) #REQUIRED
      VARIABLE_SEMANTIC             CDATA #REQUIRED
      AMBIENT_0                     CDATA #REQUIRED
      AMBIENT_1                     CDATA #REQUIRED
      AMBIENT_2                     CDATA #REQUIRED
      AMBIENT_3                     CDATA #REQUIRED
      DIFFUSE_0                     CDATA #REQUIRED
      DIFFUSE_1                     CDATA #REQUIRED
      DIFFUSE_2                     CDATA #REQUIRED
      DIFFUSE_3                     CDATA #REQUIRED
      SPECULAR_0                    CDATA #REQUIRED
      SPECULAR_1                    CDATA #REQUIRED
      SPECULAR_2                    CDATA #REQUIRED
      SPECULAR_3                    CDATA #REQUIRED
      EMISSIVE_0                    CDATA #REQUIRED
      EMISSIVE_1                    CDATA #REQUIRED
      EMISSIVE_2                    CDATA #REQUIRED
      EMISSIVE_3                    CDATA #REQUIRED
      SPECULAR_POWER                CDATA #REQUIRED
   >
      
   <!ATTLIST RmRegistryBranch
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      XML_VERSION                   CDATA #REQUIRED
   >
   
   <!ATTLIST RmPlugInData
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      PLUGIN_GUID                   CDATA #REQUIRED
   >

   <!ATTLIST RmClipboardNode
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      XML_VERSION                   CDATA #REQUIRED
   >
   
   <!ATTLIST RmCamera                
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      CAMERA_POSITION_X             CDATA #REQUIRED
      CAMERA_POSITION_Y             CDATA #REQUIRED
      CAMERA_POSITION_Z             CDATA #REQUIRED
      LOOK_AT_VECTOR_X              CDATA #REQUIRED
      LOOK_AT_VECTOR_Y              CDATA #REQUIRED
      LOOK_AT_VECTOR_Z              CDATA #REQUIRED
      UP_VECTOR_X                   CDATA #REQUIRED
      UP_VECTOR_Y                   CDATA #REQUIRED
      UP_VECTOR_Z                   CDATA #REQUIRED
      FOV                           CDATA #REQUIRED
      NEAR_CLIP_PLANE               CDATA #REQUIRED
      FAR_CLIP_PLANE                CDATA #REQUIRED
   >                                 

   <!ATTLIST RmCameraReference                
      NAME                          CDATA #REQUIRED
      API                           CDATA #REQUIRED
      USE_ACTIVE_CAMERA             ( TRUE | FALSE ) #REQUIRED
   >                               
   
   <!ATTLIST RmShaderCode                
      TYPE                          ( TEXT ) #REQUIRED
   >                               
   
   <!ATTLIST RmTextDataBlock                
      TYPE                          ( TEXT ) #REQUIRED
   >                               
   
]>
<RENDER_MONKEY>
 <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Depth of Field" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.6">
  <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.6">
   <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.6">
    <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.6">
     <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
16/2/2005 15:32:43]]></RmTextDataBlock></RmStringVariable>
     <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
RenderMonkey Version 1.6 (build 84)]]></RmTextDataBlock></RmStringVariable>
     <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
RenderMonkey 1.6]]></RmTextDataBlock></RmStringVariable>
     <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
V:\3darg\Tools\RenderMonkey\Examples\GL2\]]></RmTextDataBlock></RmStringVariable>
    </RmRegistryBranch>
   </RmRegistryBranch>
  </RmRegistryBranch>
  <RmStringVariable NAME="Header" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[
$File: //depot/3darg/Tools/RenderMonkey/Examples/Test/GL2-Software/Depth of Field.rfx $
$Revision: 4163 $

© ATI Technologies, 2003]]></RmTextDataBlock></RmStringVariable>
  <RmOpenGLEffect NAME="Depth of Field" API="OpenGL" ACTIVE_CAMERA="Camera">
   <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="-171.635803" CAMERA_POSITION_Y="12.578083" CAMERA_POSITION_Z="86.975311" LOOK_AT_VECTOR_X="-10.072021" LOOK_AT_VECTOR_Y="1.521854" LOOK_AT_VECTOR_Z="-30.388817" UP_VECTOR_X="-0.020595" UP_VECTOR_Y="0.992337" UP_VECTOR_Z="-0.121834" FOV="45.000000" NEAR_CLIP_PLANE="1.000000" FAR_CLIP_PLANE="1000.000000"/>
   <RmVectorVariable NAME="lightDir" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE_0="0.408250" VALUE_1="0.408250" VALUE_2="0.816500" VALUE_3="0.000000" MIN="-10.000000" MAX="10.000000" CLAMP="FALSE" NORMALIZE="FALSE"/>
   <RmRenderableTexture NAME="Blur0" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="" ORIGIN="0" WIDTH="512" HEIGHT="512" FORMAT="21" USE_VIEWPORT_DIMENSIONS="FALSE" GENERATE_MIPMAPS="FALSE" WIDTH_RATIO="1.000000" HEIGHT_RATIO="1.000000"/>
   <RmRenderableTexture NAME="Blur1" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="" ORIGIN="0" WIDTH="512" HEIGHT="512" FORMAT="21" USE_VIEWPORT_DIMENSIONS="FALSE" GENERATE_MIPMAPS="FALSE" WIDTH_RATIO="1.000000" HEIGHT_RATIO="1.000000"/>
   <RmRenderableTexture NAME="RT" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="" ORIGIN="0" WIDTH="512" HEIGHT="512" FORMAT="21" USE_VIEWPORT_DIMENSIONS="FALSE" GENERATE_MIPMAPS="FALSE" WIDTH_RATIO="1.000000" HEIGHT_RATIO="1.000000"/>
   <RmGLPass NAME="Blur0" API="OpenGL" PASS_INDEX="1" ENABLED="TRUE">
    <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/>
    <RmModelReference NAME="ScreenAlignedQuad" API=""/>
    <RmGLShader NAME="Fragment Program" API="OpenGL" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
uniform float sampleDist0;
uniform sampler2D RT;
varying vec2 vTexCoord;
/*
const vec2 samples[12] = {
   -0.326212, -0.405805,
   -0.840144, -0.073580,
   -0.695914,  0.457137,
   -0.203345,  0.620716,
    0.962340, -0.194983,
    0.473434, -0.480026,
    0.519456,  0.767022,
    0.185461, -0.893124,
    0.507431,  0.064425,
    0.896420,  0.412458,
   -0.321940, -0.932615,
   -0.791559, -0.597705,
};
*/

void main(void)
{
   vec2 samples00 = vec2(-0.326212, -0.405805);
   vec2 samples01 = vec2(-0.840144, -0.073580);
   vec2 samples02 = vec2(-0.695914,  0.457137);
   vec2 samples03 = vec2(-0.203345,  0.620716);
   vec2 samples04 = vec2( 0.962340, -0.194983);
   vec2 samples05 = vec2( 0.473434, -0.480026);
   vec2 samples06 = vec2( 0.519456,  0.767022);
   vec2 samples07 = vec2( 0.185461, -0.893124);
   vec2 samples08 = vec2( 0.507431,  0.064425);
   vec2 samples09 = vec2( 0.896420,  0.412458);
   vec2 samples10 = vec2(-0.321940, -0.932615);
   vec2 samples11 = vec2(-0.791559, -0.597705);

   vec2 newCoord;
   vec4 sum = texture2D(RT, vTexCoord);
   
   /*
   for (int i = 0; i < 12; i++)
   {
      sum += tex2D(RT, texCoord + sampleDist0 * samples[i]);
   }
   */
   
   newCoord = vTexCoord + sampleDist0 * samples00;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples01;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples02;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples03;
   sum += texture2D(RT, newCoord);
   
   newCoord = vTexCoord + sampleDist0 * samples04;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples05;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples06;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples07;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples08;
   sum += texture2D(RT, newCoord);
   
   newCoord = vTexCoord + sampleDist0 * samples09;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples10;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist0 * samples11;
   sum += texture2D(RT, newCoord);

   sum /= 13.0;

   gl_FragColor = vec4( sum);
}]]></RmShaderCode></RmGLShader>
    <RmGLShader NAME="Vertex Program" API="OpenGL" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[

varying vec2 vTexCoord;

void main(void)
{
   // Clean up inaccuracies
   vec2 Pos = sign(gl_Vertex.xy);

   gl_Position = vec4(Pos.xy, 0, 1);
   // Image-space
   vTexCoord.x = 0.5 * (1.0 + Pos.x);
   vTexCoord.y = 0.5 * (1.0 + Pos.y);


}]]></RmShaderCode></RmGLShader>
    <RmRenderTarget NAME="Blur0" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="0" DEPTH_CLEAR_VALUE="1.000000"/>
    <RmStreamMapReference NAME="Stream Mapping" API=""/>
    <RmTextureObject NAME="RT" API="OpenGL" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
     <RmTextureReference NAME="RT" API=""/>
     <RmState NAME="GL_TextureMagnify" API="OpenGL" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
     <RmState NAME="GL_TextureMinify" API="OpenGL" STATE="4" VALUE="1" USAGE="SAMPLER_STATE"/>
    </RmTextureObject>
    <RmSampler NAME="RT" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="sampleDist0" API="" REGISTER="-1"/>
   </RmGLPass>
   <RmGLPass NAME="Blur1" API="OpenGL" PASS_INDEX="2" ENABLED="TRUE">
    <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/>
    <RmModelReference NAME="ScreenAlignedQuad" API=""/>
    <RmGLShader NAME="Fragment Program" API="OpenGL" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
uniform float sampleDist1;
uniform sampler2D RT;
varying vec2 vTexCoord;
/*
const vec2 samples[12] = {
   -0.326212, -0.405805,
   -0.840144, -0.073580,
   -0.695914,  0.457137,
   -0.203345,  0.620716,
    0.962340, -0.194983,
    0.473434, -0.480026,
    0.519456,  0.767022,
    0.185461, -0.893124,
    0.507431,  0.064425,
    0.896420,  0.412458,
   -0.321940, -0.932615,
   -0.791559, -0.597705,
};
*/

void main(void)
{
   vec2 samples00 = vec2(-0.326212, -0.405805);
   vec2 samples01 = vec2(-0.840144, -0.073580);
   vec2 samples02 = vec2(-0.695914,  0.457137);
   vec2 samples03 = vec2(-0.203345,  0.620716);
   vec2 samples04 = vec2( 0.962340, -0.194983);
   vec2 samples05 = vec2( 0.473434, -0.480026);
   vec2 samples06 = vec2( 0.519456,  0.767022);
   vec2 samples07 = vec2( 0.185461, -0.893124);
   vec2 samples08 = vec2( 0.507431,  0.064425);
   vec2 samples09 = vec2( 0.896420,  0.412458);
   vec2 samples10 = vec2(-0.321940, -0.932615);
   vec2 samples11 = vec2(-0.791559, -0.597705);

   vec2 newCoord;
   vec4 sum = texture2D(RT, vTexCoord);
   
   /*
   for (int i = 0; i < 12; i++)
   {
      sum += tex2D(RT, texCoord + sampleDist1 * samples[i]);
   }
   */
   
   newCoord = vTexCoord + sampleDist1 * samples00;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples01;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples02;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples03;
   sum += texture2D(RT, newCoord);
   
   newCoord = vTexCoord + sampleDist1 * samples04;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples05;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples06;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples07;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples08;
   sum += texture2D(RT, newCoord);
   
   newCoord = vTexCoord + sampleDist1 * samples09;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples10;
   sum += texture2D(RT, newCoord);

   newCoord = vTexCoord + sampleDist1 * samples11;
   sum += texture2D(RT, newCoord);

   sum /= 13.0;

   gl_FragColor = vec4( sum);
}]]></RmShaderCode></RmGLShader>
    <RmGLShader NAME="Vertex Program" API="OpenGL" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[

varying vec2 vTexCoord;

void main(void)
{
   // Clean up inaccuracies
   vec2 Pos = sign(gl_Vertex.xy);

   gl_Position = vec4(Pos.xy, 0, 1);
   // Image-space
   vTexCoord.x = 0.5 * (1.0 + Pos.x);
   vTexCoord.y = 0.5 * (1.0 + Pos.y);


}]]></RmShaderCode></RmGLShader>
    <RmRenderTarget NAME="Blur1" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="0" DEPTH_CLEAR_VALUE="1.000000"/>
    <RmStreamMapReference NAME="Stream Mapping" API=""/>
    <RmTextureObject NAME="RT" API="OpenGL" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
     <RmTextureReference NAME="Blur0" API=""/>
     <RmState NAME="GL_TextureMagnify" API="OpenGL" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
     <RmState NAME="GL_TextureMinify" API="OpenGL" STATE="4" VALUE="1" USAGE="SAMPLER_STATE"/>
    </RmTextureObject>
    <RmSampler NAME="RT" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="sampleDist1" API="" REGISTER="-1"/>
   </RmGLPass>
   <RmGLPass NAME="Combine" API="OpenGL" PASS_INDEX="3" ENABLED="TRUE">
    <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/>
    <RmModelReference NAME="ScreenAlignedQuad" API=""/>
    <RmGLShader NAME="Fragment Program" API="OpenGL" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
uniform float range;
uniform sampler2D RT;
uniform sampler2D Blur1;
uniform float focus;

varying vec2 vTexCoord;


void main(void)
{
   vec4 sharp = texture2D(RT,    vTexCoord);
   vec4 blur  = texture2D(Blur1, vTexCoord);

   gl_FragColor = mix(sharp, blur, clamp(range * abs(focus - sharp.a), 0.0, 1.0));
}]]></RmShaderCode></RmGLShader>
    <RmGLShader NAME="Vertex Program" API="OpenGL" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[

varying vec2 vTexCoord;

void main(void)
{
   // Clean up inaccuracies
   vec2 Pos = sign(gl_Vertex.xy);

   gl_Position = vec4(Pos.xy, 0, 1);
   // Image-space
   vTexCoord.x = 0.5 * (1.0 + Pos.x);
   vTexCoord.y = 0.5 * (1.0 + Pos.y);


}]]></RmShaderCode></RmGLShader>
    <RmStreamMapReference NAME="Stream Mapping" API=""/>
    <RmTextureObject NAME="Blur1" API="OpenGL" STATE_INDEX="1" VERTEX_TEXTURE="FALSE">
     <RmTextureReference NAME="Blur1" API=""/>
    </RmTextureObject>
    <RmTextureObject NAME="RT" API="OpenGL" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
     <RmTextureReference NAME="RT" API=""/>
     <RmState NAME="GL_TextureMagnify" API="OpenGL" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
     <RmState NAME="GL_TextureMinify" API="OpenGL" STATE="4" VALUE="1" USAGE="SAMPLER_STATE"/>
    </RmTextureObject>
    <RmSampler NAME="Blur1" API="" REGISTER="-1"/>
    <RmSampler NAME="RT" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="focus" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="range" API="" REGISTER="-1"/>
   </RmGLPass>
   <RmGLPass NAME="Render" API="OpenGL" PASS_INDEX="0" ENABLED="TRUE">
    <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/>
    <RmModelReference NAME="Radeon" API=""/>
    <RmGLShader NAME="Fragment Program" API="OpenGL" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[
uniform sampler2D Base;
uniform float Ks;
uniform float Kd;


varying vec3 vNormal;
varying vec3 vViewVec;

void main(void)
{
   vec3 base = texture2D(Base, gl_TexCoord[0].st).rgb;
   
   vec3 nNormal = normalize(vNormal);
   vec3 nLight = normalize(gl_LightSource[0].position.xyz);

   // Basic lighting
   float diffuse = clamp(dot(nLight, nNormal), 0.0, 1.0);
   float specular = pow(clamp(dot(reflect(-normalize(vViewVec), nNormal), nLight),0.0, 1.0), 16.0);
   vec3  light = Kd * diffuse * base + Ks * specular;

   // We'll use the distance to decide how much blur we want
   float dist = length(vViewVec);

   gl_FragColor = vec4( light, dist);
}]]></RmShaderCode></RmGLShader>
    <RmGLShader NAME="Vertex Program" API="OpenGL" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[
uniform float distanceScale;

varying vec3 vNormal;
varying vec3 vViewVec;

void main(void)
{
   gl_Position = ftransform();
   gl_TexCoord[0] = gl_MultiTexCoord0;
   
   // Eye-space lighting
   vNormal = gl_NormalMatrix * gl_Normal;
   
   // We multiply with distance scale in the vertex shader
   // instead of the fragment shader to improve performance.
   vViewVec = -vec3(distanceScale * gl_ModelViewMatrix * gl_Vertex);

}]]></RmShaderCode></RmGLShader>
    <RmRenderTarget NAME="RT" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="0" DEPTH_CLEAR_VALUE="1.000000"/>
    <RmStreamMapReference NAME="Stream Mapping" API=""/>
    <RmTextureObject NAME="Base" API="OpenGL" STATE_INDEX="0" VERTEX_TEXTURE="FALSE">
     <RmTextureReference NAME="Base" API=""/>
     <RmState NAME="GL_TextureMagnify" API="OpenGL" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/>
     <RmState NAME="GL_TextureMinify" API="OpenGL" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/>
    </RmTextureObject>
    <RmSampler NAME="Base" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="Ks" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="distanceScale" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="lightDir" API="" REGISTER="-1"/>
    <RmShaderConstant NAME="Kd" API="" REGISTER="-1"/>
   </RmGLPass>
  </RmOpenGLEffect>
  <RmFloatVariable NAME="sampleDist0" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.019800" MIN="0.000000" MAX="0.030000" CLAMP="FALSE"/>
  <RmFloatVariable NAME="range" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="4.600000" MIN="0.000000" MAX="10.000000" CLAMP="FALSE"/>
  <RmMatrixVariable NAME="view_matrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="View" VALUE_0="0.564504" VALUE_1="0.051113" VALUE_2="-0.823846" VALUE_3="0.823853" VALUE_4="0.172375" VALUE_5="0.968776" VALUE_6="0.178217" VALUE_7="0.087366" VALUE_8="0.807520" VALUE_9="-0.240981" VALUE_10="0.538367" VALUE_11="157.065292" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="0.000000" VALUE_15="1.000000"/>
  <RmMatrixVariable NAME="view_proj_matrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="1.362834" VALUE_1="0.123398" VALUE_2="-1.988941" VALUE_3="1.988956" VALUE_4="0.416149" VALUE_5="2.338831" VALUE_6="0.430253" VALUE_7="0.210920" VALUE_8="0.808329" VALUE_9="-0.241223" VALUE_10="0.538906" VALUE_11="156.221512" VALUE_12="0.807520" VALUE_13="-0.240981" VALUE_14="0.538367" VALUE_15="157.065292"/>
  <RmFloatVariable NAME="sampleDist1" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.019200" MIN="0.000000" MAX="0.030000" CLAMP="FALSE"/>
  <RmFloatVariable NAME="Kd" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.960000" MIN="0.000000" MAX="1.000000" CLAMP="FALSE"/>
  <RmFloatVariable NAME="Ks" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.940000" MIN="0.000000" MAX="2.000000" CLAMP="FALSE"/>
  <RmFloatVariable NAME="distanceScale" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.003500" MIN="0.000000" MAX="0.010000" CLAMP="FALSE"/>
  <RmFloatVariable NAME="focus" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="0.480000" MIN="0.000000" MAX="1.000000" CLAMP="FALSE"/>
  <Rm2DTextureVariable NAME="Base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="..\textures\rockbump.jpg" ORIGIN="0"/>
  <RmStreamMap NAME="Stream Mapping" API="">
   <RmStream NAME="TexCoord5" API="" STRIDE="32">
    <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0"/>
    <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="1" USAGE="3" USAGE_INDEX="0"/>
    <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="2" USAGE="5" USAGE_INDEX="0"/>
   </RmStream>
  </RmStreamMap>
  <RmModelData NAME="ScreenAlignedQuad" API="" FILE_NAME="..\Media\Models\ScreenAlignedQuad.3ds" ORIENTATION="0"/>
  <RmModelData NAME="Radeon" API="" FILE_NAME="..\Media\Models\Radeon.3ds" ORIENTATION="1"/>
 </RmEffectWorkspace>
</RENDER_MONKEY>
