培训
HLSL
HLSL 技术概述。
若要开发 HLSL,需要以下标头:
有关此技术的编程指南,请参阅:
D3D_BLOB_PART 用于标识任意长度数据缓冲区内容部分的值。 |
D3D_BLOB_PART 用于标识任意长度数据缓冲区内容部分的值。 |
D3DCOMPILER_STRIP_FLAGS 条带标志选项。 |
D3DCOMPILER_STRIP_FLAGS 条带标志选项。 |
DXC_OUT_KIND 指定要从 IDxcResult 检索的输出类型。 |
AddArguments 向此编译器参数列表添加其他参数。 |
AddArgumentsUTF8 将其他 UTF-8 编码参数添加到此编译器参数列表。 |
AddDefines 向此编译器参数列表添加其他定义。 |
AddPart 将部件添加到容器。 |
AssembleToContainer 将 LL 或 LLVM 位代码中的 DXIL 组装到 DXIL 容器。 |
BuildArguments 生成可传递给 Compile 方法的参数。 |
Compile 编译目标着色器模型的单个入口点。 IDxcCompiler::Compile 已弃用;请改用 IDxcCompiler3::Compile 。 |
Compile 编译目标着色器模型的单个入口点,或将库编译为库目标,或编译根签名,或预处理 HLSL 源。 |
CompileForFullPDB TBD |
CompileWithDebug 使用调试信息编译目标着色器模型的单个入口点。 IDxcCompiler::CompileWithDebug 已弃用;请改用 IDxcCompiler3::Compile 。 |
CreateBlob 将 Blob 内容复制到新 Blob 拥有的内存中。 使用当前分配器分配新的 Blob 和复制的内容。 |
CreateBlobFromBlob IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
CreateBlobFromBlob 创建一个子 blob,用于保存对外部 Blob 的引用,并指向其内存。 |
CreateBlobFromFile IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
CreateBlobFromPinned 创建引用现有内存的 Blob,不带副本。 必须单独管理内存生存期。 |
CreateBlobWithEncodingFromPinned IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
CreateBlobWithEncodingOnHeapCopy IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
CreateBlobWithEncodingOnMalloc IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
CreateDefaultIncludeHandler 创建基于文件的默认包含处理程序。 |
CreateIncludeHandler IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
CreateReadOnlyStreamFromBlob 创建从 Blob 读取数据的流。 |
CreateReflection 从序列化的 DXIL 容器或 DXC_PART_REFLECTION_DATA Blob 内容创建反射接口。 |
CreateStreamFromBlobReadOnly IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
D3DCompile 将 HLSL 代码或效果文件编译为给定目标的字节码。 |
D3DCompile 将 HLSL 代码或效果文件编译为给定目标的字节码。 |
D3DCompile2 将 Microsoft 高级着色器语言 (HLSL) 代码编译为给定目标的字节码。 (D3DCompile2) |
D3DCompile2 将 Microsoft 高级着色器语言 (HLSL) 代码编译为给定目标的字节码。 (D3DCompile2) |
D3DCompileFromFile 将 Microsoft 高级着色器语言 (HLSL) 代码编译为给定目标的字节码。 (D3DCompileFromFile) |
D3DCompileFromFile 将 Microsoft 高级着色器语言 (HLSL) 代码编译为给定目标的字节码。 (D3DCompileFromFile) |
D3DCompressShaders 将一组着色器压缩为更紧凑的形式。 |
D3DCompressShaders 将一组着色器压缩为更紧凑的形式。 |
D3DCreateBlob 创建缓冲区。 |
D3DCreateBlob 创建缓冲区。 |
D3DCreateFunctionLinkingGraph 创建 function-linking-graph 接口。 |
D3DCreateFunctionLinkingGraph 创建 function-linking-graph 接口。 |
D3DCreateLinker 创建链接器接口。 注意 此函数是 HLSL 着色器链接技术的一部分,可以在所有 Direct3D 11 平台上使用该技术来创建预编译的 HLSL 函数,将它们打包到库中,并在运行时将它们链接到完整的着色器中。 . |
D3DCreateLinker 创建链接器接口。 注意 此函数是 HLSL 着色器链接技术的一部分,可以在所有 Direct3D 11 平台上使用该技术来创建预编译的 HLSL 函数,将它们打包到库中,并在运行时将它们链接到完整的着色器中。 . |
D3DDecompressShaders 从压缩集解压缩一个或多个着色器。 |
D3DDecompressShaders 从压缩集解压缩一个或多个着色器。 |
D3DDisassemble 反汇编编译的 HLSL 代码。 |
D3DDisassemble 反汇编编译的 HLSL 代码。 |
D3DDisassemble10Effect 从 Direct3D10 效果中反汇编编译的 HLSL 代码。 |
D3DDisassemble10Effect 从 Direct3D10 效果中反汇编编译的 HLSL 代码。 |
D3DDisassembleRegion 反汇编编译的 Microsoft 高级着色器语言的特定区域 (HLSL) 代码。 |
D3DDisassembleRegion 反汇编编译的 Microsoft 高级着色器语言的特定区域 (HLSL) 代码。 |
D3DGetBlobPart 从编译结果中检索特定部分。 |
D3DGetBlobPart 从编译结果中检索特定部分。 |
D3DGetDebugInfo 注意 你可以使用此 API 开发 Windows 应用商店应用,但不能在提交到 Windows 应用商店的应用中使用它。 获取着色器调试信息。 |
D3DGetDebugInfo 注意 你可以使用此 API 开发 Windows 应用商店应用,但不能在提交到 Windows 应用商店的应用中使用它。 获取着色器调试信息。 |
D3DGetInputAndOutputSignatureBlob 注意 D3DGetInputAndOutputSignatureBlob 在Windows 8.1后可能会更改或不可用。 请改用具有 D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB 值的 D3DGetBlobPart。 从编译结果中获取输入和输出签名。 |
D3DGetInputAndOutputSignatureBlob 注意 D3DGetInputAndOutputSignatureBlob 在Windows 8.1后可能会更改或不可用。 请改用具有 D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB 值的 D3DGetBlobPart。 从编译结果中获取输入和输出签名。 |
D3DGetInputSignatureBlob 注意 D3DGetInputSignatureBlob 在Windows 8.1后可能会更改或不可用。 请改用具有 D3D_BLOB_INPUT_SIGNATURE_BLOB 值的 D3DGetBlobPart。 从编译结果中获取输入签名。 |
D3DGetInputSignatureBlob 注意 D3DGetInputSignatureBlob 在Windows 8.1后可能会更改或不可用。 请改用具有 D3D_BLOB_INPUT_SIGNATURE_BLOB 值的 D3DGetBlobPart。 从编译结果中获取输入签名。 |
D3DGetOutputSignatureBlob 注意 D3DGetOutputSignatureBlob 可能在Windows 8.1后更改或不可用。 请改用具有D3D_BLOB_OUTPUT_SIGNATURE_BLOB值的 D3DGetBlobPart。 从编译结果获取输出签名。 |
D3DGetOutputSignatureBlob 注意 D3DGetOutputSignatureBlob 可能在Windows 8.1后更改或不可用。 请改用具有D3D_BLOB_OUTPUT_SIGNATURE_BLOB值的 D3DGetBlobPart。 从编译结果获取输出签名。 |
D3DGetTraceInstructionOffsets 检索着色器代码部分中指令的字节偏移量。 |
D3DGetTraceInstructionOffsets 检索着色器代码部分中指令的字节偏移量。 |
D3DLoadModule 从着色器模块的源数据创建着色器模块接口。 |
D3DLoadModule 从着色器模块的源数据创建着色器模块接口。 |
D3DPreprocess 预处理未编译的 HLSL 代码。 |
D3DPreprocess 预处理未编译的 HLSL 代码。 |
D3DReadFileToBlob 将磁盘上的文件读入内存。 |
D3DReadFileToBlob 将磁盘上的文件读入内存。 |
D3DReflect 获取指向反射接口的指针。 |
D3DReflect 获取指向反射接口的指针。 |
D3DReflectLibrary 从包含 HLSL 函数库的源数据创建库反射接口。 |
D3DReflectLibrary 从包含 HLSL 函数库的源数据创建库反射接口。 |
D3DSetBlobPart 设置编译结果中的信息。 |
D3DSetBlobPart 设置编译结果中的信息。 |
D3DStripShader 从编译结果中删除不需要的 Blob。 |
D3DStripShader 从编译结果中删除不需要的 Blob。 |
D3DWriteBlobToFile 将内存 Blob 写入磁盘上的文件。 |
D3DWriteBlobToFile 将内存 Blob 写入磁盘上的文件。 |
Disassemble 反汇编程序。 IDxcCompiler::D isassemble 已弃用;请改用 IDxcCompiler3::D isassemble 。 |
Disassemble 反汇编程序。 |
DxcCreateInstance 创建与指定 CLSID 关联的类的单个未初始化对象。 |
DxcCreateInstance2 创建与指定的 CLSID 关联的类的单个未初始化对象 (可用于创建具有自定义内存分配器) 的编译器实例。 |
DxcCreateInstance2Proc 提供了 DxcCreateInstance2Proc typedef,以便于使用 GetProcAddress 调用 DxcCreateInstance2。 |
DxcCreateInstanceProc 提供了 DxcCreateInstanceProc typedef,以便于使用 GetProcAddress 调用 DxcCreateInstance。 |
FindFirstPartKind 检索具有指定类型的第一部分的索引。 |
GetArg TBD |
GetArgCount TBD |
GetArgPair TBD |
GetArgPairCount TBD |
GetArguments 检索参数数组。 |
GetAvailablePass TBD |
GetAvailablePassCount TBD |
GetBlobAsUtf16 IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
GetBlobAsUtf16 将匹配的编码文本 Blob 转换为 UTF-16 或返回。 |
GetBlobAsUtf8 IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
GetBlobAsUtf8 将匹配的编码文本 blob 转换为 UTF-8 或返回。 |
GetBufferPointer 检索指向 Blob 数据的指针。 |
GetBufferSize 检索 (的大小(以字节为单位),包括 blob 数据的 null 终止符) 。 |
GetCommitInfo TBD |
GetCount 检索参数数。 |
GetCustomVersionString TBD |
GetDefine TBD |
GetDefineCount TBD |
GetDescription TBD |
GetDxilContainerPart TBD |
GetEncoding 检索此 blob 的编码。 |
GetEntryPoint TBD |
GetErrorBuffer 从操作中检索错误缓冲区(如果有)。 这对应于使用 DXC_OUT_ERRORS 调用 IDxcResult::GetOutput。 |
GetFlag TBD |
GetFlagCount TBD |
GetFlags TBD |
GetFullPDB TBD |
GetHash TBD |
GetMainFileName TBD |
GetName TBD |
GetNumOutputs 检索此结果中可用的输出数。 |
GetOptionArgCount TBD |
GetOptionArgDescription TBD |
GetOptionArgName TBD |
GetOptionName TBD |
GetOutput 检索指定的输出。 |
GetOutput 检索指定的输出。 |
GetOutputByIndex 检索指定索引处的输出类型。 |
GetOutputCount 检索可用输出数。 |
GetPartContent 检索指定部件的内容。 |
GetPartCount 检索容器中的部件数。 |
GetPartKind 检索指定部件的种类。 |
GetPartReflection 检索指定部件的反射接口。 |
GetPDBContents 检索着色器 PDB 的哈希和内容。 |
GetResult 检索操作的主输出。 |
GetSource TBD |
GetSourceCount TBD |
GetSourceName TBD |
GetStatus 检索操作的总体状态。 |
GetStringLength 检索此 Blob 中存储的字符串的长度(以字符为单位),不包括 null 终止符。 |
GetStringPointer 检索指向此 Blob 中存储的字符串的指针。 |
GetTargetProfile TBD |
GetVersion TBD |
GetVersionInfo TBD |
HasOutput 确定此结果是否具有指定的输出。 |
IsFullPDB TBD |
链接 链接着色器,并生成 Direct3D 运行时可以使用的着色器 Blob。 |
加载 将 DxilContainer 加载到生成器。 |
加载 选择要对其执行反射的容器。 |
加载 TBD |
LoadFile 使用从文件加载的数据创建 Blob。 |
LoadSource TBD |
OverrideArgs TBD |
OverrideRootSignature TBD |
预处理 预处理源文本。 |
PrimaryOutput TBD |
RegisterLibrary 使用名称注册库,以便以后可以按该名称引用它。 |
RemovePart 从容器中删除部件。 |
RunOptimizer TBD |
SerializeContainer 生成容器。 |
SetCompiler TBD |
SetMalloc IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
验证 验证着色器。 |
ValidateWithDebug 使用可选的调试位码验证着色器。 |
D3D_SHADER_DATA 描述着色器数据。 (D3D_SHADER_DATA) |
D3D_SHADER_DATA 描述着色器数据。 (D3D_SHADER_DATA) |
DxcArgPair TBD |
DxcDefine 用于向 Dxc API 提供定义的结构。 |
DxcShaderHash ShaderHash 的哈希摘要类型。 |
DxcText 用于向 Dxc API 提供字节或文本输入的结构。 |
IDxcAssembler 表示 DxcAssembler 的接口。 |
IDxcBlob 可以传入和传出 DXC API 的大小缓冲区。 IDxcBlob 是 ID3D10Blob 和 ID3DBlob 的别名。 |
IDxcBlobEncoding 可能具有已知编码的 Blob。 |
IDxcBlobUtf8 TBD |
IDxcCompiler IDxcCompiler 已弃用;请改用 IDxcCompiler3 。 |
IDxcCompiler2 IDxcCompiler2 已弃用;请改用 IDxcCompiler3 。 |
IDxcCompiler3 表示 DirectX 着色器编译器的接口。 |
IDxcCompilerArgs 用于管理传递给 DXC 的参数的接口。 |
IDxcContainerBuilder 表示 DXC 容器生成器的接口。 |
IDxcContainerReflection 表示 DxcContainerReflection 的接口。 |
IDxcExtraOutputs 表示 DXC 操作的其他输出。 |
IDxcIncludeHandler 用于处理 include 指令的接口。 若要自定义 include 指令的处理,可以提供此接口的实现。 |
IDxcLibrary IDxcUtils 替换 IDxcLibrary;请改用 IDxcUtils。 |
IDxcLinker DXC 链接器接口。 |
IDxcOperationResult DXC 操作的结果。 IDxcResult 取代 IDxcOperationResult,应尽可能使用。 |
IDxcOptimizer 表示 DxcOptimizer 的接口。 |
IDxcOptimizerPass 表示优化器传递的接口。 |
IDxcPdbUtils 表示 PDB 版本信息。 |
IDxcResult 表示 DXC 操作的结果。 DXC 操作可能有多个输出,例如着色器对象和错误。 此接口提供对输出的访问。 |
IDxcUtils DXC 的各种实用工具函数。 |
IDxcValidator 表示 DXC 着色器验证器的接口。 |
IDxcValidator2 表示 DXC 着色器验证器的接口。 |
IDxcVersionInfo 表示 PDB 版本信息。 |
IDxcVersionInfo2 表示 PDB 版本信息。 |
IDxcVersionInfo3 表示 PDB 版本信息。 |