fragment_clouds.cg 651 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. struct fragmentIN
  2. {
  3. float4 HPosition : POSITION;
  4. float4 TexCoord : TEXCOORD0;
  5. };
  6. struct fragmentOUT
  7. {
  8. float4 Color : COLOR;
  9. };
  10. fragmentOUT main(
  11. fragmentIN IN,
  12. uniform sampler2D channel1,
  13. uniform sampler2D channel2,
  14. uniform float w1,
  15. uniform float w2,
  16. uniform float redoffset1,
  17. uniform float redoffset2
  18. )
  19. {
  20. fragmentOUT OUT;
  21. float2 tex = IN.TexCoord.xy;
  22. float4 col1, col2;
  23. col1 = f4tex2D(channel1, tex*32);
  24. col2 = f4tex2D(channel2, tex*32);
  25. col1.r = col1.r + redoffset1.r;
  26. col2.r = col2.r + redoffset2.r;
  27. OUT.Color.rgb = col1 * w1 + col2 * w2;
  28. OUT.Color.a = col1.a * w1 + col2.a * w2;
  29. return OUT;
  30. }