home *** CD-ROM | disk | FTP | other *** search
/ MacFormat UK 128 / MF_UK_128_1.iso / mac / Reviewed⁄Demos / WormsBlastDemo / WormsBlastDemo.dmg / XEF / S.xef < prev    next >
Encoding:
Text File  |  2001-11-06  |  4.7 KB  |  163 lines

  1. / Simple object shader /
  2.  
  3. LODSWITCH CHAR
  4.  
  5. parameter DIFF          / REQUIRED for diffuse texture /
  6. parameter SKIN          / skinning keys off this being 'TRUE' /
  7.  
  8. systemstream TEMP {
  9.     FLOAT3 POSITION     label POSN
  10.     FLOAT3 NORMAL       label NORM
  11.     FLOAT2 TEXCOORD0    label TEX0
  12. }
  13.  
  14. systemstream MESH {
  15.     FLOAT3 POSITION     clone TEMP POSN label POSN
  16. }
  17.  
  18. systemstream MESN {
  19.     FLOAT3 NORMAL       clone TEMP NORM label SNRM
  20. }
  21.  
  22. vertexstream vbf0 {
  23.     FLOAT3 POSITION     procedural SKINFUNC from position       label OUTP
  24.     FLOAT3 NORMAL       procedural NORMSKINFUNC clone TEMP NORM label OUTN
  25.     FLOAT2 TEXCOORD0    clone TEMP TEX0                         label OUTT
  26. }
  27.  
  28. vertexshader vsh0 {
  29.     Stream[0] vbf0
  30.  
  31.     ST_POSITION     vbf0 OUTP
  32.     ST_NORMAL       vbf0 OUTN
  33.     ST_TEXCOORD2F   vbf0 OUTT
  34. }
  35.  
  36. /* --------------- PlayStation2 --------------------------------------- */
  37.  
  38. vertexstream PS2P {
  39.     FLOAT4 POSITION     procedural SKINFUNC from position       label OUTP
  40. }
  41.  
  42. vertexstream PS2N {
  43.     FLOAT4 NORMAL       procedural NORMSKINFUNC clone TEMP NORM label OUTN
  44. }
  45.  
  46. vertexstream PS2T {
  47.     FLOAT2 TEXCOORD0    clone TEMP TEX0                         label OUTT
  48. }
  49.  
  50. ps2vertexshader vsh0 {
  51.     ST_POSITION     PS2P OUTP
  52.     ST_TEXCOORD2F   PS2T OUTT
  53. }
  54.  
  55. /* --------------- Techniques ----------------------------------------- */
  56.  
  57. / Normal-skinned technique /
  58.  
  59. technique tec0 LODValid 1
  60.  
  61.          UseStream MESH
  62.          UseStream MESN
  63.  
  64.          pass pas0
  65.  
  66.                   SetParameter SKIN VXNR
  67.  
  68.                   VertexShader      = vsh0
  69.  
  70.                   X_ALPHATEST       false
  71.                                     kCompareFunctionAlways
  72.                                     0.0
  73.  
  74.                   X_FILLMODE        kFillModeSolid
  75.  
  76.                   X_ZBUFFERWRITEENABLE       true
  77.  
  78.                   X_SHADEMODE       kShadeModeSmooth
  79.  
  80.                   X_CULLFACE        kCullModeBack
  81.  
  82.                   X_LIGHTINGENABLE  false
  83.                                              false
  84.                                              false
  85.                                              kNormalizeNever
  86.                                              0.0  0.0  0.0  1.0
  87.  
  88.                   X_BLENDMODEGL     kBlendFactorOne
  89.                                     kBlendFactorZero
  90.  
  91.                   X_OGLTEXTURESTAGE     true
  92.                                         0
  93.                                         0
  94.                                         1.0
  95.                                         kAddressModeRepeat
  96.                                         kAddressModeRepeat
  97.  
  98.                                         kFilterModeLinear
  99.                                         kFilterModeLinear
  100.                                         kFilterModeNone
  101.  
  102.                                         <DIFF>
  103.  
  104.                                         kOglBlendReplace
  105.                                         0.0  0.0  0.0  1.0                           
  106.          end pas0
  107.  
  108. end tec0
  109.  
  110. / non-normal skinned technique /
  111.  
  112. technique tec1 LODValid 0
  113.  
  114.          UseStream MESH
  115.          UseStream MESN
  116.  
  117.          pass pas0
  118.  
  119.                   SetParameter SKIN VRTX
  120.  
  121.                   VertexShader      = vsh0
  122.  
  123.                   X_ALPHATEST       false
  124.                                     kCompareFunctionAlways
  125.                                     0.0
  126.  
  127.                   X_FILLMODE        kFillModeSolid
  128.  
  129.                   X_ZBUFFERWRITEENABLE       true
  130.  
  131.                   X_SHADEMODE       kShadeModeSmooth
  132.  
  133.                   X_CULLFACE        kCullModeBack
  134.  
  135.                   X_LIGHTINGENABLE  false
  136.                                     false
  137.                                     false
  138.                                     kNormalizeNever
  139.                                     0.0  0.0  0.0  1.0
  140.  
  141.                   X_BLENDMODEGL     kBlendFactorOne
  142.                                     kBlendFactorZero
  143.  
  144.                     X_OGLTEXTURESTAGE       true
  145.                                             0
  146.                                             0
  147.                                             1.0
  148.                                             kAddressModeRepeat
  149.                                             kAddressModeRepeat
  150.  
  151.                                             kFilterModeLinear
  152.                                             kFilterModeLinear
  153.                                             kFilterModeNone
  154.  
  155.                                             <DIFF>
  156.  
  157.                                             kOglBlendReplace
  158.                                             0.0  0.0  0.0  1.0                           
  159.          end pas0
  160.  
  161. end tec1
  162.  
  163. endfile