dx11的一些数据结构

  1. 功能是什么
    创建一个设备(device)来代表显示适配器(display adapter)并且创建一个交换链(swap chain)用于渲染
  2. 设备device在dx11里是用来干什么的
    从ID3DX11Device上看,他主要是用来创建各种dx11对象,例如:buffer,shadow等
  3. swap chain是做什么的
    他用来实现一个或多个surfaces用来保存在present之前的渲染的数据
  4. ID3D11RenderTargetView是什么
    他继承自ID3D11View
    他标识了可在渲染中访问的渲染目标的了些子资源。这次子资源都有什么呢?所以说他有 函数叫GetResources
    下面看一下GetResources的用法

    void GetResource(
      [out] ID3D11Resource **ppResource
    );
    Resource是什么东西,他们的类型有哪些:
    D3D11_RESOURCE_DIMENSION_UNKNOWN

    Resource is of unknown type.

    D3D11_RESOURCE_DIMENSION_BUFFER

    Resource is a buffer.

    D3D11_RESOURCE_DIMENSION_TEXTURE1D

    Resource is a 1D texture.

    D3D11_RESOURCE_DIMENSION_TEXTURE2D

    Resource is a 2D texture.

    D3D11_RESOURCE_DIMENSION_TEXTURE3D

    Resource is a 3D texture.

  5. 什么是ID3D11DeviceContext
    The ID3D11DeviceContext interface represents a device context which generates rendering commands
    意思就是他代表了一个设备上下文,他主要是用来生成渲染命令。
    他的一些方法

    下面对一些成员函数做一些解释:
    OMSetRenderTarget:Bind one or more render targets atomically and the depth-stencil buffer to the output-merger stage.自动绑定一个或多个渲染目标和尝试缓存的buffer给output-merger-state。
    RSSetViewports:给流水线的光栅化阶段绑定一些些视口viewports,绑定的对象为D3D11_VIEWPORT,D3D11_VIEWPORT是一个结构体,如下图所示:
  6. Output-Merger State
    output-merger状态通过使用一些组队的流水线生成最终显示的像素和颜色,像素通过PIX SHADER和渲染目标和depth/stencil缓存生成。OM state是最终确定哪一个像素显示和颜色混合。
原文地址:https://www.cnblogs.com/zhangdongsheng/p/9143691.html