D3D10DisassembleEffect 함수(d3d10effect.h)
컴파일된 효과를 어셈블리 지침 및 등록 할당이 포함된 텍스트 문자열로 디스어셈블하는 이 함수는 더 이상 사용되지 않습니다. 대신 D3DDisassemble10Effect를 사용합니다.
구문
HRESULT D3D10DisassembleEffect(
[in] ID3D10Effect *pEffect,
[in] BOOL EnableColorCode,
[out] ID3D10Blob **ppDisassembly
);
매개 변수
[in] pEffect
형식: ID3D10Effect*
컴파일된 효과를 포함하는 ID3D10Effect 인터페이스에 대한 포인터입니다.
[in] EnableColorCode
형식: BOOL
출력에 HTML 태그를 포함하여 결과를 색 코드로 지정합니다.
[out] ppDisassembly
형식: ID3D10Blob**
디스어셈블된 셰이더를 포함하는 ID3D10Blob 인터페이스 에 대한 포인터입니다.
반환 값
형식: HRESULT
다음 Direct3D 10 반환 코드 중 하나를 반환합니다.
설명
반환된 이 텍스트에는 이 개체를 생성하는 데 사용되는 HLSL 컴파일러 버전이 포함된 헤더, 셰이더에서 사용하는 상수 버퍼의 메모리 레이아웃을 설명하는 주석, 입력 및 출력 서명 및 리소스 바인딩 지점이 포함됩니다.
다음은 컴파일된 효과를 디스어셈블하는 예제입니다. 이 예제에서는 컴파일된 효과로 시작한다고 가정합니다(효과 컴파일(Direct3D 10)에서 볼 수 있는 l_pBlob_Effect 표시됨).
LPCSTR commentString = NULL;
ID3D10Blob* pIDisassembly = NULL;
char* pDisassembly = NULL;
if( pVSBuf )
{
D3D10DisassembleEffect( (UINT*) l_pBlob_Effect->GetBufferPointer(),
l_pBlob_Effect->GetBufferSize(), TRUE, commentString, &pIDisassembly );
if( pIDisassembly )
{
FILE* pFile = fopen( "effect.htm", "w" );
if( pFile)
{
fputs( (char*)pIDisassembly->GetBufferPointer(), pFile );
fclose( pFile );
}
}
}
요구 사항
대상 플랫폼 | Windows |
헤더 | d3d10effect.h |
라이브러리 | D3D10.lib |
DLL | D3D10.dll |