Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- texture texture0;
- texture texture1; //2 textúra element, dxSetShaderValue-el továbbítod a shadernek
- sampler Tex0 = sampler_state
- {
- Texture = <texture0>;
- MinFilter = Linear;
- MagFilter = Linear;
- MipFilter = Linear;
- AddressU = Wrap;
- AddressV = Wrap;
- };
- 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
- {
- Texture = <texture1>;
- MinFilter = Linear;
- MagFilter = Linear;
- MipFilter = Linear;
- AddressU = Wrap;
- AddressV = Wrap;
- };
- float4 PixelShaderFunction(float2 TextureCoordinate : TEXCOORD0) : COLOR0 //Pixel shader funkció, ami elvégzi az adott műveletet
- //TextureCoordinate változó szükséges, a kép műveletek miatt
- {
- 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)
- float4 layer = Tex2D(Tex1, TextureCoordinate); //a második kép
- if (layer.a > 0) //ha a második kép alpha színe nagyobb mint 0
- {
- background.rgb = layer.rgb; //akkor a háttér megkapja a második kép színeit, az adott koordinátán.
- }
- return background; //visszatér a módosított textúrával
- }
- technique Blend
- {
- pass Pass0
- {
- AlphaBlendEnable = TRUE; //alpha blend átlátszó képek esetén
- PixelShader = compile ps_2_0 PixelShaderFunction(); //lefuttatja a shadert
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement