首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DirectXTK中将位图渲染为SpriteBatch

在DirectXTK中将位图渲染为SpriteBatch
EN

Stack Overflow用户
提问于 2013-03-05 22:20:33
回答 2查看 569关注 0票数 0

我需要将一些C++应用程序移植到Windows phone8(它已经在安卓、iOS、WinCE和Win32上)。目前我需要解决如何显示图形。我可以从核心应用程序中获得渲染的位图,并且在成功初始化DirectXTK之后,我能够渲染一些DDS纹理(DirectXTK::SpriteBatch)。现在我需要将我的位图转换为纹理,然后渲染它。你能帮我解决这个问题吗?或者,有没有什么方法可以直接把位图放到后台缓冲区中,并在没有SpriteBatch的情况下显示出来?

非常感谢

托马斯

EN

回答 2

Stack Overflow用户

发布于 2013-03-27 04:41:00

DirectX工具包有WICTextureLoader。在加载.bmp(位图)文件时,可以使用它代替DDSTextureLoader。希望这对你有所帮助!

http://directxtk.codeplex.com/wikipage?title=WICTextureLoader&referringTitle=DirectXTK

票数 0
EN

Stack Overflow用户

发布于 2014-01-30 22:29:10

由于Windows phone8不支持WICTextureLoader,因此将位图渲染到纹理的唯一方法是将纹理映射到CPU,然后将位图资源复制到映射的纹理资源上。

ID3D11DeviceContext::Map() http://msdn.microsoft.com/en-us/library/windows/desktop/ff476457(v=vs.85).aspx

代码语言:javascript
复制
D3D11_MAPPED_SUBRESOURCE mappedBuffer;
HRESULT hr = pContext->Map(pTexture, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedBuffer);

if(hr == S_OK)
{
    // copy your bitmap onto mappedBuffer.pData
    ...

    pContext->Unmap(pTex, 0);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15226154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档