mirror of
https://github.com/mixandjam/Splatoon-Ink.git
synced 2026-03-21 17:25:34 -05:00
45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
|
|
public class Paintable : MonoBehaviour {
|
|
const int TEXTURE_SIZE = 1024;
|
|
|
|
RenderTexture extendIslandsRenderTexture;
|
|
RenderTexture maskRenderTexture;
|
|
RenderTexture supportTexture;
|
|
|
|
Renderer rend;
|
|
|
|
int maskTextureID = Shader.PropertyToID("_MaskTexture");
|
|
|
|
public RenderTexture getMask() => maskRenderTexture;
|
|
public RenderTexture getExtend() => extendIslandsRenderTexture;
|
|
public RenderTexture getSupport() => supportTexture;
|
|
public Renderer getRenderer() => rend;
|
|
|
|
void Start() {
|
|
maskRenderTexture = new RenderTexture(TEXTURE_SIZE, TEXTURE_SIZE, 0);
|
|
|
|
extendIslandsRenderTexture = new RenderTexture(TEXTURE_SIZE, TEXTURE_SIZE, 0);
|
|
extendIslandsRenderTexture.filterMode = FilterMode.Bilinear;
|
|
|
|
supportTexture = new RenderTexture(TEXTURE_SIZE, TEXTURE_SIZE, 0);
|
|
supportTexture.filterMode = FilterMode.Bilinear;
|
|
|
|
rend = GetComponent<Renderer>();
|
|
rend.material.SetTexture(maskTextureID, extendIslandsRenderTexture);
|
|
|
|
CommandBuffer command = new CommandBuffer();
|
|
command.name = "CommandBuffer - " + gameObject.name;
|
|
command.SetRenderTarget(maskRenderTexture);
|
|
command.SetRenderTarget(extendIslandsRenderTexture);
|
|
command.SetRenderTarget(supportTexture);
|
|
Graphics.ExecuteCommandBuffer(command);
|
|
}
|
|
|
|
void OnDisable(){
|
|
maskRenderTexture.Release();
|
|
extendIslandsRenderTexture.Release();
|
|
supportTexture.Release();
|
|
}
|
|
} |