c++ - DirectX11:确定顶点缓冲区的大小
问题描述
我正在使用带有流输出阶段的几何着色器从点列表中创建几何。来自几何着色器的数据被流式传输到缓冲区中,用作另一个着色器中的顶点缓冲区。但是,ID3D11::Draw() 调用要求您确切知道要绘制多少个顶点,而我不提前知道这一点。简单地在缓冲区上调用 sizeof() 只会给你指向缓冲区的指针的大小。是否有确定 DirectX 11 中缓冲区大小的方法?
解决方案
您可以调用ID3D11DeviceContext::DrawAuto
方法来绘制由输入组装器、顶点着色器和流输出阶段处理的未知大小的几何图形。
推荐阅读
- typescript - 我可以在打字稿中定义/链接类型到一个类吗?
- qt - 如何将“枚举类 Foo”属性的类型视为“枚举”类型?
- python - 从 pandas 导入访问跳过的行
- react-native - 在 expo 中以 pdf 格式下载 Web 服务响应(blob)
- python - for 循环运行时间过长
- javascript - 如果秒数是 3 的倍数,则打印 fuzz
- authentication - 匹配提供和原始服务时的 CAS "INVALID_SERVICE" 异常(两者相同)
- javascript - 无法在 phonegap 上发送短信 - 没有权限
- qt - QML如何强制更新/重绘
- tensorflow.js - 为什么在 tensorflow.jsposenet 的响应中,位置 x 和 y 都为 0?