VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
visutwin::canvas::gpu::MetalTexture Class Reference

#include <platform/graphics/metal/metalTexture.h>

Inheritance diagram for visutwin::canvas::gpu::MetalTexture:
[legend]

Public Member Functions

void create (MetalGraphicsDevice *device)
 MetalTexture (Texture *texture)
void propertyChanged (uint32_t flag) override
MTL::Texture * raw () const
void setExternalTexture (MTL::Texture *externalTexture)
void uploadData (GraphicsDevice *device)
void uploadImmediate (GraphicsDevice *device) override
 ~MetalTexture ()
Public Member Functions inherited from visutwin::canvas::gpu::HardwareTexture
virtual ~HardwareTexture ()=default

Detailed Description

Metal texture implementation. Wraps MTL::Texture and provides texture management functionality.

Definition at line 18 of file metalTexture.h.

Constructor & Destructor Documentation

◆ MetalTexture()

visutwin::canvas::gpu::MetalTexture::MetalTexture ( Texture * texture)
explicit

Definition at line 69 of file metalTexture.cpp.

◆ ~MetalTexture()

visutwin::canvas::gpu::MetalTexture::~MetalTexture ( )

Definition at line 73 of file metalTexture.cpp.

Member Function Documentation

◆ create()

void visutwin::canvas::gpu::MetalTexture::create ( MetalGraphicsDevice * device)

Definition at line 94 of file metalTexture.cpp.

References visutwin::canvas::MetalGraphicsDevice::raw().

Referenced by uploadImmediate().

◆ propertyChanged()

void visutwin::canvas::gpu::MetalTexture::propertyChanged ( uint32_t flag)
overridevirtual

Implements visutwin::canvas::gpu::HardwareTexture.

Definition at line 299 of file metalTexture.cpp.

◆ raw()

MTL::Texture * visutwin::canvas::gpu::MetalTexture::raw ( ) const
inlinenodiscard

Definition at line 26 of file metalTexture.h.

◆ setExternalTexture()

void visutwin::canvas::gpu::MetalTexture::setExternalTexture ( MTL::Texture * externalTexture)

Replace the underlying Metal texture with an externally-owned one. Used by MetalTextureStream to inject the latest frame into the material/rendering system. The external texture is NOT owned by MetalTexture — caller must ensure it outlives usage.

Definition at line 85 of file metalTexture.cpp.

◆ uploadData()

void visutwin::canvas::gpu::MetalTexture::uploadData ( GraphicsDevice * device)

Definition at line 148 of file metalTexture.cpp.

Referenced by uploadImmediate().

◆ uploadImmediate()

void visutwin::canvas::gpu::MetalTexture::uploadImmediate ( GraphicsDevice * device)
overridevirtual

Implements visutwin::canvas::gpu::HardwareTexture.

Definition at line 120 of file metalTexture.cpp.

References create(), and uploadData().


The documentation for this class was generated from the following files: