前提・実現したいこと
DirectX11でゲームを作成しています。
テクスチャの表示や音の再生等一通りの事は可能となり
データを1つにパッケージ化して必要部分を取り出す事も出来るようになったのですが
その取り出したデータを使ってテクスチャの画像を作成する方法が分かりません
該当のソースコード
所々端折ってはいますが { CoInitialize(NULL); IWICImagingFactory *pFactory = NULL; IWICBitmapDecoder *pDecoder = NULL; IWICBitmapFrameDecode* pFrame = NULL; CoCreateInstance(CLSID_WICImagingFactory, NULL, CLSCTX_INPROC_SERVER, IID_IWICImagingFactory, (LPVOID*)(&pFactory)); pFactory->CreateDecoderFromFilename(wname, NULL, GENERIC_READ, WICDecodeMetadataCacheOnDemand, &pDecoder);//ここで目的の画像ファイルを読み込んでいる pDecoder->GetFrame(0, &pFrame); pFactory->CreateFormatConverter(&m_pFormatConverter); m_pFormatConverter->Initialize(pFrame, GUID_WICPixelFormat32bppRGBA, WICBitmapDitherTypeNone, NULL, 1.0f, WICBitmapPaletteTypeMedianCut); m_pFormatConverter->GetSize(&m_nImgWidth, &m_nImgHeight); } { D3D11_TEXTURE2D_DESC texdec; texdec.Width = m_nImgWidth; texdec.Height = m_nImgHeight; texdec.MipLevels = 1; texdec.ArraySize = 1; texdec.Format = DXGI_FORMAT_R8G8B8A8_UNORM; texdec.SampleDesc.Count = 1; texdec.SampleDesc.Quality = 0; texdec.Usage = D3D11_USAGE_DYNAMIC; texdec.BindFlags = D3D11_BIND_SHADER_RESOURCE; texdec.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; texdec.MiscFlags = 0; dx3d11->getDevice()->CreateTexture2D(&texdec, NULL, &m_pTexture); } { D3D11_MAPPED_SUBRESOURCE hMappedres; dx3d11->getDeviceContext()->Map(m_pTexture, 0, D3D11_MAP_WRITE_DISCARD, 0, &hMappedres); m_pFormatConverter->CopyPixels(NULL, m_nImgWidth * 4, m_nImgWidth * m_nImgHeight * 4, (BYTE*)hMappedres.pData); dx3d11->getDeviceContext()->Unmap(m_pTexture, 0); } { D3D11_SHADER_RESOURCE_VIEW_DESC srv = {}; srv.Format = DXGI_FORMAT_R8G8B8A8_UNORM; srv.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; srv.Texture2D.MipLevels = 1; dx3d11->getDevice()->CreateShaderResourceView(m_pTexture, &srv, &m_pTextureSRV); } こちらの処理で一応画像の読み込みは出来て、正しく表示させることは出来ています。
試したこと
CreateDecoderFromFilename
ではなく
CreateDecoderFromStream
を使えばうまくいくのか?と思い試してみましたがどのような記述をすればよいのかが分かりませんでした。
CreateBitmapFromMemory
というものも見つけましたが、これもどのような記述をしていけばよいのかが分かりませんでした。
あなたの回答
tips
プレビュー