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

  1.  
  2. LODSWITCH CHAR
  3.  
  4. Parameter DIFF          / required for textured mesh /
  5. Parameter TLGT          / external shade texture /
  6. Parameter TOON          / Used to trigger ToonCalc /
  7. Parameter SKIN          / Used to trigger SkinFunc and NORMSKINFUNC /
  8.  
  9. systemstream TEMP {
  10.         FLOAT3 POSITION                             label POSN
  11.         FLOAT3 NORMAL                               label NORM
  12.         FLOAT2 TEXCOORD0                            label TEX0
  13. }
  14.  
  15. systemstream MESH {
  16.         FLOAT3 POSITION     clone TEMP POSN         label POSN
  17. }
  18.  
  19. systemstream MESN {
  20.         FLOAT3 NORMAL       clone TEMP NORM         label SNRM
  21. }
  22.  
  23. Systemstream HALF {
  24.         FLOAT3 NORMAL       procedural NORMSKINFUNC label HNRM
  25. }
  26.  
  27. vertexstream VSTR {
  28.         FLOAT3 POSITION     procedural SKINFUNC     label OUTP
  29.         FLOAT2 TEXCOORD0    clone TEMP TEX0         label OUTT
  30.         FLOAT2 TEXCOORD1    procedural TOONCALC     label OUTL
  31. }
  32.  
  33. vertexshader VSH0 {
  34.         Stream[0] VSTR
  35.  
  36.         ST_POSITION     VSTR OUTP
  37.         ST_NORMAL       VSTR OUTN
  38.         ST_TEXCOORD2F   VSTR OUTT
  39. }
  40.  
  41. vertexshader VSH1 {
  42.         Stream[0] VSTR
  43.  
  44.         ST_POSITION     VSTR OUTP
  45.         ST_NORMAL       VSTR OUTN
  46.         ST_TEXCOORD1F   VSTR OUTL
  47. }
  48.  
  49. /* --------------- PlayStation2 --------------------------------------- */
  50.  
  51. systemstream POS4 {
  52.     FLOAT4 POSITION     clone TEMP POSN         label POSN
  53. }
  54.  
  55. systemstream NRM4 {
  56.     FLOAT4 NORMAL       clone TEMP NORM         label SNRM
  57. }
  58.  
  59. systemstream HLF4 {
  60.     FLOAT4 NORMAL       procedural NORMSKINFUNC label HNRM
  61. }
  62.  
  63. vertexstream PS2P {
  64.     FLOAT4 POSITION     procedural SKINFUNC     label OUTP
  65. }
  66.  
  67. vertexstream PS2T {
  68.     FLOAT2 TEXCOORD0    clone TEMP TEX0         label OUTT
  69. }
  70.  
  71. vertexstream PS2L {
  72.     FLOAT1 TEXCOORD1    procedural TOONCALC     label OUTL
  73. }
  74.  
  75. ps2vertexshader VSH0 {
  76.         ST_POSITION     PS2P OUTP
  77.         ST_TEXCOORD2F   PS2T OUTT
  78. }
  79.  
  80. ps2vertexshader VSH1 {
  81.         ST_POSITION     PS2P OUTP
  82.         ST_TEXCOORD1F   PS2L OUTL
  83. }
  84.  
  85. ps2technique ps2t LODValid 0           /* Based on tec3 */
  86.          UseStream POS4
  87.          UseStream NRM4
  88.          UseStream HLF4
  89.  
  90.          pass pas0
  91.                   SetParameter TOON NULL
  92.                   SetParameter SKIN VXNR
  93.  
  94.                   VertexShader      = VSH0
  95.  
  96.                   X_FILLMODE        kFillModeSolid
  97.  
  98.                   X_ZBUFFERWRITEENABLE       true
  99.  
  100.                   X_SHADEMODE       kShadeModeSmooth
  101.  
  102.                   X_CULLFACE        kCullModeBack
  103.  
  104.                   X_LIGHTINGENABLE  false
  105.                                     false
  106.                                     false
  107.                                     kNormalizeNever
  108.                                     1.0  1.0  1.0  1.0
  109.  
  110.                   X_BLENDMODEGL     kBlendFactorOne
  111.                                     kBlendFactorZero
  112.  
  113.                   X_OGLTEXTURESTAGE true
  114.                                     0
  115.                                     0
  116.                                     1.0
  117.                                     kAddressModeRepeat
  118.                                     kAddressModeRepeat
  119.  
  120.                                     kFilterModeLinear
  121.                                     kFilterModeLinear
  122.                                     kFilterModeNone
  123.  
  124.                                     <DIFF>
  125.  
  126.                                     kOglBlendReplace
  127.                                     0.0  0.0  0.0  1.0                           
  128.          end pas0
  129.  
  130.          pass pas1
  131.                   SetParameter TOON SKND
  132.                   SetParameter SKIN NULL
  133.  
  134.                   VertexShader      = VSH1
  135.  
  136.                   X_ZBUFFERWRITEENABLE       true
  137.  
  138.                   X_SHADEMODE       kShadeModeSmooth
  139.  
  140.                   X_CULLFACE        kCullModeBack
  141.  
  142.                   X_LIGHTINGENABLE  false
  143.                                     false
  144.                                     false
  145.                                     kNormalizeNever
  146.                                     1.0  1.0  1.0  1.0
  147.  
  148.                   X_BLENDMODEGL     kBlendFactorZero
  149.                                     kBlendFactorSrcAlpha
  150.  
  151.                   X_OGLTEXTURESTAGE true
  152.                                     1
  153.                                     0
  154.                                     1.0
  155.                                     kAddressModeRepeat
  156.                                     kAddressModeRepeat
  157.          
  158.                                     kFilterModeLinear
  159.                                     kFilterModeLinear
  160.                                     kFilterModeNone
  161.  
  162.                                     <TLGT>
  163.  
  164.                                     kOglBlendReplace
  165.                                     0.0  0.0  0.0  1.0
  166.          end pas1
  167. end ps2t
  168.  
  169. /* --------------- Techniques ----------------------------------------- */
  170.  
  171. / normal-skinned techniques /
  172.  
  173. technique tec0 LODValid 1
  174.         UseStream MESH
  175.         UseStream HALF
  176.         UseStream MESN
  177.  
  178.         pass pas0
  179.  
  180.                 SetParameter TOON SKND
  181.                 SetParameter SKIN VXNR
  182.  
  183.                 VertexShader    = VSH0
  184.  
  185.                 X_DEPTHTEST             true
  186.                                         kCompareFunctionLess
  187.                                         0.0
  188.                                         1.0
  189.  
  190.                 X_FILLMODE              kFillModeSolid
  191.  
  192.                 X_ZBUFFERWRITEENABLE    true
  193.  
  194.                 X_SHADEMODE             kShadeModeSmooth
  195.  
  196.                 X_CULLFACE              kCullModeBack
  197.  
  198.                 X_LIGHTINGENABLE        false
  199.                                         false
  200.                                         false
  201.                                         kNormalizeNever
  202.                                         1.0  1.0  1.0  1.0
  203.  
  204.                 X_BLENDMODEGL           kBlendFactorOne
  205.                                         kBlendFactorZero
  206.  
  207.                 X_OGLTEXTURESTAGE       true
  208.                                         0
  209.                                         0
  210.                                         1.0
  211.                                         kAddressModeRepeat
  212.                                         kAddressModeRepeat
  213.  
  214.                                         kFilterModeLinear
  215.                                         kFilterModeLinear
  216.                                         kFilterModeNone
  217.  
  218.                                         <DIFF>
  219.  
  220.                                         kOglBlendReplace
  221.                                         0.0  0.0  0.0  1.0
  222.                                 
  223.         end pas0
  224.  
  225.         pass pas1
  226.  
  227.                 SetParameter TOON NULL
  228.                 SetParameter SKIN NULL
  229.  
  230.                 VertexShader    = VSH1
  231.  
  232.                 X_DEPTHTEST     true
  233.                                 kCompareFunctionLessEqual
  234.                                 0.0
  235.                                 1.0
  236.  
  237.                 X_ZBUFFERWRITEENABLE    true
  238.  
  239.                 X_SHADEMODE             kShadeModeSmooth
  240.  
  241.                 X_CULLFACE              kCullModeBack
  242.  
  243.                 X_LIGHTINGENABLE        false
  244.                                         false
  245.                                         false
  246.                                         kNormalizeNever
  247.                                         1.0  1.0  1.0  1.0
  248.  
  249.                 X_BLENDMODEGL           kBlendFactorDestColor
  250.                                         kBlendFactorZero
  251.  
  252.                 X_OGLTEXTURESTAGE       true
  253.                                         1
  254.                                         0
  255.                                         1.0
  256.                                         kAddressModeRepeat
  257.                                         kAddressModeRepeat
  258.         
  259.                                         kFilterModeLinear
  260.                                         kFilterModeLinear
  261.                                         kFilterModeNone
  262.  
  263.                                         <TLGT>
  264.  
  265.                                         kOglBlendReplace
  266.                                         0.0  0.0  0.0  1.0
  267.                                 
  268.         end pas1
  269.  
  270.  
  271. end tec0
  272.  
  273.  
  274. technique tec1 LODValid 0
  275.  
  276.         UseStream MESH
  277.         UseStream HALF
  278.         UseStream MESN
  279.  
  280.         pass pas0
  281.  
  282.                 SetParameter TOON SKND
  283.                 SetParameter SKIN VXNR
  284.  
  285.                 VertexShader    = VSH0
  286.  
  287.                 X_DEPTHTEST             true
  288.                                         kCompareFunctionLess
  289.                                         0.0
  290.                                         1.0
  291.  
  292.                 X_FILLMODE              kFillModeSolid
  293.  
  294.                 X_ZBUFFERWRITEENABLE    true
  295.  
  296.                 X_SHADEMODE             kShadeModeSmooth
  297.  
  298.                 X_CULLFACE              kCullModeBack
  299.  
  300.                 X_LIGHTINGENABLE        false
  301.                                         false
  302.                                         false
  303.                                         kNormalizeNever
  304.                                         0.0  0.0  0.0  1.0
  305.  
  306.                 X_BLENDMODEGL           kBlendFactorOne
  307.                                         kBlendFactorZero
  308.  
  309.                 X_TEXTURESTAGE          true
  310.                                         0
  311.                                         0
  312.                                         1.0
  313.                                         kAddressModeRepeat
  314.                                         kAddressModeRepeat
  315.  
  316.                                         kFilterModeLinear
  317.                                         kFilterModeLinear
  318.                                         kFilterModeNone
  319.  
  320.                                     <DIFF>
  321.         end pas0
  322.  
  323.         pass pas1
  324.                 SetParameter TOON NULL
  325.                 SetParameter SKIN NULL
  326.  
  327.                 VertexShader    = VSH1
  328.  
  329.                 X_DEPTHTEST             true
  330.                                         kCompareFunctionLessEqual
  331.                                         0.0
  332.                                         1.0
  333.  
  334.                 X_ZBUFFERWRITEENABLE    true
  335.  
  336.                 X_SHADEMODE             kShadeModeSmooth
  337.  
  338.                 X_CULLFACE              kCullModeBack
  339.  
  340.                 X_LIGHTINGENABLE        false
  341.                                         false
  342.                                         false
  343.                                         kNormalizeNever
  344.                                         0.0  0.0  0.0  1.0
  345.  
  346.                 X_BLENDMODEGL           kBlendFactorDestColor
  347.                                         kBlendFactorZero
  348.  
  349.                 X_TEXTURESTAGE          true
  350.                                         1
  351.                                         0
  352.                                         1.0
  353.                                         kAddressModeRepeat
  354.                                         kAddressModeRepeat
  355.  
  356.                                         kFilterModeLinear
  357.                                         kFilterModeLinear
  358.                                         kFilterModeNone
  359.  
  360.                                         <TLGT>
  361.         end pas1
  362. end tec1
  363.  
  364. / non normal-skinned techniques /
  365.  
  366. technique tec2 LODValid 0
  367.         UseStream MESH
  368.         UseStream MESN
  369.  
  370.         pass pas0
  371.  
  372.                 SetParameter TOON TRUE
  373.                 SetParameter SKIN VRTX
  374.  
  375.                 VertexShader    = VSH0
  376.  
  377.                 X_DEPTHTEST             true
  378.                                         kCompareFunctionLess
  379.                                         0.0
  380.                                         1.0
  381.  
  382.                 X_FILLMODE              kFillModeSolid
  383.  
  384.                 X_ZBUFFERWRITEENABLE    true
  385.  
  386.                 X_SHADEMODE             kShadeModeSmooth
  387.  
  388.                 X_CULLFACE              kCullModeBack
  389.  
  390.                 X_LIGHTINGENABLE        false
  391.                                         false
  392.                                         false
  393.                                         kNormalizeNever
  394.                                         1.0  1.0  1.0  1.0
  395.  
  396.                 X_BLENDMODEGL           kBlendFactorOne
  397.                                         kBlendFactorZero
  398.  
  399.                 X_OGLTEXTURESTAGE       true
  400.                                         0
  401.                                         0
  402.                                         1.0
  403.                                         kAddressModeRepeat
  404.                                         kAddressModeRepeat
  405.  
  406.                                         kFilterModeLinear
  407.                                         kFilterModeLinear
  408.                                         kFilterModeNone
  409.  
  410.                                         <DIFF>
  411.  
  412.                                         kOglBlendReplace
  413.                                         0.0  0.0  0.0  1.0
  414.         end pas0
  415.  
  416.         pass pas1
  417.  
  418.                 SetParameter TOON NULL
  419.                 SetParameter SKIN NULL
  420.  
  421.                 VertexShader    = VSH1
  422.  
  423.                 X_DEPTHTEST             true
  424.                                         kCompareFunctionLessEqual
  425.                                         0.0
  426.                                         1.0
  427.  
  428.                 X_ZBUFFERWRITEENABLE    true
  429.  
  430.                 X_SHADEMODE             kShadeModeSmooth
  431.  
  432.                 X_CULLFACE              kCullModeBack
  433.  
  434.                 X_LIGHTINGENABLE        false
  435.                                         false
  436.                                         false
  437.                                         kNormalizeNever
  438.                                         1.0  1.0  1.0  1.0
  439.  
  440.                 X_BLENDMODEGL           kBlendFactorDestColor
  441.                                         kBlendFactorZero
  442.  
  443.                 X_OGLTEXTURESTAGE       true
  444.                                         1
  445.                                         0
  446.                                         1.0
  447.                                         kAddressModeRepeat
  448.                                         kAddressModeRepeat
  449.         
  450.                                         kFilterModeLinear
  451.                                         kFilterModeLinear
  452.                                         kFilterModeNone
  453.  
  454.                                         <TLGT>
  455.  
  456.                                         kOglBlendReplace
  457.                                         0.0  0.0  0.0  1.0
  458.                                 
  459.         end pas1
  460.  
  461.  
  462. end tec2
  463.  
  464.  
  465. technique tec3 LODValid 0
  466.  
  467.         UseStream MESH
  468.         UseStream MESN
  469.  
  470.         pass pas0
  471.  
  472.                 SetParameter TOON TRUE
  473.                 SetParameter SKIN VRTX
  474.  
  475.                 VertexShader    = VSH0
  476.  
  477.                 X_DEPTHTEST             true
  478.                                         kCompareFunctionLess
  479.                                         0.0
  480.                                         1.0
  481.  
  482.                 X_FILLMODE              kFillModeSolid
  483.  
  484.                 X_ZBUFFERWRITEENABLE    true
  485.  
  486.                 X_SHADEMODE             kShadeModeSmooth
  487.  
  488.                 X_CULLFACE              kCullModeBack
  489.  
  490.                 X_LIGHTINGENABLE        false
  491.                                         false
  492.                                         false
  493.                                         kNormalizeNever
  494.                                         0.0  0.0  0.0  1.0
  495.  
  496.                 X_BLENDMODEGL           kBlendFactorOne
  497.                                         kBlendFactorZero
  498.  
  499.                 X_TEXTURESTAGE          true
  500.                                         0
  501.                                         0
  502.                                         1.0
  503.                                         kAddressModeRepeat
  504.                                         kAddressModeRepeat
  505.  
  506.                                         kFilterModeLinear
  507.                                         kFilterModeLinear
  508.                                         kFilterModeNone
  509.  
  510.                                         <DIFF>
  511.         end pas0
  512.  
  513.         pass pas1
  514.  
  515.                 SetParameter TOON NULL
  516.                 SetParameter SKIN NULL
  517.  
  518.                 VertexShader    = VSH1
  519.  
  520.                 X_DEPTHTEST             true
  521.                                         kCompareFunctionLessEqual
  522.                                         0.0
  523.                                         1.0
  524.  
  525.                 X_ZBUFFERWRITEENABLE    true
  526.  
  527.                 X_SHADEMODE             kShadeModeSmooth
  528.  
  529.                 X_CULLFACE              kCullModeBack
  530.  
  531.                 X_LIGHTINGENABLE        false
  532.                                         false
  533.                                         false
  534.                                         kNormalizeNever
  535.                                         0.0  0.0  0.0  1.0
  536.  
  537.                 X_BLENDMODEGL           kBlendFactorDestColor
  538.                                         kBlendFactorZero
  539.  
  540.                 X_TEXTURESTAGE          true
  541.                                         1
  542.                                         0
  543.                                         1.0
  544.                                         kAddressModeRepeat
  545.                                         kAddressModeRepeat
  546.  
  547.                                         kFilterModeLinear
  548.                                         kFilterModeLinear
  549.                                         kFilterModeNone
  550.  
  551.                                         <TLGT>
  552.         end pas1
  553. end tec3
  554.  
  555. endfile