龙书11_chapter_4 二:习题中的Adapter

如何计算设备的Adapter数?

主要参考MSDN:  EnumAdapters

在d3dApp.cpp文件InitDirect3D()接口中:

    HR(dxgiFactory->CreateSwapChain(md3dDevice, &sd, &mSwapChain));
    //begin 检测本设备有几个图形卡
    UINT myAdapterNums = 0;
    IDXGIAdapter *pAdapter;
    std::vector<IDXGIAdapter* > vAdapters;//adapter容器
    while (dxgiFactory->EnumAdapters(myAdapterNums,&pAdapter)!=DXGI_ERROR_NOT_FOUND)//获取所有的
    {
        vAdapters.push_back(pAdapter);
        ++myAdapterNums;//计数
    }
    char szBuf[10];
    //memset(szBuf,_T(‘\0‘),sizeof(szBuf));
    //sprintf_s(szBuf,"%d",myAdapterNums);
    _itoa_s(myAdapterNums,szBuf,10);//int --> char*
    int begIndex =  strlen(szBuf);  //计算这个整数有多少位,即在char数组中有几个元素?
    for (int i=begIndex;i<=9;i++) //对其后的元素全部赋为空, 避免的乱码问题。
    {
        szBuf[i] = ‘\0‘;
    }
    OutputDebugString(L"Testtttttttttttt:");
    OutputDebugString((LPCTSTR)szBuf);
    //end 检测本设备有几个图形卡

按键F5,调试模式下,可以通过 OutputDebugString在输出栏显示Testttttt:2,也就是我设备两个图形卡

时间: 2024-10-15 12:22:45

龙书11_chapter_4 二:习题中的Adapter的相关文章

龙书11_chapter_4 一: GameTime解读

看龙书DX11,首先是第四章,本文对GameTime类进行解释 问:此类主要实现了什么功能? 答:Returns the total time elapsed since Reset() was called, NOT counting any time when the clock is stopped. 从渲染窗口Reset开始记时,记录总共的时间.不包括此间的pause时间. 问:关键时间接口? 答: 1. //获取频率(取决于主板 OS相关,不是CPU的主频)参考:http://www.

龙书D3D11章节习题答案(第六章)

以下答案仅供参考,有错欢迎留言. Chapter 6:Drawing in Direct3D 提醒:记得多备份几份原书提供的BoxDemo.cpp和ShapeDemo.cpp,下面的题目基本上都由此基础上改动. 同类文章: DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答) 找到同类的文章实属不易,大家可以借鉴一番这篇文章(作者提供了完整的代码下载,而我比较懒..下面只会说我大致的步骤) 勘误:题中D3D10_INPU

龙书11_chapter_4 三:每一小节关键点

4.1.3 纹理数据格式 2D纹理即一个数据矩阵,每个元素可以是color值,也可是float3向量值 格式例子: DXGI_FORMAT_R32G32B32_FLOAT(每个纹素为3个32位的float型,可存储3D vector) DXGI_FORMAT_R8G8B8A8_UNORM (4个8bit  unsigned数据,[0,1]之间) DXGI_FORMAT_R8G8B8A8_SNORM  (8bit  signed  [-1,1]之间) DXGI_FORMAT_R8G8B8A8_SI

龙书D3D11章节习题答案(第八章)

以下答案仅供参考,有错欢迎留言. Chapter 8 : Texturing 1. Experiment with the "Crate" demo by changing the texture coordinates and using different address mode combinations and filtering options. In particular, reproduce the images in Figures 8.7, 8.9, 8.10, 8.

龙书11_chapter_6 二:HillsDemo解析

书中HillsDemo 关键是类的结构,GeometryGenerator的组成和应用: MeshData的构成,来存储Mesh的vertex和index数据: class GeometryGenerator { public: struct Vertex { Vertex(){} Vertex(const XMFLOAT3& p):Position(p){} Vertex(float px,float py,float pz):Position(px,py,pz){} XMFLOAT3 Pos

龙书D3D11章节习题答案(不定时更新)

以下答案仅供参考,勿以为真,欢迎提问. Chapter 4:Direct3D Initialzation 4.7 EXERCISES (作者的目的大概是让我们熟悉DXGI,打开Common框架代码里面的d3dApp.cpp文件操作即可) 1. Modify the previous exercise solution by disabling the ALT-ENTER functionality to switch between full screen and windowed mode;

龙书D3D11章节习题答案(第七章)

以下答案仅供参考,有错欢迎留言. Chapter 7 : Lighting 这一章的内容相对来说比较简单,没有什么复杂的步骤,但也需要多尝试得到不同的视觉效果. 1. Modify the lighting demo of this chapter so that the directional light only emits red light, the point light only emits green light, and the spotlight only emits blue

龙书学习笔记(二)

补线代之余抽空把第四章上色学了,之所以说之余,是因为这一章内容确实不怎么多,不过为了巩固知识,便结合刚学的上色又做了一个小程序. 首先进行回顾,这一章学到的一共有四点: 一.Direct3D中颜色用RGB(Red.Green.Blue)三元组表示,用两种结构来保存 D3DCOLOR,即unsigned long,共32位,分成4个8位项,分别保存Alpha(这玩意的作用会在第七章学到).红.绿.蓝,均在0x00~0xff之间取值(就是0~255) 通过结构体来保存(D3DXCOLOR和D3DCO

DirectX 9.0c游戏开发手记之“龙书”第二版学习笔记之8: Chap10: Lighting

这一章讲的是光照.光照(lighting)是Direct3D中非常重要的概念,而与之相对应的是材质(material)的概念.如果没有材质的话,那么光照的作用也无法体现. 在较早一些的关于DirectX 9的编程入门书籍里,一般是使用D3DLIGHT9结构体来建立一个光源,而用D3DMATERIAL9结构体来定义物体的材质.我们要做的就是一些很琐碎的家务活,基本上就是创建这些结构体对象.设定其中的参数.启用光照之类的,至于具体实现的细节就非吾等所需(和所能)操心的了. 不过在我们的"龙书&quo