Direct3D 11的Device接口和DeviceContext接口
D3D的两个主要的接口:
- Device,ID3D11Device。创建资源,Shader对象,状态对象,查询对象,等。以及检查硬件功能,调试函数。可以认为是资源的提供者。
- Device Context,ID3D11DeviceContext。使用资源。绑定资源,Shader对象,状态对象等到流水线。以及控制计算流水器的执行。
- Immedite context。立即模式,用于主渲染线程,也是服务GPU的主要接口
- Deffered context。延迟模式,提供线程安全机制,用于异步线程模型。
HRESULT D3D11CreateDeviceAndSwapChain(
__in IDXGIAdapter *pAdapter,
__in D3D_DRIVER_TYPE DriverType,
__in HMODULE Software,
__in UINT Flags,
__in const D3D_FEATURE_LEVEL *pFeatureLevels,
__in UINT FeatureLevels,
__in UINT SDKVersion,
__in const DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,
__out IDXGISwapChain **ppSwapChain,
__out ID3D11Device **ppDevice,
__out D3D_FEATURE_LEVEL *pFeatureLevel,
__out ID3D11DeviceContext **ppImmediateContext
;
*pAdapter: 指向显卡适配器,NULL则使用默认的显卡。
- D3D_DRIVER_TYPE_UNKNOWN,
- D3D_DRIVER_TYPE_HARDWARE,一般用这个
- D3D_DRIVER_TYPE_REFERNCE,用于软件实现的D3D
- D3D_DRIVER_TYPE_NULL,用于测试
- D3D_DRIVER_TYPE_SOFTWARE,自定义驱动,通常不用。
- D3D_DRIVER_TYPE_WARP,支持使用多核CPU,但只能用于D3D 10.1。
{
D3D11_CREATE_DEVICE_SINGLETHREADED= 0x1, //必须是单线程的。如果不设置就是多线程的。
D3D11_CREATE_DEVICE_DEBUG= 0x2, //实现ID3D11Debug接口。
D3D11_CREATE_DEVICE_SWITCH_TO_REF= 0x4, //D3D11不支持此选项。
D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS= 0x8, //禁止多线程优化。
D3D11_CREATE_DEVICE_BGRA_SUPPORT= 0x20, //用于Direct2D
D3D11_CREATE_DEVICE_DEBUGGABLE= 0x40,
D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY= 0x80,
D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100,
D3D11_CREATE_DEVICE_VIDEO_SUPPORT= 0x800
} D3D11_CREATE_DEVICE_FLAG;
- D3D_FEATURE_LEVEL_11_1,
- D3D_FEATURE_LEVEL_11_0,
- D3D_FEATURE_LEVEL_10_1,
- D3D_FEATURE_LEVEL_10_0,
- D3D_FEATURE_LEVEL_9_3,
- D3D_FEATURE_LEVEL_9_2,
- D3D_FEATURE_LEVEL_9_1
Direct3D 11的Device接口和DeviceContext接口的更多相关文章
- JQuery1.11版本对prop和attr接口的含义分离导致问题分析
问题背景 实验中, 在jquery1.7版本, attr("value") 和 val() 接口获取 input 控件的值, 都是一致的, 都是当前控件值. 但是 jquery1 ...
- 【译】Import Changes from Direct3D 11 to Direct3D 12
译者:林公子 出处:木木的二进制人生 转载请注明作者和出处,谢谢! 这是微软公布的Direct3D 12文档的其中一篇,此翻译留作学习记录备忘,水平有限,错漏难免,还望海涵. 原文链接是https:/ ...
- Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨
Java对象克隆(Clone)及Cloneable接口.Serializable接口的深入探讨 Part I 没啥好说的,直接开始Part II吧. Part II 谈到了对象的克隆,就不得不说为什么 ...
- Java6.0中Comparable接口与Comparator接口详解
Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...
- Servlet--HttpSession接口,HttpSessionContext接口,Cookie类
HttpSession接口 定义 public interface HttpSession 这个接口被 Servlet 引擎用来实现在 HTTP 客户端和 HTTP 会话两者的关联.这种关联可能在多外 ...
- Direct3D 11 Tutorial 1: Basics_Direct3D 11 教程1:基础
Github-LearnDirectX-DX3D11 tutorial01 概述 在这第一篇教程中,我们将通过介绍创建最小Direct3D应用程序所必需的元素.每一个Direct3D应用程序必需拥有这 ...
- Spring InitializingBean 接口以及Aware接口实现的原理
关于Spring InitializingBean 接口以及Aware接口实现的其实都在 第11步中: finishBeanFactoryInitialization() 方法中完成了3部分的内容: ...
- 部分还款-还款试算接口与还款接口-python
一.还款试算.还款接口, 1.只传入参数loan_Code 2.还款接口参数化以下: "loanCode": loanCode1,"orderId": orde ...
- Java8函数式接口/Lambda表达式/接口默认方法/接口静态方法/接口冲突方法重写/lambda表达式指定泛型类型等
一:函数式接口 1.函数式接口的概念就是此接口必须有且只能有一个抽象方法,可以通过@FunctionalInterface来显示规定(类似@Override),但是没有此注解的但是只有一个抽象方法的接 ...
随机推荐
- ssh命令
使用ssh命令登陆远程系统 ssh [ip/address] -l [登陆用户名] 如: ssh www.xyz.cn -l root
- iOS中如何获取image.xcassets中的启动图片
/** * 获取启动图片 */ +(UIImage *)launchImage{ NSString *imageName=@"LaunchImage-700"; if(iphon ...
- .net学习体会
莫名其妙学了IT,在课堂上学了C,C++,自学了C#,也做了一些网站项目,学习过程,写了厚厚的几本笔记本,却没写博文的习惯,前几天,有同学问学习.net的建议.其实我懂的也不多,也给了一些个人见解,主 ...
- ASP.net获取当前页面的文件名,参数,域名等方法
ASP.net后台获取当前页面的文件名 System.IO.Path.GetFileName(Request.Path).ToString(); 获取当前页面文件名,参数,域名等方法 假设当前页完整地 ...
- 重写OnPaint事件对窗体重绘 实例1
public class WindowOne:Form { public WindowOne() { InitializeCompnent(); } public void InitializeCom ...
- java 静态文件使用注解
spring框架为我们代码的编写带来了极大的便利,特别是注解的使用.但是有个问题,当我们在静态文件中使用注解的时候,这个时候就会报错了.如以下代码: @Autowired private UserSe ...
- ios--图片处理(修改、保存)UIGraphicsBeginImageContext
http://www.th7.cn/Program/IOS/201407/250904.shtml
- (二)CodeMirror - 配置项
theme: string theme:'monokai' 引入对应的css, <link rel="stylesheet" href="../theme/mono ...
- C/C++中的虚析构函数和私有析构函数的使用
代码: #include <iostream> using namespace std; class A{ public: A(){ cout<<"construct ...
- w530 在ubuntu 12.04 _x64 背光调节方法
So to get the screen brightness keys working with your Nvidia graphics card, create a file in the xo ...