5 #import <Metal/Metal.h>    17     ID3D12Resource* resource = 
nullptr;
    18     D3D12_RESOURCE_STATES usageState = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
    19     D3D12_RESOURCE_STATES transitioningState = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
    20     D3D12_GPU_VIRTUAL_ADDRESS gpuVirtualAddress = 0;
    27     enum class TextureWrap
    34     enum class TextureFilter
    58         unsigned GetID()
 const { 
return handle; }
    60         id<MTLTexture> GetMetalTexture()
 const { 
return metalTexture; }
    63         GpuResource* GetGpuResource() { 
return &gpuResource; }
    64         D3D12_CPU_DESCRIPTOR_HANDLE& GetDSV() { 
return dsv; }
    65         D3D12_CPU_DESCRIPTOR_HANDLE& GetRTV() { 
return rtv; }
    67         D3D12_CPU_DESCRIPTOR_HANDLE& GetCubeDSV( 
unsigned cubeMapFace ) { 
return cubeDsvs[ cubeMapFace ]; }
    68         D3D12_CPU_DESCRIPTOR_HANDLE& GetCubeRTV( 
unsigned cubeMapFace ) { 
return cubeRtvs[ cubeMapFace ]; }
    70         ColorSpace GetColorSpace()
 const { 
return colorSpace; }
    83         TextureWrap 
GetWrap()
 const { 
return wrap; }
   108         TextureWrap wrap = TextureWrap::Repeat;
   110         TextureFilter filter = TextureFilter::Nearest;
   112         Vec4 scaleOffset{ 1, 1, 0, 0 };
   114         Mipmaps mipmaps = Mipmaps::None;
   116         float anisotropy = 1;
   118         ColorSpace colorSpace = ColorSpace::RGB;
   120         id<MTLTexture> metalTexture;  
   123         GpuResource gpuResource;
   124         GpuResource gpuResourceDepth;
   126         D3D12_CPU_DESCRIPTOR_HANDLE srv = {};
   127         D3D12_CPU_DESCRIPTOR_HANDLE rtv = {};
   128         D3D12_CPU_DESCRIPTOR_HANDLE dsv = {};
   130         D3D12_CPU_DESCRIPTOR_HANDLE cubeRtvs[ 6 ] = {};
   131         D3D12_CPU_DESCRIPTOR_HANDLE cubeDsvs[ 6 ] = {};
   136         bool isRenderTexture = 
false;
 const Vec4 & GetScaleOffset() const 
Definition: TextureBase.hpp:92
 
unsigned GetID() const 
Definition: TextureBase.hpp:58
 
Definition: AudioClip.hpp:4
 
4-component vector. 
Definition: Vec3.hpp:351
 
bool IsRenderTexture() const 
Definition: TextureBase.hpp:98
 
TextureWrap GetWrap() const 
Definition: TextureBase.hpp:83
 
int GetHeight() const 
Definition: TextureBase.hpp:80
 
bool IsOpaque() const 
Definition: TextureBase.hpp:95
 
float GetAnisotropy() const 
Definition: TextureBase.hpp:74
 
Mipmaps GetMipmaps() const 
Definition: TextureBase.hpp:89
 
int GetWidth() const 
Definition: TextureBase.hpp:77
 
TextureFilter GetFilter() const 
Definition: TextureBase.hpp:86
 
Base class for textures. 
Definition: TextureBase.hpp:54