public static GPUTexture Get(ref GPUTextureDescription desc)
        {
#if UNIT_TEST_COMPILANT
            throw new NotImplementedException("Unit tests, don't support methods calls. Only properties can be get or set.");
#else
            return(Internal_Get(ref desc));
#endif
        }
 internal static extern bool Internal_Init(IntPtr obj, ref GPUTextureDescription desc);
 /// <summary>
 /// Initializes a texture resource (allocates the GPU memory and performs the resource setup).
 /// </summary>
 /// <param name="desc">The texture description.</param>
 /// <returns>True if cannot create texture, otherwise false.</returns>
 public bool Init(ref GPUTextureDescription desc)
 {
     return(Internal_Init(unmanagedPtr, ref desc));
 }
 internal static extern void Internal_GetDescription(IntPtr obj, out GPUTextureDescription resultAsRef);
 internal static extern GPUTexture Internal_Get(ref GPUTextureDescription desc);
 /// <summary>
 /// Gets a temporary render target.
 /// </summary>
 /// <param name="desc">The texture description.</param>
 /// <returns>The allocated render target or reused one.</returns>
 public static GPUTexture Get(ref GPUTextureDescription desc)
 {
     return(Internal_Get(ref desc));
 }