public void SetValue(Vector4 value, Rect rect) { Graphics.Blit(this.READ, this.WRITE); setFloatValueMat.SetVector("_Value", value); RTUtility.Blit(this.READ, this.WRITE, setFloatValueMat, rect, 0, false); this.Swap(); }
public void ChangeValue(Vector4 value, Rect rect) { Graphics.Blit(this.READ, this.WRITE); // don't know why but need it changeValueMat.SetVector("_Value", value); RTUtility.Blit(this.READ, this.WRITE, changeValueMat, rect, 0, false); this.Swap(); }
private void ApplyFreeSlip(RenderTexture[] field) { float u = 1.0f / (float)TEX_SIZE; Vector2 offset; Graphics.Blit(field[READ], field[WRITE]); offset = new Vector2(u, 0.0f); m_applyFreeSlipMat.SetVector("_Offset", offset); RTUtility.Blit(field[READ], field[WRITE], m_applyFreeSlipMat, m_rectLeft, 0, false); offset = new Vector2(0.0f, u); m_applyFreeSlipMat.SetVector("_Offset", offset); RTUtility.Blit(field[READ], field[WRITE], m_applyFreeSlipMat, m_rectBottom, 0, false); offset = new Vector2(-u, 0.0f); m_applyFreeSlipMat.SetVector("_Offset", offset); RTUtility.Blit(field[READ], field[WRITE], m_applyFreeSlipMat, m_rectRight, 0, false); offset = new Vector2(0.0f, -u); m_applyFreeSlipMat.SetVector("_Offset", offset); RTUtility.Blit(field[READ], field[WRITE], m_applyFreeSlipMat, m_rectTop, 0, false); RTUtility.Swap(field); }