您的位置:首页 > 其它

DirectX11 常量缓存

2015-07-21 14:33 288 查看

常量缓存

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;
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: