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

另请参阅

ID3D10Device 接口