D3D11_USAGE使用
MSDN文档链接:http://msdn.microsoft.com/en-us/library/windows/desktop/ff476259(v=vs.85).aspx
不得不同吐槽一点的是,你看了MSDN一定是记不住,你只会在翻错误的时候然后去翻Remarks,或者结合Visual Studio的输出。什么你编写Direct3D程序不使用Visual Studio。我只能说你要吃蛮多苦头啦。
首先介绍非常好用的D3D11_USAGE_STAGING
首先,这个标志非常好用,在CPU和GPU之间拷贝资源用这个是妥妥的赞。注意这个标志适合用来拷贝资源,所以微软把他禁止进行图形管道版定,意思是你不能在描述资源的DESC中,设置BindFlags不能设置任何东西!就如这个图所提供的信息一样:
举个例子,比如你想在游戏里面截屏,你的RenderTarget是从Texture2D里面撸出来的,想要读他的资源你需要Map,但是一边是GPU写,一边是CPU读。所以我们可以另外开个Texuture2D
把D3D11_USAGE设置为STAGING,CPUAccessFlags设置为D3D11_CPU_ACCESS_READ,Map之后,你就可以随心所欲的对取出来的数据读了,注意,Map之后记得UnMap,要释放内存的
再其次就是D3D11_USAGE_IMMUTABLE
这个东西你懂的,效率高,妥妥的,放那些不改变的资源真是再好不过了。值得注意,这东西不能被绑定到GPU的输出,因为GPU也不能写它,唯一写的机会是初始化的时候。
至于D3D11_USAGE_DYNAMIC
我写的渣程序还没用过,程序里压根没东西会动态改变,粒子系统可以直接在GPU里面做,也不需要像原来那样更新VertexBuffer了
D3D11_USAGE使用的更多相关文章
- Direct3D11学习:(七)绘图基础——彩色立方体的绘制
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 在前面的几篇文章中,我们详细介绍了Direct3D渲染所需要的数学基础和渲染管道理论知识.从这篇文章开始,我们就 ...
- Direct3D11学习:(三)Direct3D11初始化
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 做完一系列的准备工作之后,我们就正式进入Direct3D11的学习了.我们就从Direct3D11的初始化工作开 ...
- Directx11学习笔记【十】 画一个简单的三角形
本篇笔记要实现的是在屏幕上渲染出一个三角形,重点要学习的是渲染一个几何体的流程方式. 为了渲染几何图形,需要一个顶点缓存和一个描述顶点布局的输入层,还有着色器(主要是顶点着色器和像素着色器),下面来看 ...
- DX11 Without DirectX SDK--02 渲染一个三角形
回到 DirectX11--使用Windows SDK来进行开发 目前暂时没有写HLSL具体教程的打算,而是着重于如何做到不用DirectX SDK来进行渲染.除此之外,这里也没有使用Effects框 ...
- DX11 Without DirectX SDK--01 DirectX11初始化
回到 DirectX11--使用Windows SDK来进行开发 由于个人觉得龙书里面第4章提供的Direct3D 初始化项目封装得比较好,而且DirectX SDK Samples里面的初始化程序过 ...
- DirectX11--深入理解与使用缓冲区资源
前言 在Direct3D 11中,缓冲区属于其中一种资源类型,它在内存上的布局是一维线性的.根据HLSL支持的类型以及C++的使用情况,缓冲区可以分为下面这些类型: 顶点缓冲区(Vertex Buff ...
- DirectX11--深入理解与使用2D纹理资源
前言 写教程到现在,我发现有关纹理资源的一些解说和应用都写的太过分散,导致连我自己找起来都不方便.现在决定把这部分的内容整合起来,尽可能做到一篇搞定所有2D纹理相关的内容,其中包括: DDSTextu ...
- Explanation About Initilizing A DirextX3D Class 关于初始化Direct3D类的解释
目录 DirectX11 Study Note Create a DirectX graphics interface factory.创建一个DirectX图形界面工厂 CreateDXGIFact ...
- DirectX11 With Windows SDK--01 DirectX11初始化
前言 由于个人觉得龙书里面第4章提供的Direct3D 初始化项目封装得比较好,而且DirectX SDK Samples里面的初始化程序过于精简,不适合后续使用,故选择了以Init Direct3D ...
随机推荐
- lintcode 中等题:permutations II 重复数据的全排列
题目 带重复元素的排列 给出一个具有重复数字的列表,找出列表所有不同的排列. 样例 给出列表 [1,2,2],不同的排列有: [ [1,2,2], [2,1,2], [2,2,1] ] 挑战 使用递归 ...
- 高效的Nginx
FastCGI是将CGI解释器进程保持在内存中并因此获得较高的性能.CGI解释器的反复加载是CGI性能低下的主要原因. 如果CGI解释器保持在内存中并接受FastCGI管理器的调度,则可以提供良好的性 ...
- Eclipse项目和MyEclipse项目
因为Eclipse的项目结构和MyEclipse项目的结构不同,所以两者的项目之间不能直接运行的. 我们在创建Eclipse项目的时候可以进行一些设置,这样在Eclipse中创建的项目可以直接在MyE ...
- 44. Wildcard Matching
题目: Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single charact ...
- 31. Next Permutation
题目: Implement next permutation, which rearranges numbers into the lexicographically next greater per ...
- 29 个 PHP 的 Excel 处理类
下面的 PHP Excel 处理类中,包含 Excel 读写.导入导出等相关的类,列表如下: PHP Excel Reader classes 1. Read Excel Spreadsheets u ...
- 【转载】String、StringBuffer与StringBuilder之间区别
文章来源:http://www.cnblogs.com/A_ming/archive/2010/04/13/1711395.html 这两天在看Java编程的书,看到String的时候将之前没有弄懂的 ...
- 函数fsp_alloc_from_free_frag
/**********************************************************************//** Allocates a single free ...
- iOS开发:mac使用svn管理项目
记录mac下常用的svn命令: 1.检出项目: svn checkout .../svn/projectName --username=xxx --password=xxx //将ip换成svn服务器 ...
- UVa 12716 (GCD == XOR) GCD XOR
题意: 问整数n以内,有多少对整数a.b满足(1≤b≤a)且gcd(a, b) = xor(a, b) 分析: gcd和xor看起来风马牛不相及的运算,居然有一个比较"神奇"的结论 ...