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();
 }
Exemplo n.º 3
0
        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);
        }