Search Results for

    Show / Hide Table of Contents

    Class GPUTextureDX12

    Texture object for DirectX 12 backend.

    Inheritance
    Object
    ScriptingObject
    GPUResource
    GPUTexture
    GPUResourceBase
    GPUResourceDX12
    GPUTextureDX12
    Inherited Members
    GPUTexture::_desc
    GPUResourceBase::_device
    ScriptingObject::_gcHandle
    ScriptingObject::_id
    GPUTexture::_isBlockCompressed
    GPUResource::_memoryUsage
    GPUResource::_nameCapacity
    GPUResource::_namePtr
    GPUResource::_nameSize
    GPUTexture::_residentMipLevels
    ResourceOwnerDX12::_resource
    GPUTexture::_sRGB
    ResourceOwnerDX12::_subresourcesCount
    ScriptingObject::_type
    GPUTexture::ArraySize()
    GPUTexture::calculateMemoryUsage()
    GPUTexture::CalculateMipSize(int32 size, int32 mipLevel)
    ScriptingObject::CanCast(const ScriptingTypeHandle& from, const ScriptingTypeHandle& to)
    ScriptingObject::CanCast(const MClass* from, const MClass* to)
    ScriptingObject::Cast(ScriptingObject* obj)
    ScriptingObject::ChangeID(const Guid& newId)
    GPUTexture::ComputeBufferOffset(int32 subresource, int32 rowAlign, int32 sliceAlign)
    GPUTexture::ComputeBufferTotalSize(int32 rowAlign, int32 sliceAlign)
    GPUTexture::ComputePitch(int32 mipIndex, uint32& rowPitch, uint32& slicePitch)
    GPUTexture::ComputeRowPitch(int32 mipLevel, int32 rowAlign)
    GPUTexture::ComputeSlicePitch(int32 mipLevel, int32 rowAlign)
    GPUTexture::ComputeSubresourceSize(int32 subresource, int32 rowAlign, int32 sliceAlign)
    ScriptingObject::CreateManaged()
    ScriptingObject::CreateManagedInternal()
    ScriptingObject::Deleted
    Object::DeleteObject(float timeToLive = 0.0f, bool useGameTime=false)
    Object::DeleteObjectNow()
    GPUTexture::Depth()
    ScriptingObject::DestroyManaged()
    GPUTexture::Dimensions()
    GPUTexture::DownloadData(TextureData& result)
    GPUTexture::DownloadDataAsync(TextureData& result)
    GPUTexture::Flags()
    Object::Flags
    GPUTexture::Format()
    ScriptingObject::FromInterface(void* interfaceObj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::FromInterface(T* interfaceObj)
    ScriptingObject::GetClass()
    GPUTexture::GetDescription()
    GPUResourceBase::GetDevice()
    ScriptingObject::GetID()
    ScriptingObject::GetManagedInstance()
    GPUResource::GetMemoryUsage()
    GPUTexture::GetMipSize(int32 mipLevelIndex, int32& mipWidth, int32& mipHeight)
    GPUTexture::GetMipSize(int32 mipLevelIndex, int32& mipWidth, int32& mipHeight, int32& mipDepth)
    GPUResource::GetName()
    ScriptingObject::GetOrCreateManagedInstance()
    GPUTexture::GetResidentSize(int32& width, int32& height)
    GPUTexture::GetResidentSize(int32& width, int32& height, int32& depth)
    ResourceOwnerDX12::GetResource()
    GPUTexture::GetResourceType()
    ResourceOwnerDX12::GetSubresourcesCount()
    ScriptingObject::GetType()
    ScriptingObject::GetTypeHandle()
    GPUResource::GPUResource()
    GPUResource::GPUResource(const SpawnParams& params)
    GPUResourceBase::GPUResourceBase(DeviceType* device, const StringView& name)
    GPUResourceDX12::GPUResourceDX12(GPUDeviceDX12* device, const StringView& name)
    GPUTexture::GPUTexture()
    ScriptingObject::HasManagedInstance()
    GPUTexture::HasPerMipViews()
    GPUTexture::HasPerSliceViews()
    GPUTexture::HasResidentMip()
    GPUTexture::Height()
    GPUTexture::HighestResidentMipIndex()
    GPUTexture::Init(const GPUTextureDescription& desc)
    ResourceOwnerDX12::initResource(ID3D12Resource* resource, const D3D12_RESOURCE_STATES initialState, const D3D12_RESOURCE_DESC& desc, bool usePerSubresourceTracking=false)
    ResourceOwnerDX12::initResource(ID3D12Resource* resource, const D3D12_RESOURCE_STATES initialState, const uint32 subresourceCount, bool usePerSubresourceTracking=false)
    ResourceOwnerDX12::initResource(const D3D12_RESOURCE_STATES initialState, const uint32 subresourceCount, bool usePerSubresourceTracking=false)
    ScriptingObject::Is(const ScriptingTypeHandle& type)
    ScriptingObject::Is(const MClass* type)
    ScriptingObject::Is()
    GPUTexture::IsAllocated()
    GPUTexture::IsArray()
    GPUTexture::IsBlockCompressed()
    GPUTexture::IsCubeMap()
    GPUTexture::IsDepthStencil()
    IShaderResourceDX12::IShaderResourceDX12()
    IShaderResourceDX12::IShaderResourceDX12(int32 subresourceIndex)
    GPUTexture::IsMultiSample()
    GPUTexture::IsPowerOfTwo()
    ScriptingObject::IsRegistered()
    GPUTexture::IsRegularTexture()
    GPUTexture::IsRenderTarget()
    GPUTexture::IsShaderResource()
    GPUTexture::IsSRGB()
    GPUTexture::IsStaging()
    GPUTexture::IsUnorderedAccess()
    GPUTexture::IsVolume()
    GPUResource::LastRenderTime
    GPUTexture::MipLevels()
    GPUTexture::MultiSampleLevel()
    ScriptingObject::NewObject(const ScriptingTypeHandle& typeHandle)
    ScriptingObject::NewObject()
    GPUResource::OnDeleteObject()
    GPUResourceBase::OnDeviceDispose()
    ScriptingObject::OnManagedInstanceDeleted()
    ResourceOwnerDX12::OnRelease
    ScriptingObject::OnScriptingDispose()
    GPUTexture::operator GPUTextureView* ()
    ScriptingObject::RegisterObject()
    GPUResource::ReleaseGPU()
    ResourceOwnerDX12::releaseResource(uint32 safeFrameCount=DX12_RESOURCE_DELETE_SAFE_FRAMES_COUNT)
    GPUResource::Releasing
    GPUTexture::ResidentMipLevels()
    GPUTexture::ResidentMipsChanged
    GPUTexture::Resize(int32 width, int32 height, PixelFormat format=PixelFormat::Unknown)
    GPUTexture::Resize(int32 width, int32 height, int32 depth, PixelFormat format=PixelFormat::Unknown)
    ResourceOwnerDX12::ResourceOwnerDX12()
    GPUTexture::RowPitch(int32 mipIndex = 0)
    ScriptingObject::ScriptingObject(const SpawnParams& params)
    ScriptingObject::SetManagedInstance(MObject* instance)
    GPUResource::SetName(const StringView& name)
    GPUTexture::SetResidentMipLevels(int32 count)
    GPUTexture::Size()
    GPUTexture::Size3()
    GPUTexture::SlicePitch(int32 mipIndex = 0)
    GPUTextureDX12
    IShaderResourceDX12::SrvDimension
    ResourceOwnerDX12::State
    IShaderResourceDX12::SubresourceIndex
    ScriptingObject::ToInterface(ScriptingObject* obj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::ToInterface(ScriptingObject* obj)
    ScriptingObject::ToManaged(const ScriptingObject* obj)
    ScriptingObject::ToNative(MObject* obj)
    GPUTexture::ToStagingReadback()
    GPUTexture::ToStagingUpload()
    GPUTexture::ToString()
    IShaderResourceDX12::UavDimension
    ScriptingObject::UnregisterObject()
    GPUTexture::UploadMipMapAsync(const BytesContainer& data, int32 mipIndex, bool copyData=false)
    GPUTexture::UploadMipMapAsync(const BytesContainer& data, int32 mipIndex, int32 rowPitch, int32 slicePitch, bool copyData=false)
    GPUTexture::View()
    GPUTexture::Width()
    GPUResource::~GPUResource()
    GPUResourceBase::~GPUResourceBase()
    Object::~Object()
    ResourceOwnerDX12::~ResourceOwnerDX12()
    ScriptingObject::~ScriptingObject()
    Assembly: FlaxEngine.dll
    File: Engine/GraphicsDevice/DirectX/DX12/GPUTextureDX12.h
    Syntax
    public class GPUTextureDX12 : public GPUResourceDX12, public ResourceOwnerDX12, public IShaderResourceDX12

    Constructors

    GPUTextureDX12(GPUDeviceDX12* device, const StringView& name)

    Declaration
    public GPUTextureDX12(GPUDeviceDX12* device, const StringView& name)
    Parameters
    GPUDeviceDX12 device

    StringView name

    Methods

    AsGPUResource()

    Gets resource owner object as a GPUResource type or returns null if cannot perform cast.

    Declaration
    public virtual GPUResource* AsGPUResource() const override
    Returns
    GPUResource

    Overrides
    ResourceOwnerDX12::AsGPUResource()

    GetData(int32 arrayIndex, int32 mipMapIndex, TextureMipData& data, uint32 mipRowPitch)

    Gets texture mipmap data (raw bytes). Can be used only with textures created with Staging flag.

    Declaration
    public virtual bool GetData(int32 arrayIndex, int32 mipMapIndex, TextureMipData& data, uint32 mipRowPitch) override
    Parameters
    int32 arrayIndex

    Array slice index.

    int32 mipMapIndex

    Mip map index.

    TextureMipData data

    Output mip data.

    uint32 mipRowPitch

    Output mip data row pitch to use. Use 0 to use the pitch from the internal GPU storage.

    Returns
    bool

    True if failed, otherwise false.

    Overrides
    GPUTexture::GetData(int32 arrayIndex, int32 mipMapIndex, TextureMipData& data, uint32 mipRowPitch = 0)

    GetNativePtr()

    Gets the native pointer to the underlying resource. It's a low-level platform-specific handle.

    Declaration
    public virtual void* GetNativePtr() const override
    Returns
    void

    The pointer.

    Overrides
    GPUTexture::GetNativePtr()

    GetResourceOwner()

    Gets the resource owner.

    Declaration
    public virtual ResourceOwnerDX12* GetResourceOwner() const override
    Returns
    ResourceOwnerDX12

    Overrides
    IShaderResourceDX12::GetResourceOwner()

    IsDepthStencilResource()

    Determines whether this resource is depth/stencil buffer.

    Declaration
    public virtual bool IsDepthStencilResource() const override
    Returns
    bool

    Overrides
    IShaderResourceDX12::IsDepthStencilResource()

    OnInit()

    Declaration
    protected virtual bool OnInit() override
    Returns
    bool

    Overrides
    GPUTexture::OnInit()

    OnReleaseGPU()

    Releases GPU resource data (implementation).

    Declaration
    protected virtual void OnReleaseGPU() override
    Overrides
    GPUTexture::OnReleaseGPU()

    OnResidentMipsChanged()

    Declaration
    protected virtual void OnResidentMipsChanged() override
    Overrides
    GPUTexture::OnResidentMipsChanged()

    SRV()

    Gets CPU handle to the shader resource view descriptor.

    Declaration
    public virtual D3D12_CPU_DESCRIPTOR_HANDLE SRV() const override
    Returns
    D3D12_CPU_DESCRIPTOR_HANDLE

    Overrides
    IShaderResourceDX12::SRV()

    UAV()

    Gets CPU handle to the unordered access view descriptor.

    Declaration
    public virtual D3D12_CPU_DESCRIPTOR_HANDLE UAV() const override
    Returns
    D3D12_CPU_DESCRIPTOR_HANDLE

    Overrides
    IShaderResourceDX12::UAV()

    View(int32 arrayOrDepthIndex)

    Gets the view to the surface at index in an array.

    To use per depth/array slice view you need to specify the GPUTextureFlags.PerSliceViews when creating the resource.

    Declaration
    public virtual GPUTextureView* View(int32 arrayOrDepthIndex) const override
    Parameters
    int32 arrayOrDepthIndex

    The index of the surface in an array (or depth slice index).

    Returns
    GPUTextureView

    The view to the surface at index in an array.

    Overrides
    GPUTexture::View(int32 arrayOrDepthIndex)

    View(int32 arrayOrDepthIndex, int32 mipMapIndex)

    Gets the view to the mip map surface at index in an array.

    To use per mip map view you need to specify the GPUTextureFlags.PerMipViews when creating the resource.

    Declaration
    public virtual GPUTextureView* View(int32 arrayOrDepthIndex, int32 mipMapIndex) const override
    Parameters
    int32 arrayOrDepthIndex

    The index of the surface in an array (or depth slice index).

    int32 mipMapIndex

    Index of the mip level.

    Returns
    GPUTextureView

    The view to the surface at index in an array.

    Overrides
    GPUTexture::View(int32 arrayOrDepthIndex, int32 mipMapIndex)

    ViewArray()

    Gets the view to the array of surfaces

    To use array texture view you need to create render target as an array.

    Declaration
    public virtual GPUTextureView* ViewArray() const override
    Returns
    GPUTextureView

    The view to the array of surfaces.

    Overrides
    GPUTexture::ViewArray()

    ViewReadOnlyDepth()

    Gets the view to the texture as read-only depth/stencil buffer. Valid only if graphics device supports it and the texture uses depth/stencil.

    Declaration
    public virtual GPUTextureView* ViewReadOnlyDepth() const override
    Returns
    GPUTextureView

    The view to the depth-stencil resource descriptor as read-only depth.

    Overrides
    GPUTexture::ViewReadOnlyDepth()

    ViewVolume()

    Gets the view to the volume texture (3D).

    To use volume texture view you need to create render target as a volume resource (3D texture with Depth> 1).

    Declaration
    public virtual GPUTextureView* ViewVolume() const override
    Returns
    GPUTextureView

    The view to the volume texture.

    Overrides
    GPUTexture::ViewVolume()
    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat