ID3D10Device::CreateGeometryShaderWithStreamOutput 方法 (d3d10.h)
创建可以写入流式输出缓冲区的几何着色器。
语法
HRESULT CreateGeometryShaderWithStreamOutput(
[in] const void *pShaderBytecode,
[in] SIZE_T BytecodeLength,
[in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
[in] UINT NumEntries,
[in] UINT OutputStreamStride,
[out] ID3D10GeometryShader **ppGeometryShader
);
参数
[in] pShaderBytecode
类型: const void*
指向标准几何着色器以及流输出的已编译几何着色器的指针。 有关如何获取此指针的信息,请参阅 获取指向已编译着色器的指针。
若要在不使用几何着色器的情况下创建流输出,请传递指向上一阶段的输出签名的指针。 若要获取此输出签名,请调用 D3DGetOutputSignatureBlob 编译器函数。 还可以传递指向上一阶段中使用的已编译 顶点着色器的 指针。 此编译的着色器提供数据的输出签名。
[in] BytecodeLength
类型: SIZE_T
已编译的几何着色器的大小。
[in] pSODeclaration
类型: const D3D10_SO_DECLARATION_ENTRY*
指向D3D10_SO_DECLARATION_ENTRY数组 的 指针。 如果 NumEntries 为 0,>则不能为 NULL。
[in] NumEntries
类型: UINT
pSODeclaration 指向的数组中的条目数。 最小 0,最大 64。
[in] OutputStreamStride
类型: UINT
pSODeclaration 指向的数组中每个元素的大小(以字节为单位)。 仅当 pSODeclaration 中的所有条目的输出槽为 0 时,才使用此参数。
[out] ppGeometryShader
类型: ID3D10GeometryShader**
指向 ID3D10GeometryShader 接口的指针的地址。 如果为 NULL,则将验证所有其他参数,如果所有参数都通过验证,则此 API 将返回S_FALSE而不是S_OK。
返回值
类型: HRESULT
此方法返回 Direct3D 10 返回代码之一。
备注
有关使用 CreateGeometryShaderWithStreamOutput 的详细信息,请参阅 使用流输出创建 Geometry-Shader 对象。
要求
目标平台 | Windows |
标头 | d3d10.h |
Library | D3D10.lib |