Files
glitchy-engine-beef/GlitchyEngineHelper/src/DirectXTK/DDSTextureLoader.bf
T

123 lines
3.9 KiB
Beef

using DirectX.Common;
using DirectX.D3D11;
using System;
using System.Interop;
namespace DirectXTK
{
enum DdsAlphaMode : uint32
{
Unknown = 0,
Straight = 1,
Premultiplied = 2,
Opaque = 3,
Custom = 4,
}
public static class DDSTextureLoader
{
// Standard version
[LinkName("DirectXTK_CreateDDSTextureFromMemory"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromMemory(
ID3D11Device* d3dDevice,
uint8* ddsData,
c_size ddsDataSize,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
c_size maxsize = 0,
DdsAlphaMode* alphaMode = null);
[LinkName("DirectXTK_CreateDDSTextureFromFile"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromFile(
ID3D11Device* d3dDevice,
c_wchar* szFileName,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
c_size maxsize = 0,
DdsAlphaMode* alphaMode = null);
// Standard version with optional auto-gen mipmap support
[LinkName("DirectXTK_CreateDDSTextureFromMemoryMip"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromMemory(
ID3D11Device* d3dDevice,
ID3D11DeviceContext* d3dContext,
uint8* ddsData,
c_size ddsDataSize,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
c_size maxsize = 0,
DdsAlphaMode* alphaMode = null);
[LinkName("DirectXTK_CreateDDSTextureFromFileMip"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromFile(
ID3D11Device* d3dDevice,
ID3D11DeviceContext* d3dContext,
c_wchar* szFileName,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
c_size maxsize = 0,
DdsAlphaMode* alphaMode = null);
// Extended version
[LinkName("DirectXTK_CreateDDSTextureFromMemoryEx"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromMemoryEx(
ID3D11Device* d3dDevice,
uint8* ddsData,
c_size ddsDataSize,
c_size maxsize,
Usage usage,
BindFlags bindFlags,
CpuAccessFlags cpuAccessFlags,
ResourceMiscFlags miscFlags,
bool forceSRGB,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
DdsAlphaMode* alphaMode = null);
[LinkName("DirectXTK_CreateDDSTextureFromFileEx"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromFileEx(
ID3D11Device* d3dDevice,
c_wchar* szFileName,
c_size maxsize,
Usage usage,
BindFlags bindFlags,
CpuAccessFlags cpuAccessFlags,
ResourceMiscFlags miscFlags,
bool forceSRGB,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
DdsAlphaMode* alphaMode = null);
// Extended version with optional auto-gen mipmap support
[LinkName("DirectXTK_CreateDDSTextureFromMemoryExMip"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromMemoryEx(
ID3D11Device* d3dDevice,
ID3D11DeviceContext* d3dContext,
uint8* ddsData,
c_size ddsDataSize,
c_size maxsize,
Usage usage,
BindFlags bindFlags,
CpuAccessFlags cpuAccessFlags,
ResourceMiscFlags miscFlags,
bool forceSRGB,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
DdsAlphaMode* alphaMode = null);
[LinkName("DirectXTK_CreateDDSTextureFromFileExMip"), CallingConvention(.Cdecl)]
public static extern HResult CreateDDSTextureFromFileEx(
ID3D11Device* d3dDevice,
ID3D11DeviceContext* d3dContext,
c_wchar* szFileName,
c_size maxsize,
Usage usage,
BindFlags bindFlags,
CpuAccessFlags cpuAccessFlags,
ResourceMiscFlags miscFlags,
bool forceSRGB,
ID3D11Resource** texture,
ID3D11ShaderResourceView** textureView,
DdsAlphaMode* alphaMode = null);
}
}