Advertisement
Guest User

Untitled

a guest
Oct 19th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.42 KB | None | 0 0
  1. texture texture0;
  2. texture texture1; //2 textúra element, dxSetShaderValue-el továbbítod a shadernek
  3.  
  4. sampler Tex0 = sampler_state
  5. {
  6.     Texture = <texture0>;
  7.     MinFilter = Linear;
  8.     MagFilter = Linear;
  9.     MipFilter = Linear;
  10.     AddressU = Wrap;
  11.     AddressV = Wrap;
  12. };
  13.  
  14. sampler Tex1 = sampler_state //Két textúra sampler, Ezek hozzák létre a textúra koordinátát (x, y) és a pixelek színeit
  15. {
  16.     Texture = <texture1>;
  17.     MinFilter = Linear;
  18.     MagFilter = Linear;
  19.     MipFilter = Linear;
  20.     AddressU = Wrap;
  21.     AddressV = Wrap;
  22. };
  23.  
  24. float4 PixelShaderFunction(float2 TextureCoordinate : TEXCOORD0) : COLOR0 //Pixel shader funkció, ami elvégzi az adott műveletet
  25. //TextureCoordinate változó szükséges, a kép műveletek miatt
  26. {  
  27.     float4 background = Tex2D(Tex0, TextureCoordinate); //létrehoz egy loopot ami az első textúrán fut át (pixel koordináták és színkódok)
  28.     float4 layer = Tex2D(Tex1, TextureCoordinate); //a második kép
  29.    
  30.     if (layer.a > 0) //ha a második kép alpha színe nagyobb mint 0
  31.     {
  32.         background.rgb = layer.rgb; //akkor a háttér megkapja a második kép színeit, az adott koordinátán.
  33.     }
  34.    
  35.     return background; //visszatér a módosított textúrával
  36. }
  37.  
  38. technique Blend
  39. {
  40.     pass Pass0
  41.     {
  42.         AlphaBlendEnable = TRUE; //alpha blend átlátszó képek esetén
  43.         PixelShader = compile ps_2_0 PixelShaderFunction(); //lefuttatja a shadert
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement