ID3D12Device7::AddToStateObject 메서드(d3d12.h)
기존 상태 개체에 증분 방식으로 추가합니다. 이렇게 하면 기존 개체의 상위 집합인 상태 개체를 처음부터 만드는 것보다 낮은 CPU 오버헤드가 발생합니다(예: 셰이더 몇 개 추가).
구문
HRESULT AddToStateObject(
const D3D12_STATE_OBJECT_DESC *pAddition,
ID3D12StateObject *pStateObjectToGrowFrom,
REFIID riid,
void **ppNewStateObject
);
매개 변수
pAddition
형식: _In_ const D3D12_STATE_OBJECT_DESC*
기존 상태 개체에 추가할 상태 개체 내용에 대한 설명입니다. 이를 생성하려면 의 클래스에서 CD3D12_STATE_OBJECT_DESC 도우미를 d3dx12.h
참조하세요.
pStateObjectToGrowFrom
형식: _In_ ID3D12StateObject*
이 작업 중에 사용할 수 있는 기존 상태 개체(예: 활성 광선 추적).
기존 상태 개체는 Collection 형식이 아니어야 합니다.
riid
형식: _In_ REFIID
ID3D12StateObject 인터페이스의 IID여야 합니다.
ppNewStateObject
형식: _COM_Outptr_ void**
반환된 상태 개체입니다.
이 호출에서 새 셰이더에 대한 셰이더 식별자를 검색하고 일부 이전 상태 개체를 참조하는 기존 또는 진행 중인 명령 목록을 통해 셰이더 테이블을 통해 액세스하는 경우 동작은 정의되지 않습니다. 상태 개체에 추가된 새 셰이더의 사용은 AddToStateObject 호출 후 명령 목록에 기록된 명령(예: DispatchRays 또는 ExecuteIndirect 호출)에서만 발생할 수 있습니다.
반환 값
성공을 위한 S_OK. E_INVALIDARG 실패 시 E_OUTOFMEMORY . 디버그 계층은 자세한 상태 정보를 제공합니다.
설명
자세한 내용은 AddToStateObject를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 빌드 20348 |
지원되는 최소 서버 | Windows 10 빌드 20348 |
머리글 | d3d12.h |
라이브러리 | d3d12.lib |
DLL | d3d12.dll |