Win32 API:ID3D12VersionedRootSignatureDeserializer 接口(D3d12.h)
在 Direct3D 12 中,ID3D12VersionedRootSignatureDeserializer 接口用于反序列化(deserialize)根签名(root signature)。这个接口通常用于加载之前序列化保存的根签名。以下是 ID3D12VersionedRootSignatureDeserializer 接口的定义:DECLARE_INTERFACE_(ID3D12VersionedRootSignatureDeserializer, IUnknown){ STDMETHOD(GetRootSignatureDescAtVersion)( _In_ D3D_ROOT_SIGNATURE_VERSION MaxVersion, _COM_Outptr_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC** ppDesc) PURE;};主要方法是 GetRootSignatureDescAtVersion,它允许你获取特定版本的根签名描述符。具体来说,你可以使用这个接口从序列化数据中获取根签名描述...
Win32 API:ID3D12SwapChainAssistant 接口(D3d12.h)
ID3D12SwapChainAssistant 接口是Direct3D 12中的一部分,用于辅助创建交换链(Swap Chain)。交换链是用于呈现图形的表面,通常与窗口系统交互,允许应用程序显示图形输出。以下是关于 ID3D12SwapChainAssistant 接口的一些信息:1. 接口定义: interface ID3D12SwapChainAssistant : public IUnknown { // 方法定义 };2. 接口方法: - GetSwapChainObject: 获取与交换链助手关联的交换链对象。 HRESULT GetSwapChainObject( _In_ REFIID riid, _COM_Outptr_ void** ppv ); - GetCurrentResourceAndCommandQueue: 获取与交换链助手关联的当前资源和命令队列。 HRESULT GetC...
Win32 API:ID3D12StateObjectProperties 接口(D3d12.h)
ID3D12StateObjectProperties 接口是用于表示状态对象属性的 DirectX 12 接口。以下是典型的定义:typedef struct ID3D12StateObjectPropertiesVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12StateObjectProperties *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12StateObjectProperties *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12StateObjectProperties *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12StateObjectPro...
Win32 API:ID3D12StateObject 接口(D3d12.h)
ID3D12StateObject 接口是 DirectX 12 中用于表示状态对象的接口。以下是典型的定义:typedef struct ID3D12StateObjectVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12StateObject *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12StateObject *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12StateObject *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12StateObject *This, REFGUID guid, _Inout_ UINT *pDat...
Win32 API:ID3D12RootSignature 接口(D3d12.h)
ID3D12RootSignature 接口是 DirectX 12 中用于表示根签名的接口。以下是典型的定义:typedef struct ID3D12RootSignatureVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12RootSignature *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12RootSignature *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12RootSignature *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12RootSignature *This, REFGUID guid, _Inout_...
Win32 API:ID3D12Resource 接口(D3d12.h)
ID3D12Resource 接口是 DirectX 12 中用于表示资源(如缓冲区和纹理)的接口。以下是典型的定义:typedef struct ID3D12ResourceVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12Resource *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12Resource *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12Resource *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12Resource *This, REFGUID guid, _Inout_ UINT *pDataSize, ...
Win32 API:ID3D12QueryHeap 接口(D3d12.h)
ID3D12QueryHeap 接口是用于查询堆(Query Heap)的 DirectX 12 接口。查询堆是用于存储 GPU 查询的数据结构。以下是典型的定义:typedef struct ID3D12QueryHeapVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12QueryHeap *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12QueryHeap *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12QueryHeap *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12QueryHeap *This, REFGUID guid, _...
Win32 API:ID3D12ProtectedResourceSession 接口(D3d12.h)
ID3D12ProtectedResourceSession 接口是用于受保护资源管理的 DirectX 12 接口。这个接口提供了创建和管理受保护资源会话的功能。以下是典型的定义:typedef struct ID3D12ProtectedResourceSessionVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12ProtectedResourceSession *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12ProtectedResourceSession *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12ProtectedResourceSession *This); HRESULT(STDMETHODCALLTYPE *GetPriv...
Win32 API:ID3D12PipelineState 接口(D3d12.h)
ID3D12PipelineState 接口是 DirectX 12 中用于表示图形渲染和计算管线状态的接口。以下是典型的定义:typedef struct ID3D12PipelineStateVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12PipelineState *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12PipelineState *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12PipelineState *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12PipelineState *This, REFGUID guid, ...
Win32 API:ID3D12Pageable 接口(D3d12.h)
ID3D12Pageable 接口是 DirectX 12 中的一个接口,表示可以分页的对象。它是 ID3D12Object 接口的子接口,因此继承了 ID3D12Object 的所有基本功能。以下是 ID3D12Pageable 接口的典型定义:typedef struct ID3D12PageableVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12Pageable *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12Pageable *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12Pageable *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12Pageable...
Win32 API:ID3D12Object 接口(D3d12.h)
ID3D12Object 接口是 DirectX 12 中的一个基本接口,用于表示所有的 DirectX 12 对象。它是所有 DirectX 12 对象的基接口,提供了对象的基本功能和属性。以下是 ID3D12Object 接口的典型定义:typedef struct ID3D12ObjectVtbl{ BEGIN_INTERFACE HRESULT(STDMETHODCALLTYPE *QueryInterface)( ID3D12Object *This, REFIID riid, _COM_Outptr_ void **ppvObject); ULONG(STDMETHODCALLTYPE *AddRef)(ID3D12Object *This); ULONG(STDMETHODCALLTYPE *Release)(ID3D12Object *This); HRESULT(STDMETHODCALLTYPE *GetPrivateData)( ID3D12Object *This, ...
Win32 API:ID3D12Heap1 接口(D3d12.h)
ID3D12Heap1 接口是 Direct3D 12 图形 API 的扩展接口,用于表示支持特定功能的堆(Heap)对象。这个接口通常是在 ID3D12Heap 接口的基础上添加了新的方法或功能。以下是 ID3D12Heap1 接口的简要声明:#include <d3d12.h>// ...interface ID3D12Heap1 : public ID3D12Heap{ virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( REFIID riid, _COM_Outptr_opt_ void **ppvObject) = 0; // 其他方法...};这个接口的新增方法是: GetProtectedResourceSession: 获取与受保护的资源关联的受保护资源会话。受保护资源通常指的是数字版权管理(DRM)相关的资源,而受保护资源会话用于管理对这些资源的访问。这是与内容保护相关的一项功能。如果你需要更多关于 ID3D12Heap1 接口的详细信息,建...
Win32 API:ID3D12Heap 接口(D3d12.h)
ID3D12Heap 接口是 Direct3D 12 图形 API 中的一个接口,用于表示堆(Heap)对象。堆是用于存储 GPU 资源(如缓冲区和纹理)的内存区域。以下是 ID3D12Heap 接口的简要声明:#include <d3d12.h>// ...interface ID3D12Heap : public ID3D12Pageable{ // 其他方法...};在实际使用中,你通常会通过 ID3D12Device::CreateHeap 方法创建一个堆对象。堆可以用于存储缓冲区、纹理、常量缓冲区等 GPU 资源。堆的类型和属性取决于你在创建时指定的参数。要使用堆存储资源,你通常还需要创建对应的资源对象,并将其绑定到堆上。这通常通过 ID3D12Device::CreatePlacedResource 或者 ID3D12Device::CreateReservedResource 方法完成。如果你需要更多关于 ID3D12Heap 接口的详细信息,建议查阅最新版本的 Windows SDK 文档。
Win32 API:ID3D12GraphicsCommandList1 接口(D3d12.h)
ID3D12GraphicsCommandList1 接口是 Direct3D 12 图形 API 的一个扩展接口,提供了对一些额外功能的支持。这个接口通常是在 ID3D12GraphicsCommandList 接口的基础上添加了新的方法或功能。以下是 ID3D12GraphicsCommandList1 接口的简要声明:#include <d3d12.h>// ...interface ID3D12GraphicsCommandList1 : public ID3D12GraphicsCommandList{ virtual HRESULT STDMETHODCALLTYPE WriteToSubresource( _In_ ID3D12Resource *pDstResource, UINT DstSubresource, _In_opt_ const D3D12_BOX *pDstBox, _In_ const void *pSrcData, UINT SrcRowPitch, ...
Win32 API:ID3D12GraphicsCommandList 接口(D3d12.h)
ID3D12GraphicsCommandList 接口是 Direct3D 12 图形 API 中的一个关键接口,用于记录和提交图形命令。该接口通常与 ID3D12CommandQueue 配合使用,以将命令传递给 GPU 执行。以下是 ID3D12GraphicsCommandList 接口的简要声明:#include <d3d12.h>// ...interface ID3D12GraphicsCommandList : public ID3D12CommandList{ virtual HRESULT STDMETHODCALLTYPE Close(void) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( _In_ ID3D12CommandAllocator *pAllocator, _In_opt_ ID3D12PipelineState *pInitialState) = 0; virtual void STDMETHODCALLTYPE ClearState( ...
Win32 API:ID3D12Fence1 接口(D3d12.h)
ID3D12Fence1 接口是 Direct3D 12 图形 API 的一部分,它是 ID3D12Fence 接口的扩展版本,提供了额外的功能。这个接口通常用于在异步 GPU 编程中进行同步。以下是 ID3D12Fence1 接口的简要声明:#include <d3d12.h>// ...interface ID3D12Fence1 : public ID3D12Fence{ virtual HRESULT STDMETHODCALLTYPE GetCreationParameters( _Out_ D3D12_FENCE_FLAGS *pFlags, _Out_ D3D12_FENCE_CREATION_ARGS *pCreationArgs) = 0; // 其他方法...};主要的新增方法是: GetCreationParameters: 获取 Fence 对象的创建参数,包括标志 (flags) 和创建参数 (creation arguments)。这个接口的引入可能是为了支持新的功能或者提供更多的信息。在使用这个接口时...
Win32 API:ID3D12Fence 接口(D3d12.h)
ID3D12Fence 接口是Direct3D 12图形API中的一个接口,用于创建和管理Fence对象。Fence(栅栏)是一种用于同步CPU和GPU操作的机制。它可以用来等待GPU完成某些操作,从而确保在CPU继续执行后的操作不会出现冲突。以下是ID3D12Fence 接口的简要声明:#include <d3d12.h>// ...interface ID3D12Fence : public ID3D12Pageable{ virtual UINT64 STDMETHODCALLTYPE GetCompletedValue(void) = 0; virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion( UINT64 Value, HANDLE hEvent) = 0; virtual HRESULT STDMETHODCALLTYPE Signal( UINT64 Value) = 0; // 其他方法...};主要的方法包括: GetComplete...
Win32 API:ID3D12DeviceChild 接口(D3d12.h)
ID3D12DeviceChild 接口是DirectX 12中的一个接口,用于表示与设备关联的资源或状态。它是所有在DirectX 12设备上创建的资源或状态对象的基类。该接口提供了一些通用的方法和属性,例如获取与资源或状态相关的GPU虚拟地址等。下面是 ID3D12DeviceChild 接口的一个简要声明:#include <d3d12.h>// ...interface ID3D12DeviceChild : public IUnknown{ virtual HRESULT STDMETHODCALLTYPE GetDevice( REFIID riid, _COM_Outptr_opt_ void **ppvDevice) = 0; virtual HRESULT STDMETHODCALLTYPE GetPrivateData( _In_ REFGUID guid, _Inout_ UINT *pDataSize, _Out_writes_bytes_opt_(*pDataS...
Win32 API:ID3D12Device2 接口(D3d12.h)
ID3D12Device2 接口是 DirectX 12 的扩展接口,扩展了 ID3D12Device1 接口,提供了额外的功能和改进。以下是 ID3D12Device2 接口的简要定义:DECLARE_INTERFACE_(ID3D12Device2, ID3D12Device1){ // 获取资源分配器(Resource Allocator) STDMETHOD(CreateCommittedResource2)(THIS_ const D3D12_HEAP_PROPERTIES *pHeapProperties, D3D12_HEAP_FLAGS HeapFlags, const D3D12_RESOURCE_DESC *pDesc, D3D12_RESOURCE_STATES InitialResourceState, ...
Win32 API:ID3D12Device1 接口(D3d12.h)
ID3D12Device1 接口是 DirectX 12 中的扩展接口,它扩展了 ID3D12Device 接口,提供了一些额外的功能和性能优化。以下是 ID3D12Device1 接口的简要定义:DECLARE_INTERFACE_(ID3D12Device1, ID3D12Device){ // 获取资源分配器(Resource Allocator) STDMETHOD(CreateCommittedResource1)(THIS_ const D3D12_HEAP_PROPERTIES *pHeapProperties, D3D12_HEAP_FLAGS HeapFlags, const D3D12_RESOURCE_DESC *pDesc, D3D12_RESOURCE_STATES InitialResourceState, ...