DirectX 11——入门到精通 一、前言

分享从DX9迁移到DX11的过程及挑战,特别是在UWP平台下的纹理渲染实现,通过微软WIC库解决跨平台问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        最近完成了一个UWP的DX 11项目,原本只做过DX 9的,本来以为DX 9到DX 11可以很轻松地移植原来的项目,然后一看官方的Sample,懵逼了,DX 11和DX 9使用了完全不同的接口和风格,取消了对固定管线的支持,尤其UWP平台下的框架,和WIN32的DXUT又是完全不同的两套东西,于是只好从头再来,自己看VS自带的UWP DX 11例子。然后发现一堆问题,自带的例子连包含纹理的渲染都没有,而UWP下不能使用DX自带的CreateTextureFromFile函数(保证通用性,在手机上运行的时候UWP应用能访问的资源很有限,除了系统的library目录,就只有自己的一个沙盒,所以不支持win32下的一些函数)。最后还是借助了微软官方在github上的WIC库才实现了UWP DX 11的纹理渲染。

        回头看看,自己对DX的掌握基本上都是依靠官方的Sample,好处是实现想要的功能非常快,坏处自然是基础不够牢固,出现问题的时候很难找到对应的解决方案,于是向公司申请了DX 11版的龙书,目前还没有中文版,于是准备边看边把心得记录下来,给想要入DX 11坑的游戏开发者同胞们一些参考。

P.S. DX最新的版本已经是DX 12了,微软又把DX 11的框架完全废弃,采用了新的框架,学习成本太大,暂时还没有深入了解,不过基础知识都是互通的。另,对UWP开发感兴趣的同学,由于没有什么比较好的书可以参考,我也不好意思在这里把自己的开发经验当作范本,所以本文不会涉及UWP下的DX 11开发,只讲win32平台下的,只能奉劝大家一句:UWP这个坑,千万不要轻易入,如果想入,请一定使用C#而不是C++。

不错的dx11入门教程 Tutorial 1: Setting up DirectX 11 with Visual Studio Tutorial 2: Creating a Framework and Window Tutorial 3: Initializing DirectX 11 Tutorial 4: Buffers, Shaders, and HLSL Tutorial 5: Texturing Tutorial 6: Diffuse Lighting Tutorial 7: 3D Model Rendering Tutorial 8: Loading Maya 2011 Models Tutorial 9: Ambient Lighting Tutorial 10: Specular Lighting Tutorial 11: 2D Rendering Tutorial 12: Font Engine Tutorial 13: Direct Input Tutorial 14: Direct Sound Tutorial 15: FPS, CPU Usage, and Timers Tutorial 16: Frustum Culling Tutorial 17: Multitexturing and Texture Arrays Tutorial 18: Light Maps Tutorial 19: Alpha Mapping Tutorial 20: Bump Mapping Tutorial 21: Specular Mapping Tutorial 22: Render to Texture Tutorial 23: Fog Tutorial 24: Clipping Planes Tutorial 25: Texture Translation Tutorial 26: Transparency Tutorial 27: Reflection Tutorial 28: Screen Fades Tutorial 29: Water Tutorial 30: Multiple Point Lights Tutorial 31: 3D Sound Tutorial 32: Glass and Ice Tutorial 33: Fire Tutorial 34: Billboarding Tutorial 35: Depth Buffer Tutorial 36: Blur Tutorial 37: Coming Soon... DirectX 10 Tutorials: Tutorial 1: Setting up DirectX 10 with Visual Studio Tutorial 2: Creating a Framework and Window Tutorial 3: Initializing DirectX 10 Tutorial 4: Buffers, Shaders, and HLSL Tutorial 5: Texturing Tutorial 6: Diffuse Lighting Tutorial 7: 3D Model Rendering Tutorial 8: Loading Maya 2011 Models Tutorial 9: Ambient Lighting Tutorial 10: Specular Lighting Tutorial 11: 2D Rendering Tutorial 12: Font Engine Tutorial 13: Direct Input Tutorial 14: Direct Sound Tutorial 15: FPS, CPU Usage, and Timers Tutorial 16: Frustum Culling Tutorial 17: Multitexturing and Texture Arrays Tutorial 18: Light Maps Tutorial 19: Alpha Mapping Tutorial 20: Bump Mapping Tutorial 21: Specular Mapping Tutorial 22: Render to Texture Tutorial 23: Fog Tutorial 24: Clipping Planes Tutorial 25: Texture Translation Tutorial 26: Transparency Tutorial 27: Reflection Tutorial 28: Screen Fades Tutorial 29: Water Tutorial 30: Multiple Point Lights Tutorial 31: 3D Sound Tutorial 32: Glass and Ice Tutorial 33: Fire Tutorial 34: Billboarding Tutorial 35: Depth Buffer Tutorial 36: Blur Tutorial 37: Coming Soon... DirectX 10 Terrain Tutorials: Tutorial 1: Grid and Camera Movement Tutorial 2: Height Maps Tutorial 3: Terrain Lighting Tutorial 4: Terrain Texturing Tutorial 5: Color Mapped Terrain Tutorial 6: Quad Trees Tutorial 7: Coming Soon... 。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值