https://developer.apple.com/documentation/metal/mtltexture
A resource that holds formatted image data.
포맷화된 이미지 데이터를 갖고 있는 리소스입니다.
protocol MTLTexture
이 프로토콜을 직접 구현하지 않아야 합니다. 대신 MTLTexture
객체를 생성하려면 아래 메소드 중 한 가지를 사용해야 합니다.
MTLTextureDescriptor
객체를 생성하고, MTLDevice
프로토콜의 makeTexture(descriptor:)
메소드를 호출합니다.IOSurface
를 사용하는 텍스처를 생성하려면 서피스에서 이미지 데이터를 설명하기 위한 MTLTextureDescriptor
객체를 생성하고, makeTexture(descriptor:iosurface:plane:)
메소드를 호출해야 합니다.makeTextureView(pixelFormat:)
혹은 makeTextureView(pixelFormat:textureType:levels:slices:)
메소드를 텍스처 객체에 호출해야 합니다. 소스 텍스처의 픽셀 포맷과 호환 가능한 새로운 텍스처에 픽셀 포맷을 선택해줘야 합니다. 새로운 텍스처는 소스 텍스처와 같은 스토리지 할당을 공유합니다. 새로운 텍스처를 변경하면 소스 텍스처에도 반영이 되며, 반대의 경우도 성립합니다.MTLBuffer
객체의 컨텐츠를 사용하는 텍스처를 생성하려면 텍스처의 속성을 설명하는 MTLTextureDescriptor
객체를 생성하고, makeTexture(descriptor:offset:bytesPerRow:)
메소드를 버퍼 객체에 호출해야 합니다. 새로운 텍스처 객체는 소스 버퍼 객체와 스토리지 할당을 공유합니다. 텍스처에 변경사항이 발생하면 다른 한 쪽도 반영됩니다.MTLTexture
객체를 생성한 후 크기, 타입, 픽셀 포맷과 같은 대부분의 특징은 모두 수정 불가능하고 변경될 수 없습니다. 텍스처의 픽셀 데이터만 수정 가능합니다.
시스템 메모리로부터 텍스처에 픽셀 데이터를 복사하려면 replace(region:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:)
혹은 replace(region:mipmapLevel:withBytes:bytesPerRow:)
메소드를 호출하시기 바랍니다.
픽셀 데이터를 시스템 메모리로 복사하려면 getBytes(_:bytesPerRow:bytesPerImage:from:mipmapLevel:slice:)
혹은 getBytes(_:bytesPerRow:from:mipmapLevel:)
메소드를 호출하시기 바랍니다.