- Home /
Graphics/RenderTexture Alpha Brush
I'm creating a minigame in which the user clears an area to uncover stuff underneath. I was using a texture and nested loops to modify the alpha value of each pixel, but that method was far too slow. I decided to try Graphics and RenderTextures, but I have no experience with them. I copied this code from another question's answer, but it doesn't do exactly what I want.
 void AddToStencil(Texture2D stencil, Texture2D brush, Vector2 brushPosition, int brushSizePixels)
     {
         //Create temporary render texture
         int width = stencil.width;
         int height = stencil.height;
         RenderTexture rt = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.ARGB32);
         //Copy existing stencil to render texture (blit sets the active RenderTexture)
         Graphics.Blit(stencil, rt);
 
         //Apply brush
         RenderTexture.active = rt;
         float bs2 = brushSizePixels / 2f;
         Graphics.DrawTexture(new Rect(brushPosition.x - bs2, brushPosition.y - bs2, brushSizePixels, brushSizePixels), brush);
         //Read texture back to stencil
         stencil.ReadPixels(new Rect(0, 0, width, height), 0, 0, true);
         stencil.Apply();
         RenderTexture.active = null;
         rt.Release();
     }
I have an Alpha 8 texture that is used as the brush, and an RGBA sand texture used as the target. It partially works, in that the centre of the brush makes the target texture transparent, but it doesn't blend at all and just makes the rest of the area solid black. How do I have just the subtraction of alpha and none of the addition?
Your answer
 
 
             Follow this Question
Related Questions
The alpha value in the RenderTexture are not the same in Editor mode and Build mode. 2 Answers
How can i set transparent pixels on a RenderTexture? 1 Answer
Render a camera multiple times in a single frame? 1 Answer
Graphics.DrawTexture() not displaying in HDRP 0 Answers
Depth sorting objects with #pragma alpha in Surface Shader 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                