コード例 #1
0
        /// <summary>
        /// ビューポートサイズのテクスチャーカメラを作成する
        /// </summary>
        /// <param name="name">カメラ名</param>
        /// <returns>通常、エラーが発生しなかった場合は MC_S_OK を返す。</returns>
        protected int CreateViewTextureCamera(string name)
        {
            int hr = 0;

            if (App.CameraMgr.GetCamera(name, out m_hTxCamera))
            {
                // 名前をつけて”カメラタイプ1”を作成しハンドルを取得する。
                var v = App.SwapChainDesc.ModeDescription;
                if (!MCTextureCamera.Create(App, name, v.Width, v.Height, out m_hTxCamera))
                {
                    return(-1);
                }
                MCTextureCamera hTmp = (MCTextureCamera)m_hTxCamera;
                if (hTmp is null)
                {
                    return(-1);
                }

                hTmp.SetCameraPosition(new MCVector2((v.Width * 0.5f), -(v.Height * 0.5f)));
            }
            SetCurrentBaseCamera(m_hTxCamera);
            return(hr);
        }
コード例 #2
0
        /// <summary>
        /// 指定した幅高さで、テクスチャーカメラを作成する
        /// </summary>
        /// <param name="name">カメラ名</param>
        /// <param name="w">幅、省略時1024</param>
        /// <param name="h">高さ、省略時1024</param>
        /// <returns>通常、エラーが発生しなかった場合は 0 を返す。</returns>
        protected int CreateTextureCamera(string name, int w = 1024, int h = 1024)
        {
            int hr = 0;

            if (!App.CameraMgr.GetCamera(name, out m_hTxCamera))
            {
                // 名前をつけて”カメラタイプ1”を作成しハンドルを取得する。
                if (!MCTextureCamera.Create(App, name, w, h, out m_hTxCamera))
                {
                    return(-1);
                }
                MCTextureCamera hTmp = (MCTextureCamera)m_hTxCamera;
                if (hTmp is null)
                {
                    return(-1);
                }

                var v = App.SwapChainDesc.ModeDescription;
                hTmp.SetCameraPosition(new MCVector2(v.Width / 2, -v.Height / 2));
            }
            SetCurrentBaseCamera(m_hTxCamera);
            return(hr);
        }