Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
GamebabyRockSun_QQ
GRSD3D12Sample
提交
538af4ce
G
GRSD3D12Sample
项目概览
GamebabyRockSun_QQ
/
GRSD3D12Sample
大约 1 年 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
1
Wiki
分析
仓库
DevOps
项目成员
Pages
G
GRSD3D12Sample
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
1
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
538af4ce
编写于
6月 02, 2021
作者:
GamebabyRockSun_QQ
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
把截图换成jpg格式的试试
上级
cc83ff56
变更
16
显示空白变更内容
内联
并排
Showing
16 changed file
with
15 addition
and
15 deletion
+15
-15
README.md
README.md
+15
-15
ScreenShot/image-20191212130745840.jpg
ScreenShot/image-20191212130745840.jpg
+0
-0
ScreenShot/image-20191212131202059.jpg
ScreenShot/image-20191212131202059.jpg
+0
-0
ScreenShot/image-20191212143219661.jpg
ScreenShot/image-20191212143219661.jpg
+0
-0
ScreenShot/image-20191212144339456.jpg
ScreenShot/image-20191212144339456.jpg
+0
-0
ScreenShot/image-20191212144604816.jpg
ScreenShot/image-20191212144604816.jpg
+0
-0
ScreenShot/image-20191212144926221.jpg
ScreenShot/image-20191212144926221.jpg
+0
-0
ScreenShot/image-20191212164234428.jpg
ScreenShot/image-20191212164234428.jpg
+0
-0
ScreenShot/image-20191212164530404.jpg
ScreenShot/image-20191212164530404.jpg
+0
-0
ScreenShot/image-20191212164743263.jpg
ScreenShot/image-20191212164743263.jpg
+0
-0
ScreenShot/image-20191212165443030.jpg
ScreenShot/image-20191212165443030.jpg
+0
-0
ScreenShot/image-20191212165524944.jpg
ScreenShot/image-20191212165524944.jpg
+0
-0
ScreenShot/image-20191212180600560.jpg
ScreenShot/image-20191212180600560.jpg
+0
-0
ScreenShot/image-20191213145910521.jpg
ScreenShot/image-20191213145910521.jpg
+0
-0
ScreenShot/image-20191213150308181.jpg
ScreenShot/image-20191213150308181.jpg
+0
-0
ScreenShot/image-20210602175020698.jpg
ScreenShot/image-20210602175020698.jpg
+0
-0
未找到文件。
README.md
浏览文件 @
538af4ce
...
@@ -12,81 +12,81 @@
...
@@ -12,81 +12,81 @@
  
这个例子相当于Hello World,只是简单的绘制一个三角形出来;
  
这个例子相当于Hello World,只是简单的绘制一个三角形出来;
![
1
](
ScreenShot/image-20191212130745840.
pn
g
)
![
1
](
ScreenShot/image-20191212130745840.
jp
g
)
# 2、2-D3D12WICTexture
# 2、2-D3D12WICTexture
  
这个例子演示如何使用WIC加载一个图片纹理,重点在于搞明白D3D12中的纹理加载的过程,理解“两次Copy”操作的基本过程(请注意代码中的注释说明),这是理解D3D12资源加载的基础。
  
这个例子演示如何使用WIC加载一个图片纹理,重点在于搞明白D3D12中的纹理加载的过程,理解“两次Copy”操作的基本过程(请注意代码中的注释说明),这是理解D3D12资源加载的基础。
![
2
](
ScreenShot/image-20191212131202059.
pn
g
)
![
2
](
ScreenShot/image-20191212131202059.
jp
g
)
# 3、3-PlacedTexture
# 3、3-PlacedTexture
  
这个示例效果上与第二个示例一样,该示例中主要展示的是使用D3D12中的Placed(定位方式)的Texture,重点在于自建显存堆/共享内存堆的创建和使用上。
  
这个示例效果上与第二个示例一样,该示例中主要展示的是使用D3D12中的Placed(定位方式)的Texture,重点在于自建显存堆/共享内存堆的创建和使用上。
![
image-20191212143219661
](
ScreenShot/image-20191212143219661.
pn
g
)
![
image-20191212143219661
](
ScreenShot/image-20191212143219661.
jp
g
)
# 4、4-D3D12TextureCube
# 4、4-D3D12TextureCube
  
这个例子主要展示DirectXMath库基本操作方法、使用独立堆创建常量缓冲、理解管线状态对象、理解围栏同步等内容,并且开始绘制一个真正的3D立方体。
  
这个例子主要展示DirectXMath库基本操作方法、使用独立堆创建常量缓冲、理解管线状态对象、理解围栏同步等内容,并且开始绘制一个真正的3D立方体。
![
image-20191212144339456
](
ScreenShot/image-20191212144339456.
pn
g
)
![
image-20191212144339456
](
ScreenShot/image-20191212144339456.
jp
g
)
# 5、5-SkyBox
# 5、5-SkyBox
  
这个例子主要让大家学会使用和理解捆绑包,并且开始学会加载并使用DDS Cube Map。
  
这个例子主要让大家学会使用和理解捆绑包,并且开始学会加载并使用DDS Cube Map。
![
image-20191212144604816
](
ScreenShot/image-20191212144604816.
pn
g
)
![
image-20191212144604816
](
ScreenShot/image-20191212144604816.
jp
g
)
# 6、6-MultiThread
# 6、6-MultiThread
  
这个示例是比较重要的一个例子,展示了如何进行多线程渲染,本质上就是使用多个线程和多个CommandList来记录渲染命令。这个例子只是简单的搭起了一个多线程渲染的基本框架而已,这种简单性的目的就是方便大家彻底掌握多线程渲染。
  
这个示例是比较重要的一个例子,展示了如何进行多线程渲染,本质上就是使用多个线程和多个CommandList来记录渲染命令。这个例子只是简单的搭起了一个多线程渲染的基本框架而已,这种简单性的目的就是方便大家彻底掌握多线程渲染。
![
image-20191212144926221
](
ScreenShot/image-20191212144926221.
pn
g
)
![
image-20191212144926221
](
ScreenShot/image-20191212144926221.
jp
g
)
# 7、7-D3D12MultiAdapter
# 7、7-D3D12MultiAdapter
  
这个示例主要展示如何充分利用系统中的多个显卡来进行渲染,主要是演示异构多显卡渲染,比较典型的可以应用于有独显及核显的笔记本系统,这样的系统比较常见。核心就是跨显卡共享纹理,不能共享纹理,最差也能够共享缓冲Buffer,这是D3D12的基本要求。
  
这个示例主要展示如何充分利用系统中的多个显卡来进行渲染,主要是演示异构多显卡渲染,比较典型的可以应用于有独显及核显的笔记本系统,这样的系统比较常见。核心就是跨显卡共享纹理,不能共享纹理,最差也能够共享缓冲Buffer,这是D3D12的基本要求。
![
image-20191212164234428
](
ScreenShot/image-20191212164234428.
pn
g
)
![
image-20191212164234428
](
ScreenShot/image-20191212164234428.
jp
g
)
# 8、8-UIRenderBase
# 8、8-UIRenderBase
  
这个示例主要演示了基本的UI渲染图片的正交投影变换矩阵的生成,图片的Alpha Blend 显示,以及基本的划线操作等。
  
这个示例主要演示了基本的UI渲染图片的正交投影变换矩阵的生成,图片的Alpha Blend 显示,以及基本的划线操作等。
![
image-20191212164530404
](
ScreenShot/image-20191212164530404.
pn
g
)
![
image-20191212164530404
](
ScreenShot/image-20191212164530404.
jp
g
)
# 9、9-D3D12RenderToTexture
# 9、9-D3D12RenderToTexture
  
这个示例主要展示在D3D12中如何渲染到纹理。渲染到纹理是很重要的一个方法,是很多渲染特效需要的基本功能。
  
这个示例主要展示在D3D12中如何渲染到纹理。渲染到纹理是很重要的一个方法,是很多渲染特效需要的基本功能。
![
image-20191212164743263
](
ScreenShot/image-20191212164743263.
pn
g
)
![
image-20191212164743263
](
ScreenShot/image-20191212164743263.
jp
g
)
# 10、10-PixelShaderTips
# 10、10-PixelShaderTips
  
这个示例主要演示了一些很古老的仿照Photoshop中的滤镜效果的Pixel Shader在D3D12中的实现。其中的方法都还没有优化,只是做到了将公式直接翻译成Shader的工作。
  
这个示例主要演示了一些很古老的仿照Photoshop中的滤镜效果的Pixel Shader在D3D12中的实现。其中的方法都还没有优化,只是做到了将公式直接翻译成Shader的工作。
![
image-20191212165443030
](
ScreenShot/image-20191212165443030.
pn
g
)
![
image-20191212165443030
](
ScreenShot/image-20191212165443030.
jp
g
)
![
image-20191212165524944
](
ScreenShot/image-20191212165524944.
pn
g
)
![
image-20191212165524944
](
ScreenShot/image-20191212165524944.
jp
g
)
# 11、11-MultiThreadAndAdapter
# 11、11-MultiThreadAndAdapter
  
这个示例主要为了在前一个例子基础上正确实现水彩画效果,需要后渲染的高斯模糊处理,同时该示例主要展示了多线程+多显卡渲染的基本方法,并且将高斯模糊后处理主要丢到了辅助显卡上去执行。同时该示例中的高斯模糊就是经典的两遍渲染来实现了,效率上比前一个例子中的“九宫格”方式的实现高了近50%,GPU占用从40%-50%降到了20%左右。
  
这个示例主要为了在前一个例子基础上正确实现水彩画效果,需要后渲染的高斯模糊处理,同时该示例主要展示了多线程+多显卡渲染的基本方法,并且将高斯模糊后处理主要丢到了辅助显卡上去执行。同时该示例中的高斯模糊就是经典的两遍渲染来实现了,效率上比前一个例子中的“九宫格”方式的实现高了近50%,GPU占用从40%-50%降到了20%左右。
![
image-20191212180600560
](
ScreenShot/image-20191212180600560.
pn
g
)
![
image-20191212180600560
](
ScreenShot/image-20191212180600560.
jp
g
)
# 12、12-D2DWriteOnD3D12
# 12、12-D2DWriteOnD3D12
  
这个示例主要展示在多线程多显卡渲染架构的基础上再融入D2D和DWrite,这样方便显示一些文字信息,为性能考虑有意将D2D和DWrite放在了辅助显卡(一般是核显)上来执行,这样主显卡就专心去做渲染的工作。
  
这个示例主要展示在多线程多显卡渲染架构的基础上再融入D2D和DWrite,这样方便显示一些文字信息,为性能考虑有意将D2D和DWrite放在了辅助显卡(一般是核显)上来执行,这样主显卡就专心去做渲染的工作。
![
image-20191213145910521
](
ScreenShot/image-20191213145910521.
pn
g
)
![
image-20191213145910521
](
ScreenShot/image-20191213145910521.
jp
g
)
# 13、13-ShowGIFAndResourceStatus
# 13、13-ShowGIFAndResourceStatus
  
这个示例主要展示如何使用WIC加载GIF动画图片,同时当做纹理来显示。GIF动画的处理主要使用到了Direct Computer作为预处理管线。重点就是展示使用Direct Computer来做纹理图片的预处理的技术,这是一个很重要的基本技巧。这个例子由将基本框架回复到了单线程单显卡渲染的基础上。重点是演示现代显卡的多引擎架构,即有3D引擎、计算引擎,可以同时创建多个分别代表这些引擎的命令队列,并演示了多个引擎间同步的方法。
  
这个示例主要展示如何使用WIC加载GIF动画图片,同时当做纹理来显示。GIF动画的处理主要使用到了Direct Computer作为预处理管线。重点就是展示使用Direct Computer来做纹理图片的预处理的技术,这是一个很重要的基本技巧。这个例子由将基本框架回复到了单线程单显卡渲染的基础上。重点是演示现代显卡的多引擎架构,即有3D引擎、计算引擎,可以同时创建多个分别代表这些引擎的命令队列,并演示了多个引擎间同步的方法。
![
image-20191213150308181
](
ScreenShot/image-20191213150308181.
pn
g
)
![
image-20191213150308181
](
ScreenShot/image-20191213150308181.
jp
g
)
# 14、14-MultiThreadShadow
# 14、14-MultiThreadShadow
...
@@ -96,4 +96,4 @@
...
@@ -96,4 +96,4 @@
  
该示例是一个纯的只使用了命令行的用于演示“3个内核同步对象实现渲染线程池/大规模线程池”的例子代码,为了大家能够掌握这种专门的用于渲染线程池的框架原理,这个示例中把所有真实的D3D12渲染的代码都删除掉了,只是保留了简单的命令行输出提示,代表插入真实渲染代码的位置。运行后的效果如下:
  
该示例是一个纯的只使用了命令行的用于演示“3个内核同步对象实现渲染线程池/大规模线程池”的例子代码,为了大家能够掌握这种专门的用于渲染线程池的框架原理,这个示例中把所有真实的D3D12渲染的代码都删除掉了,只是保留了简单的命令行输出提示,代表插入真实渲染代码的位置。运行后的效果如下:
![
image-20210602175020698
](
ScreenShot/image-20210602175020698.
pn
g
)
![
image-20210602175020698
](
ScreenShot/image-20210602175020698.
jp
g
)
ScreenShot/image-20191212130745840.
pn
g
→
ScreenShot/image-20191212130745840.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212131202059.
pn
g
→
ScreenShot/image-20191212131202059.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212143219661.
pn
g
→
ScreenShot/image-20191212143219661.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212144339456.
pn
g
→
ScreenShot/image-20191212144339456.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212144604816.
pn
g
→
ScreenShot/image-20191212144604816.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212144926221.
pn
g
→
ScreenShot/image-20191212144926221.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212164234428.
pn
g
→
ScreenShot/image-20191212164234428.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212164530404.
pn
g
→
ScreenShot/image-20191212164530404.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212164743263.
pn
g
→
ScreenShot/image-20191212164743263.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212165443030.
pn
g
→
ScreenShot/image-20191212165443030.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212165524944.
pn
g
→
ScreenShot/image-20191212165524944.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191212180600560.
pn
g
→
ScreenShot/image-20191212180600560.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191213145910521.
pn
g
→
ScreenShot/image-20191213145910521.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20191213150308181.
pn
g
→
ScreenShot/image-20191213150308181.
jp
g
浏览文件 @
538af4ce
文件已移动
ScreenShot/image-20210602175020698.
pn
g
→
ScreenShot/image-20210602175020698.
jp
g
浏览文件 @
538af4ce
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录