本文整理汇总了C++中Waves::GetRowCount方法的典型用法代码示例。如果您正苦于以下问题:C++ Waves::GetRowCount方法的具体用法?C++ Waves::GetRowCount怎么用?C++ Waves::GetRowCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Waves
的用法示例。
在下文中一共展示了Waves::GetRowCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildWavesGeometryBuffers
void WavesApp::BuildWavesGeometryBuffers()
{
// Create the vertex buffer. Note that we allocate space only, as
// we will be updating the data every time step of the simulation.
D3D11_BUFFER_DESC vbd;
vbd.Usage = D3D11_USAGE_DYNAMIC;
vbd.ByteWidth = sizeof(Vertex) * m_waves.GetVertexCount();
vbd.BindFlags = D3D11_BIND_VERTEX_BUFFER;
vbd.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
vbd.MiscFlags = 0;
HR(m_pD3dDevice->CreateBuffer(&vbd,0,&m_pWavesVB));
// Create the index buffer. The index buffer is fixed, so we only
// need to create and set once.
std::vector<UINT> indices(3 * m_waves.GetTriangleCount()); // 3 indices per face
// Iterate over each quad.
UINT m = m_waves.GetRowCount();
UINT n = m_waves.GetColumnCount();
int k = 0;
for (UINT i = 0; i < m - 1; ++i)
{
for (DWORD j = 0; j < n - 1; ++j)
{
indices[k] = i*n + j;
indices[k + 1] = i*n + j + 1;
indices[k + 2] = (i + 1)*n + j;
indices[k + 3] = (i + 1)*n + j;
indices[k + 4] = i*n + j + 1;
indices[k + 5] = (i + 1)*n + j + 1;
k += 6; // next quad
}
}
{
D3D11_BUFFER_DESC ibd;
ibd.Usage = D3D11_USAGE_IMMUTABLE;
ibd.ByteWidth = sizeof(UINT) * indices.size();
ibd.BindFlags = D3D11_BIND_INDEX_BUFFER;
ibd.CPUAccessFlags = 0;
ibd.MiscFlags = 0;
D3D11_SUBRESOURCE_DATA iinitData;
iinitData.pSysMem = &indices[0];
HR(m_pD3dDevice->CreateBuffer(&ibd, &iinitData, &m_pWavesIB));
}
}