mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
Added DirectXTK to GlitchyEngineHelper
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
FileVersion = 1
|
||||
Dependencies = {corlib = "*", corlib = "*"}
|
||||
Dependencies = {corlib = "*", corlib = "*", DirectX = "*"}
|
||||
|
||||
[Project]
|
||||
Name = "GlitchyEngineHelper"
|
||||
|
||||
@@ -6,7 +6,9 @@ cmake_minimum_required (VERSION 3.15)
|
||||
project ("GlitchyEngineHelper")
|
||||
|
||||
# Add source to this project's executable.
|
||||
add_library (GlitchyEngineHelper "GlitchyEngineHelper.cpp" "GlitchyEngineHelper.h" "vendor/xxHash/xxhash.c" "vendor/xxHash/xxhash.h")
|
||||
add_library (GlitchyEngineHelper "GlitchyEngineHelper.cpp" "GlitchyEngineHelper.h" "vendor/xxHash/xxhash.c" "vendor/xxHash/xxhash.h" "vendor/DirectXTK/Src/DDSTextureLoader.cpp")
|
||||
|
||||
include_directories("vendor/DirectXTK/Inc")
|
||||
|
||||
# Use statically linked multithreaded MSVC runtime
|
||||
set_property(TARGET GlitchyEngineHelper PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreadedDebug")
|
||||
|
||||
@@ -14,3 +14,143 @@ GE_EXPORT XXH64_hash_t bla(void* buffer, size_t size, XXH64_hash_t seed)
|
||||
{
|
||||
return XXH64(buffer, size, seed);
|
||||
}
|
||||
|
||||
// Standard version
|
||||
GE_EXPORT HRESULT GE_CALLTYPE DirectXTK_CreateDDSTextureFromMemory(
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
|
||||
_In_ size_t ddsDataSize,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_In_ size_t maxsize,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromMemory(d3dDevice, ddsData, ddsDataSize, texture, textureView, maxsize, alphaMode);
|
||||
}
|
||||
|
||||
GE_EXPORT HRESULT GE_CALLTYPE DirectXTK_CreateDDSTextureFromFile(
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_z_ const wchar_t* szFileName,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_In_ size_t maxsize,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromFile(d3dDevice, szFileName, texture, textureView, maxsize, alphaMode);
|
||||
}
|
||||
|
||||
// Standard version with optional auto-gen mipmap support
|
||||
GE_EXPORT HRESULT GE_CALLTYPE DirectXTK_CreateDDSTextureFromMemoryMip(
|
||||
#if defined(_XBOX_ONE) && defined(_TITLE)
|
||||
_In_ ID3D11DeviceX* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContextX* d3dContext,
|
||||
#else
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContext* d3dContext,
|
||||
#endif
|
||||
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
|
||||
_In_ size_t ddsDataSize,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_In_ size_t maxsize,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromMemory(d3dDevice, d3dContext, ddsData, ddsDataSize, texture, textureView, maxsize, alphaMode);
|
||||
}
|
||||
|
||||
GE_EXPORT HRESULT GE_CALLTYPE DirectXTK_CreateDDSTextureFromFileMip(
|
||||
#if defined(_XBOX_ONE) && defined(_TITLE)
|
||||
_In_ ID3D11DeviceX* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContextX* d3dContext,
|
||||
#else
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContext* d3dContext,
|
||||
#endif
|
||||
_In_z_ const wchar_t* szFileName,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_In_ size_t maxsize,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromFile(d3dDevice, d3dContext, szFileName, texture, textureView, maxsize, alphaMode);
|
||||
}
|
||||
|
||||
// Extended version
|
||||
HRESULT __cdecl DirectXTK_CreateDDSTextureFromMemoryEx(
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
|
||||
_In_ size_t ddsDataSize,
|
||||
_In_ size_t maxsize,
|
||||
_In_ D3D11_USAGE usage,
|
||||
_In_ unsigned int bindFlags,
|
||||
_In_ unsigned int cpuAccessFlags,
|
||||
_In_ unsigned int miscFlags,
|
||||
_In_ bool forceSRGB,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromMemoryEx(d3dDevice, ddsData, ddsDataSize, maxsize, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, texture, textureView, alphaMode);
|
||||
}
|
||||
|
||||
HRESULT __cdecl DirectXTK_CreateDDSTextureFromFileEx(
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_z_ const wchar_t* szFileName,
|
||||
_In_ size_t maxsize,
|
||||
_In_ D3D11_USAGE usage,
|
||||
_In_ unsigned int bindFlags,
|
||||
_In_ unsigned int cpuAccessFlags,
|
||||
_In_ unsigned int miscFlags,
|
||||
_In_ bool forceSRGB,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromFileEx(d3dDevice, szFileName, maxsize, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, texture, textureView, alphaMode);
|
||||
}
|
||||
|
||||
// Extended version with optional auto-gen mipmap support
|
||||
HRESULT __cdecl DirectXTK_CreateDDSTextureFromMemoryExMip(
|
||||
#if defined(_XBOX_ONE) && defined(_TITLE)
|
||||
_In_ ID3D11DeviceX* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContextX* d3dContext,
|
||||
#else
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContext* d3dContext,
|
||||
#endif
|
||||
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
|
||||
_In_ size_t ddsDataSize,
|
||||
_In_ size_t maxsize,
|
||||
_In_ D3D11_USAGE usage,
|
||||
_In_ unsigned int bindFlags,
|
||||
_In_ unsigned int cpuAccessFlags,
|
||||
_In_ unsigned int miscFlags,
|
||||
_In_ bool forceSRGB,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromMemoryEx(d3dDevice, d3dContext, ddsData, ddsDataSize, maxsize, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, texture, textureView, alphaMode);
|
||||
}
|
||||
|
||||
HRESULT __cdecl DirectXTK_CreateDDSTextureFromFileExMip(
|
||||
#if defined(_XBOX_ONE) && defined(_TITLE)
|
||||
_In_ ID3D11DeviceX* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContextX* d3dContext,
|
||||
#else
|
||||
_In_ ID3D11Device* d3dDevice,
|
||||
_In_opt_ ID3D11DeviceContext* d3dContext,
|
||||
#endif
|
||||
_In_z_ const wchar_t* szFileName,
|
||||
_In_ size_t maxsize,
|
||||
_In_ D3D11_USAGE usage,
|
||||
_In_ unsigned int bindFlags,
|
||||
_In_ unsigned int cpuAccessFlags,
|
||||
_In_ unsigned int miscFlags,
|
||||
_In_ bool forceSRGB,
|
||||
_Outptr_opt_ ID3D11Resource** texture,
|
||||
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
|
||||
_Out_opt_ DirectX::DDS_ALPHA_MODE* alphaMode) noexcept
|
||||
{
|
||||
return DirectX::CreateDDSTextureFromFileEx(d3dDevice, d3dContext, szFileName, maxsize, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, texture, textureView, alphaMode);
|
||||
}
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
#pragma once
|
||||
|
||||
#define GE_EXPORT extern "C" __declspec(dllexport)
|
||||
#define GE_CALLTYPE __stdcall
|
||||
#define GE_CALLTYPE __cdecl
|
||||
|
||||
#include "vendor/xxHash/xxhash.h"
|
||||
|
||||
// TODO: Reference additional headers your program requires here.
|
||||
#include "vendor/DirectXTK/Inc/DDSTextureLoader.h"
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
+1
Submodule GlitchyEngineHelper/vendor/DirectXTK added at 21980527c8
Reference in New Issue
Block a user