DirectX11:确定顶点缓冲区的大小

DirectX11: Determining The Size of a Vertex Buffer

我在流输出阶段使用几何着色器从点列表创建几何。来自几何着色器的数据流式传输到缓冲区中,用作另一个着色器中的顶点缓冲区。但是,ID3D11::Draw() 调用要求您确切知道要绘制多少个顶点,而我无法提前知道这一点。简单地在缓冲区上调用 sizeof() 只会给你缓冲区指针的大小。是否有确定 DirectX 11 中缓冲区大小的方法?

您可以调用 ID3D11DeviceContext::DrawAuto 方法来绘制由输入组装器、顶点着色器和流输出阶段处理的未知大小的几何体。