本文主要是介绍DirectX11 常量缓存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
常量缓存
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;}
这篇关于DirectX11 常量缓存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!