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