DirectX
JS_MoonWave
这个作者很懒,什么都没留下…
展开
-
CPU GPU DirectX
CPU GPU DirectX作为DirectX与不同的硬件显卡交流的中间件DXGI(directx graphic interface)作为DirectX与不同的硬件显卡交流的中间件DXGI(directx graphic interface)画面撕裂的形成原因,以及对应解决方案:前后置缓冲。当然三缓冲也是可以的图片来源:http://www.directxtutorial.c...原创 2019-08-12 16:07:13 · 275 阅读 · 0 评论 -
DirectX初始化到VS2017生成的windows桌面应用程序
主要是教程中初始化窗口的代码千篇一律,不想copy就自动生成项目了,生成代码和教程代码差不多,略有不同。com组件:1、一个com组件是由一个或者一系列的类通过暴露来的接口控制的。2、有自己的id3、都有Release()方法释放内存4、一般以I开头需要引入的头文件:<d3d11.h> 核心头文件<d3dx11.h> 扩展头文件<d3dx10.h&g...原创 2019-08-12 21:13:51 · 587 阅读 · 0 评论 -
Unity中的static模型的D3D原理
原理:D3D中的DefaultHeap(D3D12_HEAP_TYPE_DEFAULT)只允许GPU从中读取数据,CPU是不可以访问的。将顶点buffer写入到DefaultHeap可以提高性能。CPU是不可以访问DefaultHeap的,所以要将顶点buffer写入到DefaultHeap还需要一个中转(D3D12_HEAP_TYPE_UPLOAD)。代码实现:Microsoft::WRL...原创 2019-09-03 09:54:10 · 446 阅读 · 0 评论 -
d3d 中的vertex shader
也算是对U3D的shader Lab做一个什么了解。1、语义(semantics):分为系统语义,和自定义语义。系统语义SV_开头。自定义语义从语法上讲随意。2、如果没有eometry shader,则必须在vertex shader中完成顶点的转换(clip space)。如果有geometry shader的话,则可以延迟到geometry shader。注意透视除法不在在这两个阶段中。...原创 2019-09-04 20:24:51 · 466 阅读 · 0 评论 -
D3D中的Pixel Shader(Fragment Shader in Unity)
作用:处理三角形内部的像素。(Vertex Shader是处理顶点的)顶点数据从App流向Vertex Shader,如果有Geometry Shader则经过Geometry Shader,然后流向Pixel Shader。如图:1、经过Pixel Shader处理的像素,不一定会写入到BackBuffer里。可以调用Clip方法丢弃。也可能会在模板测试深度测试里面被丢弃。2、通过Ear...原创 2019-09-04 20:45:07 · 496 阅读 · 0 评论 -
Constant Buffers
1、相对于顶点和索引,Constant Buffers更新平凡。所以我们将之创建在UploadHeap上而非Default Heap上。2、Constant Buffer的大小,必须是256byte的整数。这是取决于硬件的。内存分配大小计算方法。假设: byteSize = 300.// (300 + 255) & ˜255// 555 & ˜255// 0x022B ...原创 2019-09-04 21:48:12 · 258 阅读 · 0 评论