/// <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); }
/// <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); }