DirectX11 常量缓存

来源:互联网 发布:淘宝延长收货会怎样 编辑:程序博客网 时间:2024/06/04 20:06

常量缓存

1. 常量缓存的作用是什么?

当我们渲染精灵的时候,我们使用位置、旋转和缩放值,来构建精灵的世界矩阵,一旦该世界矩阵构建好后,我们就使用常量缓存将该矩阵传递给顶点着色器,来实现数据的高速运输。常量缓存用于发送模型-视图矩阵给顶点着色器,使得它能够对输入的几何图形进行变换。

2. 如何创建常量缓存?

常量缓存,像其它所有的DirectX 11缓存一样是 ID3D11BUFFER 类型。一块常量缓存通过设置缓存描述对象的 BindFlags 成员为 D3D11_BIND_CONSTANT_BUFFER 来创建。

3. 创建常量缓存示例代码

    //创建常量缓存    D3D11_BUFFER_DESC constDesc;    ZeroMemory( &constDesc, sizeof( constDesc ) );    constDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;    constDesc.ByteWidth = sizeof( XMMATRIX );    constDesc.Usage = D3D11_USAGE_DEFAULT;    d3dResult = d3dDevice_->CreateBuffer( &constDesc, 0, &mvpCB_ );    if( FAILED( d3dResult ) )    {        return false;    }
0 0
原创粉丝点击