Esempio n. 1
0
    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);
    }