HLSL 기술 개요입니다.
HLSL을 개발하려면 다음 헤더가 필요합니다.
이 기술에 대한 프로그래밍 지침은 다음을 참조하세요.
열거형
|
D3D_BLOB_PART 임의 길이 데이터 버퍼의 콘텐츠 부분을 식별하는 값입니다. |
|
D3D_BLOB_PART 임의 길이 데이터 버퍼의 콘텐츠 부분을 식별하는 값입니다. |
|
D3DCOMPILER_STRIP_FLAGS 스트립 플래그 옵션입니다. |
|
D3DCOMPILER_STRIP_FLAGS 스트립 플래그 옵션입니다. |
|
DXC_OUT_KIND IDxcResult에서 검색할 출력의 종류를 지정합니다. |
Functions
|
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(High Level Shader Language) 코드를 지정된 대상에 대한 바이트코드로 컴파일합니다. (D3DCompile2) |
|
D3DCompile2 Microsoft HLSL(High Level Shader Language) 코드를 지정된 대상에 대한 바이트코드로 컴파일합니다. (D3DCompile2) |
|
D3DCompileFromFile Microsoft HLSL(High Level Shader Language) 코드를 지정된 대상에 대한 바이트코드로 컴파일합니다. (D3DCompileFromFile) |
|
D3DCompileFromFile Microsoft HLSL(High Level Shader Language) 코드를 지정된 대상에 대한 바이트코드로 컴파일합니다. (D3DCompileFromFile) |
|
D3DCompressShaders 셰이더 집합을 보다 압축된 형태로 압축합니다. |
|
D3DCompressShaders 셰이더 집합을 보다 압축된 형태로 압축합니다. |
|
D3DCreateBlob 버퍼를 만듭니다. |
|
D3DCreateBlob 버퍼를 만듭니다. |
|
D3DCreateFunctionLinkingGraph 함수 연결 그래프 인터페이스를 만듭니다. |
|
D3DCreateFunctionLinkingGraph 함수 연결 그래프 인터페이스를 만듭니다. |
|
D3DCreateLinker 링커 인터페이스를 만듭니다. 참고 이 함수는 모든 Direct3D 11 플랫폼에서 미리 컴파일된 HLSL 함수를 만들고 라이브러리에 패키지하고 런타임에 전체 셰이더에 연결하는 데 사용할 수 있는 HLSL 셰이더 연결 기술의 일부입니다. . |
|
D3DCreateLinker 링커 인터페이스를 만듭니다. 참고 이 함수는 모든 Direct3D 11 플랫폼에서 미리 컴파일된 HLSL 함수를 만들고 라이브러리에 패키지하고 런타임에 전체 셰이더에 연결하는 데 사용할 수 있는 HLSL 셰이더 연결 기술의 일부입니다. . |
|
D3DDecompressShaders 압축 집합에서 하나 이상의 셰이더를 압축 해제합니다. |
|
D3DDecompressShaders 압축 집합에서 하나 이상의 셰이더를 압축 해제합니다. |
|
D3DDisassemble 컴파일된 HLSL 코드를 분해합니다. |
|
D3DDisassemble 컴파일된 HLSL 코드를 분해합니다. |
|
D3DDisassemble10Effect Direct3D10 효과에서 컴파일된 HLSL 코드를 분해합니다. |
|
D3DDisassemble10Effect Direct3D10 효과에서 컴파일된 HLSL 코드를 분해합니다. |
|
D3DDisassembleRegion 컴파일된 Microsoft HLSL(High Level Shader Language) 코드의 특정 영역을 디스어셈블합니다. |
|
D3DDisassembleRegion 컴파일된 Microsoft HLSL(High Level Shader Language) 코드의 특정 영역을 디스어셈블합니다. |
|
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 디스크에 있는 파일을 메모리로 읽습니다. |
|
D3DReflection 리플렉션 인터페이스에 대한 포인터를 가져옵니다. |
|
D3DReflection 리플렉션 인터페이스에 대한 포인터를 가져옵니다. |
|
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와 연결된 클래스의 초기화되지 않은 단일 개체를 만듭니다(사용자 지정 메모리 할당자를 사용하여 컴파일러의 instance 만드는 데 사용할 수 있습니다). |
|
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_ERRORSIDxcResult::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 null 종결자를 제외한 이 Blob에 저장된 문자열의 길이를 문자로 검색합니다. |
|
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 지시문의 처리를 사용자 지정하려면 이 인터페이스의 구현을 제공할 수 있습니다. |
|
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 버전 정보를 나타냅니다. |