{
  "dx11" : "dx11/meshes.fx",
  "agal" : "agal/meshes.agal",
  "ogles" : "ogles/meshes.gles",
  "ogl" : "ogl/meshes.glsl",
  "func_ps" : "main_ps",
  "func_vs" : "main_vs",

  "ShaderFlags" :
  {
    "DIFFUSEMAP" : 1,
    "DIFFUSE2MAP" : 1,
    "MASK2MAP" : 1,
    "NORMALMAP" : 1,
    "PARALLAXMAP" : 1,
    "GLOSSMAP" : 2,
    "SELFILLUMINATION" : 1,
    "SELFILLUMINATIONMAP" : 1,
    "ENVIRONMENTMAP" : 1,
    "ALPHATEST" : 1,
    "VERTEXALPHA" : 1,
    "VERTEXCOLOUR" : 1,
    "FORWARDLIGHT" : 1,
    "FAKESPEC" : 1,
    "NOSPEC" : 1,
    "GBUFFERPASS" : 2,
    "GBUFFERTYPE" : 2,
    "BLEND2MODE"  : 2,
    "NOLIGHTING"  : 1,
    "DEPTHONLY" : 1,
    "OUTLINEMODE" : 1,
    "SAMPLERUV0"  : 2,
    "SAMPLERUV1"  : 2,
    "SAMPLERUV2"  : 2,
    "SAMPLERUV3"  : 2,
    "SAMPLERDIFFUSE"  : 2,
    "SAMPLERGLOSS"  : 2,
    "SAMPLERNORMAL"  : 2,
    "SAMPLERSELFILLUM"  : 2,
    "SAMPLERDIFFUSE2"  : 2,
    "SAMPLERPARALLAX"  : 2,
    "SAMPLERMASK2"  : 2,
    "ADDITIVE" : 1,
    "RIMLIGHT" : 1,
    "FOG" : 1,
    "INSTANCED" : 1,
    "ALPHAENTITY" : 1,
    "COLOUR_XFORM" : 1 
  },

  "OGLESExcludedFromVS" :
  [
    "NOSPEC",
    "ALPHATEST",
    "BLEND2MODE",
    "NOLIGHTING",
    "DEPTHONLY",
    "ALPHAENTITY",
    "COLOUR_XFORM"
  ],

  "OGLESExcludedFromPS" :
  [
    "SAMPLERUV0",
    "SAMPLERUV1",
    "SAMPLERUV2",
    "SAMPLERUV3",
    "INSTANCED",
    "BONEINFO"
  ],
 
  "OGLESTextureMappingsPS" :
  {
    "0 - diffuse"   : "sDiffuseMap",
    "1 - spec"      : "sSpecMap",
    "2 - normal"    : "sNormalMap",
    "3 - env"       : "sEnvOrDiff2Map",
    "4 - parallax"  : "sParallaxMap",
    "5 - selfIllum" : "sSelfIllumOrMaskMap",
    "6 - gbuffer0"  : "sGBuffer",
    "7 - lightbuf"  : "sLightBuffer"
  },

  "OGLESVertexAttrMappings" :
  {
    "0 - POSITION"    : "aPosition",
    "1 - NORMAL"      : "aNormal",
    "2 - TEXCOORDA"   : "aTexCoord0",
    "3 - COLOUR"      : "aColour",
    "4 - TANGENT"     : "aTangent",
    "5 - BONEDATAA"   : "aBoneIndices",
    "6 - BONEDATAB"   : "aBoneWeights",
    "7 - TEXCOORDB"   : "aTexCoord1"
  },
  
  "OGLESConstBufferVS0" :
  {
    "00" : [ "uView", 4 ],
    "04" : [ "uInvView", 4 ],
    "08" : [ "uViewProj", 4 ],
    "12" : [ "uInvViewProj", 4 ],
    "16" : [ "uTargetSizeInvSize", 1 ],
    "17" : [ "uCameraPos", 1 ],
    "18" : [ "uTimeClipPlanes", 1 ],
    "19" : [ "uDepthEncConsts", 1 ],
    "20" : [ "uFogParams1", 1 ],
    "21" : [ "uFogParams2", 1 ],
    "22" : [ "uDistFog", 1 ],
    "23" : [ "uHeightFog", 1 ],
    "24" : [ "uDepthLinLightLum", 1 ]
  },
    
  "OGLESConstBufferVS1" :
  {
    "00" : [ "uWorld", 4 ]
  },
  
  "OGLESConstBufferVS2" :
  {
    "00" : [ "uSamplerTiling0", 1 ],
    "01" : [ "uSamplerTiling1", 1 ],
    "02" : [ "uSamplerOffset0", 1 ],
    "03" : [ "uSamplerOffset1", 1 ],
    "04" : [ "uSamplerSpeed0", 1 ],
    "05" : [ "uSamplerSpeed1", 1 ],
    "06" : [ "uSpecCol", 1 ],
    "07" : [ "uTintColSpecFact", 1 ],
    "08" : [ "uSelfIllumColSpecPow", 1 ]
  },
    
  "OGLESConstBufferVS3" :
  {
    "00" : [ "uBoneXforms[0]", 96 ]
  },

  "OGLESConstBufferVS4" :
  {
    "00" : [ "uTintCol2", 1 ],
    "01" : [ "uRimLightCol", 1 ]
  },

  "OGLESConstBufferVS5" :
  {
    "00" : [ "uSamplerTiling0", 1 ],
    "01" : [ "uSamplerTiling1", 1 ],
    "02" : [ "uSamplerOffset0", 1 ],
    "03" : [ "uSamplerOffset1", 1 ],
    "04" : [ "uSamplerSpeed0", 1 ],
    "05" : [ "uSamplerSpeed1", 1 ]
  },

  "OGLESConstBufferVS6" :
  {
    "00" : [ "uSpecCol", 1 ],
    "01" : [ "uTintColSpecFact", 1 ],
    "02" : [ "uSelfIllumColSpecPow", 1 ]
  },

  "OGLESConstBufferVS7" :
  {
    "00" : [ "uInstData[0]", 128 ]
  },
    
  "OGLESConstBufferPS0" :
  {
    "00" : [ "uView", 4 ],
    "04" : [ "uInvView", 4 ],
    "08" : [ "uViewProj", 4 ],
    "12" : [ "uInvViewProj", 4 ],
    "16" : [ "uTargetSizeInvSize", 1 ],
    "17" : [ "uCamPosLightLum", 1 ],
    "18" : [ "uTimeClipPlanes", 1 ],
    "19" : [ "uDepthEncConsts", 1 ],
    "20" : [ "uFogParams1", 1 ],
    "21" : [ "uFogParams2", 1 ],
    "22" : [ "uDistFog", 1 ],
    "23" : [ "uHeightFog", 1 ],
    "24" : [ "uDepthLinLightLum", 1 ]
  },
    
  "OGLESConstBufferPS1" :
  {
    "00" : [ "uAlphaFactorParallaxAmt", 1 ],
    "01" : [ "uColXfm", 4 ]
  },
  
  "OGLESConstBufferPS2" :
  {
    "00" : [ "uSamplerTiling0", 1 ],
    "01" : [ "uSamplerTiling1", 1 ],
    "02" : [ "uSamplerOffset0", 1 ],
    "03" : [ "uSamplerOffset1", 1 ],
    "04" : [ "uSamplerSpeed0", 1 ],
    "05" : [ "uSamplerSpeed1", 1 ],
    "06" : [ "uSpecCol", 1 ],
    "07" : [ "uTintColSpecFact", 1 ],
    "08" : [ "uSelfIllumColSpecPow", 1 ],
    "09" : [ "uTintCol2", 1 ],
    "10" : [ "uRimLightCol", 1 ]
  },
  
  "OGLESConstBufferPS3" :
  {
    "00" : [ "uSunDir", 1 ],
    "01" : [ "uSunCol", 1 ],
    "02" : [ "uShAmbientR", 1 ],
    "03" : [ "uShAmbientG", 1 ],
    "04" : [ "uShAmbientB", 1 ]
  },

  "OGLESConstBufferPS4" :
  {
    "00" : [ "uTintCol2", 1 ],
    "01" : [ "uRimLightCol", 1 ]
  },

  "OGLESConstBufferPS5" :
  {
    "00" : [ "uSamplerTiling0", 1 ],
    "01" : [ "uSamplerTiling1", 1 ],
    "02" : [ "uSamplerOffset0", 1 ],
    "03" : [ "uSamplerOffset1", 1 ],
    "04" : [ "uSamplerSpeed0", 1 ],
    "05" : [ "uSamplerSpeed1", 1 ]
  },

  "OGLESConstBufferPS6" :
  {
    "00" : [ "uSpecCol", 1 ],
    "01" : [ "uTintColSpecFact", 1 ],
    "02" : [ "uSelfIllumColSpecPow", 1 ]
  }
}
