다음을 통해 공유


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