/// <summary> /// Creates a new <see cref="RenderTarget3D" />. /// </summary> /// <param name="device">The <see cref="DirectXDevice"/>.</param> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="depth">The depth.</param> /// <param name="mipCount">Number of mipmaps, set to true to have all mipmaps, set to an int >=1 for a particular mipmap count.</param> /// <param name="format">Describes the format to use.</param> /// <param name="flags">Sets the texture flags (for unordered access...etc.)</param> /// <param name="arraySize">Size of the texture 3D array, default to 1.</param> /// <returns>A new instance of <see cref="RenderTarget3D" /> class.</returns> /// <msdn-id>ff476521</msdn-id> /// <unmanaged>HRESULT ID3D11Device::CreateTexture3D([In] const D3D11_TEXTURE3D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture3D** ppTexture3D)</unmanaged> /// <unmanaged-short>ID3D11Device::CreateTexture3D</unmanaged-short> public static RenderTarget3D New(DirectXDevice device, int width, int height, int depth, MipMapCount mipCount, PixelFormat format, TextureFlags flags = TextureFlags.RenderTarget | TextureFlags.ShaderResource, int arraySize = 1) { return(new RenderTarget3D(device, NewRenderTargetDescription(width, height, depth, format, flags | TextureFlags.RenderTarget, mipCount))); }
/// <summary> /// Creates a new <see cref="Texture3D"/>. /// </summary> /// <param name="device">The <see cref="DirectXDevice"/>.</param> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="depth">The depth.</param> /// <param name="mipCount">Number of mipmaps, set to true to have all mipmaps, set to an int >=1 for a particular mipmap count.</param> /// <param name="format">Describes the format to use.</param> /// <param name="usage">The usage.</param> /// <param name="textureData">DataBox used to fill texture data.</param> /// <param name="flags">Sets the texture flags (for unordered access...etc.)</param> /// <returns> /// A new instance of <see cref="Texture3D"/> class. /// </returns> /// <msdn-id>ff476522</msdn-id> /// <unmanaged>HRESULT ID3D11Device::CreateTexture3D([In] const D3D11_TEXTURE3D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture3D** ppTexture3D)</unmanaged> /// <unmanaged-short>ID3D11Device::CreateTexture3D</unmanaged-short> public static Texture3D New(DirectXDevice device, int width, int height, int depth, MipMapCount mipCount, PixelFormat format, DataBox[] textureData, TextureFlags flags = TextureFlags.ShaderResource, ResourceUsage usage = ResourceUsage.Default) { // TODO Add check for number of texture data according to width/height/depth/mipCount. return(new Texture3D(device, NewDescription(width, height, depth, format, flags | TextureFlags.ShaderResource, mipCount, usage), textureData)); }
/// <summary> /// Creates a new <see cref="Texture2D" />. /// </summary> /// <param name="device">The <see cref="DirectXDevice"/>.</param> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="format">Describes the format to use.</param> /// <param name="mipCount">Number of mipmaps, set to true to have all mipmaps, set to an int >=1 for a particular mipmap count.</param> /// <param name="textureData">Texture data through an array of <see cref="DataBox"/> </param> /// <param name="flags">Sets the texture flags (for unordered access...etc.)</param> /// <param name="arraySize">Size of the texture 2D array, default to 1.</param> /// <param name="usage">The usage.</param> /// <returns>A new instance of <see cref="Texture2D" /> class.</returns> /// <msdn-id>ff476521</msdn-id> /// <unmanaged>HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D)</unmanaged> /// <unmanaged-short>ID3D11Device::CreateTexture2D</unmanaged-short> public static Texture2D New(DirectXDevice device, int width, int height, MipMapCount mipCount, PixelFormat format, DataBox[] textureData, TextureFlags flags = TextureFlags.ShaderResource, int arraySize = 1, ResourceUsage usage = ResourceUsage.Default) { return(new Texture2D(device, NewDescription(width, height, format, flags | TextureFlags.ShaderResource, mipCount, arraySize, usage), textureData)); }
/// <summary> /// Creates a new <see cref="TextureCube"/>. /// </summary> /// <param name="device">The <see cref="DirectXDevice"/>.</param> /// <param name="size">The size (in pixels) of the top-level faces of the cube texture.</param> /// <param name="mipCount">Number of mipmaps, set to true to have all mipmaps, set to an int >=1 for a particular mipmap count.</param> /// <param name="format">Describes the format to use.</param> /// <param name="usage">The usage.</param> /// <param name="flags">Sets the texture flags (for unordered access...etc.)</param> /// <returns> /// A new instance of <see cref="Texture2D"/> class. /// </returns> /// <msdn-id>ff476521</msdn-id> /// <unmanaged>HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D)</unmanaged> /// <unmanaged-short>ID3D11Device::CreateTexture2D</unmanaged-short> public static TextureCube New(DirectXDevice device, int size, MipMapCount mipCount, PixelFormat format, TextureFlags flags = TextureFlags.ShaderResource, ResourceUsage usage = ResourceUsage.Default) { return(new TextureCube(device, NewTextureCubeDescription(size, format, flags | TextureFlags.ShaderResource, mipCount, usage))); }
/// <summary> /// Creates a new <see cref="Texture3D"/>. /// </summary> /// <param name="device">The <see cref="DirectXDevice"/>.</param> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="depth">The depth.</param> /// <param name="mipCount">Number of mipmaps, set to true to have all mipmaps, set to an int >=1 for a particular mipmap count.</param> /// <param name="format">Describes the format to use.</param> /// <param name="usage">The usage.</param> /// <param name="flags">Sets the texture flags (for unordered access...etc.)</param> /// <returns> /// A new instance of <see cref="Texture3D"/> class. /// </returns> /// <msdn-id>ff476522</msdn-id> /// <unmanaged>HRESULT ID3D11Device::CreateTexture3D([In] const D3D11_TEXTURE3D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture3D** ppTexture3D)</unmanaged> /// <unmanaged-short>ID3D11Device::CreateTexture3D</unmanaged-short> public static Texture3D New(DirectXDevice device, int width, int height, int depth, MipMapCount mipCount, PixelFormat format, TextureFlags flags = TextureFlags.ShaderResource, ResourceUsage usage = ResourceUsage.Default) { return(new Texture3D(device, NewDescription(width, height, depth, format, flags | TextureFlags.ShaderResource, mipCount, usage))); }
/// <summary> /// Creates a new instance of a 3D <see cref="Image"/>. /// </summary> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="depth">The depth.</param> /// <param name="mipMapCount">The mip map count.</param> /// <param name="format">The format.</param> /// <param name="dataPointer">Pointer to an existing buffer.</param> /// <returns>A new image.</returns> public static Image New3D(int width, int height, int depth, MipMapCount mipMapCount, PixelFormat format, IntPtr dataPointer) { return(new Image(CreateDescription(TextureDimension.Texture3D, width, width, depth, mipMapCount, format, 1), dataPointer, 0, null, false)); }
private static ImageDescription CreateDescription(TextureDimension dimension, int width, int height, int depth, MipMapCount mipMapCount, PixelFormat format, int arraySize) { return(new ImageDescription { Width = width, Height = height, Depth = depth, ArraySize = arraySize, Dimension = dimension, Format = format, MipLevels = mipMapCount, }); }
/// <summary> /// Creates a new instance of a 2D <see cref="Image"/>. /// </summary> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="mipMapCount">The mip map count.</param> /// <param name="format">The format.</param> /// <param name="arraySize">Size of the array.</param> /// <param name="dataPointer">Pointer to an existing buffer.</param> /// <returns>A new image.</returns> public static Image New2D(int width, int height, MipMapCount mipMapCount, PixelFormat format, int arraySize, IntPtr dataPointer) { return(new Image(CreateDescription(TextureDimension.Texture2D, width, height, 1, mipMapCount, format, arraySize), dataPointer, 0, null, false)); }
/// <summary> /// Creates a new instance of a Cube <see cref="Image"/>. /// </summary> /// <param name="width">The width.</param> /// <param name="mipMapCount">The mip map count.</param> /// <param name="format">The format.</param> /// <param name="dataPointer">Pointer to an existing buffer.</param> /// <returns>A new image.</returns> public static Image NewCube(int width, MipMapCount mipMapCount, PixelFormat format, IntPtr dataPointer) { return(new Image(CreateDescription(TextureDimension.TextureCube, width, width, 1, mipMapCount, format, 6), dataPointer, 0, null, false)); }
/// <summary> /// Creates a new instance of a 3D <see cref="Image"/>. /// </summary> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="depth">The depth.</param> /// <param name="mipMapCount">The mip map count.</param> /// <param name="format">The format.</param> /// <returns>A new image.</returns> public static Image New3D(int width, int height, int depth, MipMapCount mipMapCount, PixelFormat format) { return(New3D(width, height, depth, mipMapCount, format, IntPtr.Zero)); }
/// <summary> /// Creates a new instance of a Cube <see cref="Image"/>. /// </summary> /// <param name="width">The width.</param> /// <param name="mipMapCount">The mip map count.</param> /// <param name="format">The format.</param> /// <returns>A new image.</returns> public static Image NewCube(int width, MipMapCount mipMapCount, PixelFormat format) { return(NewCube(width, mipMapCount, format, IntPtr.Zero)); }
/// <summary> /// Creates a new instance of a 2D <see cref="Image"/>. /// </summary> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="mipMapCount">The mip map count.</param> /// <param name="format">The format.</param> /// <param name="arraySize">Size of the array.</param> /// <returns>A new image.</returns> public static Image New2D(int width, int height, MipMapCount mipMapCount, PixelFormat format, int arraySize = 1) { return(New2D(width, height, mipMapCount, format, arraySize, IntPtr.Zero)); }
/// <summary> /// Creates a new <see cref="RenderTargetCube" />. /// </summary> /// <param name="device">The <see cref="DirectXDevice"/>.</param> /// <param name="size">The size (in pixels) of the top-level faces of the cube texture.</param> /// <param name="mipCount">Number of mipmaps, set to true to have all mipmaps, set to an int >=1 for a particular mipmap count.</param> /// <param name="format">Describes the format to use.</param> /// <param name="flags">Sets the texture flags (for unordered access...etc.)</param> /// <returns>A new instance of <see cref="RenderTargetCube" /> class.</returns> /// <msdn-id>ff476521</msdn-id> /// <unmanaged>HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D)</unmanaged> /// <unmanaged-short>ID3D11Device::CreateTexture2D</unmanaged-short> public static RenderTargetCube New(DirectXDevice device, int size, MipMapCount mipCount, PixelFormat format, TextureFlags flags = TextureFlags.RenderTarget | TextureFlags.ShaderResource) { return(new RenderTargetCube(device, NewRenderTargetDescription(size, format, flags | TextureFlags.RenderTarget, mipCount))); }
/// <summary> /// Creates a new texture description <see cref="RenderTarget2D" />. /// </summary> /// <param name="device">The <see cref="DirectXDevice"/>.</param> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="mipCount">Number of mipmaps, set to true to have all mipmaps, set to an int >=1 for a particular mipmap count.</param> /// <param name="format">Describes the format to use.</param> /// <param name="flags">Sets the texture flags (for unordered access...etc.)</param> /// <param name="arraySize">Size of the texture 2D array, default to 1.</param> /// <returns>A new instance of <see cref="RenderTarget2D" /> class.</returns> /// <msdn-id>ff476521</msdn-id> /// <unmanaged>HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D)</unmanaged> /// <unmanaged-short>ID3D11Device::CreateTexture2D</unmanaged-short> public static Texture2DDescription CreateDescription(DirectXDevice device, int width, int height, MipMapCount mipCount, PixelFormat format, TextureFlags flags = TextureFlags.RenderTarget | TextureFlags.ShaderResource, int arraySize = 1) { return(CreateDescription(device, width, height, format, flags, mipCount, arraySize, MSAALevel.None)); }