我写了很多在 WPF 使用 SharpDx 渲染的博客,但是有小伙伴吐槽说这些博客没有一个方便阅读的顺序,于是我就整理了本文的内容,将涉及渲染的博客按照方便阅读的顺序在排列出来。本文的内容也包含更多 DirectX 相关知识和其他基础渲染库的博客

从控制台入门

使用 SharpDx 必然需要涉及很多底层的渲染知识,再加上 DirectX 相关的知识实在太多了,一旦开始入手就是面向复杂的大项目,那将很好被劝退。我希望大家在开始前,先看如何在 C# 用一个控制台创建一个 SharpDx 程序,降低入门难度。以下是系列博客

杂项知识

一些 SharpDx 杂项知识如下:

和 WPF 对接

其实 SharpDx 只是一个封装,在没有封装的时候可以直接使用 Direct2D1 在 WPF 画出界面

但是使用 Direct2D1 写起来很难写,实际使用过程中还是需要有一些封装,下面告诉大家如何在 WPF 使用 SharpDx 做界面

一些应用方法如下

Vortice 库

值得一说的是当前官方 SharpDx 不维护了,可以选择的代替请看 SharpDx 的代替项目

其中一个可代替 SharpDx 库的是 Vortice 库,以下是使用 Vortice 库的博客

在 4k 下的性能测试请看 WPF 模拟 WPFMediaKit 的 D3D 配置用来测试4k性能

如果有部分逻辑是通过其实平台渲染的,可以通过 SharedHandle 在不同的 Direct3D 设备之间共享资源,详细请看下面博客

在遇到界面不渲染时,可以保存渲染图片到本地查看,请看 将 Direct3D11 在 GPU 中的纹理(Texture2D)导出到内存(Map)或导出成图片文件 - walterlv

DirectComposition

为何使用 DirectComposition

Vortice 使用 DirectComposition 显示透明窗口

dotnet Vortice 无需交换链与 DirectComposition 对接渲染层

win10 uwp 渲染原理 DirectComposition 渲染

更多博客

更多请看 SharpDX 系列

我在 CSDN 创建 WPF 底层渲染 系列博客,欢迎大家访问

如果想了解渲染相关如 Win2d 和 WPF 渲染原理等请看 渲染相关

以下是我收藏的一些博客

有任何建议和吐槽都欢迎通过邮件联系我,或加入dotnet 职业技术学院 交流

注意dotnet 职业技术学院 是一个电报群,加群需要一些技术


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/WPF-%E4%BD%BF%E7%94%A8-SharpDx-%E6%B8%B2%E6%9F%93%E5%8D%9A%E5%AE%A2%E5%AF%BC%E8%88%AA.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

微软最具价值专家


无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号

欢迎进入 Eleven 老师组建的 .NET 社区

以上广告全是友情推广,无盈利