Exemplo n.º 1
0
    private void Update()
    {
        if (m_Device != null)
        {
            InitTargetTexture();
            m_Device.ClearColor      = m_ClearColor;
            m_Device.DisableDirtRect = DisableDirtRect;
            m_Device.IsFlip          = IsFlip;
            IRenderTargetNotify notify = null;
            if (m_IsShowRenderer)
            {
                notify = this;
            }

            m_Device.Update(Time.deltaTime, notify);
        }
    }
Exemplo n.º 2
0
        public void Update(float delta, IRenderTargetNotify notify)
        {
            // 排序CameraList列表
            SortCamList();

            // 1.先清理Target
            if (m_RenerTarget != null)
            {
                // 通过Camera接口处理了, 这里注释
                //    m_RenerTarget.Prepare();

                // 多摄像机渲染,根据摄影机深度排序后顺序渲染
                bool isRender = false;
                for (int i = 0; i < m_CamList.Count; ++i)
                {
                    var cam = m_CamList[i];
                    if (cam != null)
                    {
                        cam.Update(delta);
                    }
                    if (CameraRender(cam))
                    {
                        isRender = true;
                    }
                }

                if (!isRender)
                {
                    // Debug.LogError("NoRenderer");
                }

                if (m_IsFlip)
                {
                    m_RenerTarget.FlipToNotify(notify);
                }
            }
        }