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(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 버전 정보를 나타냅니다. |