Update for DirectXTex/DirectXTK September 2020 releases (#29)

This commit is contained in:
Chuck Walbourn 2020-10-08 20:19:19 -07:00 коммит произвёл GitHub
Родитель 24dc7e8c9d
Коммит db1e9a031a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
910 изменённых файлов: 9197 добавлений и 196010 удалений

5
.gitignore поставляемый
Просмотреть файл

@ -30,8 +30,9 @@ Durango12
Profile
Release
x64
Kits/DirectXTK/Src/Shaders/Compiled/XboxOne*.*
Kits/DirectXTK12/Src/Shaders/Compiled/XboxOne*.*
Kits/DirectXTK/Src/Shaders/Compiled/
Kits/DirectXTK12/Src/Shaders/Compiled/
Kits/DirectXTex/Shaders/Compiled/
UWPSamples/Graphics/SimplePBR12_UWP/Compiled/
XDKSamples/Graphics/SimplePBR12_Xbox/Compiled/
XDKSamples/Graphics/SimpleDmaDecompression/zlib/lib/

Просмотреть файл

@ -279,28 +279,28 @@ namespace DX
float bsize = XMVectorGetX(butnFont->MeasureString(button));
float offsetX = (bsize * buttonScale / 2.f);
if (outPos.x < result.left)
if (outPos.x < float(result.left))
result.left = long(outPos.x);
if (outPos.y < result.top)
if (outPos.y < float(result.top))
result.top = long(outPos.y);
outPos.x += offsetX;
outPos.y -= offsetY;
if (outPos.x < result.left)
if (outPos.x < float(result.left))
result.left = long(outPos.x);
if (outPos.y < result.top)
if (outPos.y < float(result.top))
result.top = long(outPos.y);
outPos.x += bsize * buttonScale;
outPos.y += offsetY;
if (result.right < outPos.x)
if (float(result.right) < outPos.x)
result.right = long(outPos.x);
if (result.bottom < outPos.y)
if (float(result.bottom) < outPos.y)
result.bottom = long(outPos.y);
}
@ -320,18 +320,18 @@ namespace DX
case '[':
if (*strBuffer)
{
if (outPos.x < result.left)
if (outPos.x < float(result.left))
result.left = long(outPos.x);
if (outPos.y < result.top)
if (outPos.y < float(result.top))
result.top = long(outPos.y);
outPos.x += XMVectorGetX(textFont->MeasureString(strBuffer)) * scale;
if (result.right < outPos.x)
if (float(result.right) < outPos.x)
result.right = long(outPos.x);
if (result.bottom < outPos.y)
if (float(result.bottom) < outPos.y)
result.bottom = long(outPos.y);
memset(strBuffer, 0, sizeof(strBuffer));
@ -345,18 +345,18 @@ namespace DX
case '\n':
if (*strBuffer)
{
if (outPos.x < result.left)
if (outPos.x < float(result.left))
result.left = long(outPos.x);
if (outPos.y < result.top)
if (outPos.y < float(result.top))
result.top = long(outPos.y);
outPos.x += XMVectorGetX(textFont->MeasureString(strBuffer)) * scale;
if (result.right < outPos.x)
if (float(result.right) < outPos.x)
result.right = long(outPos.x);
if (result.bottom < outPos.y)
if (float(result.bottom) < outPos.y)
result.bottom = long(outPos.y);
memset(strBuffer, 0, sizeof(strBuffer));
@ -375,18 +375,18 @@ namespace DX
if (*strBuffer)
{
if (outPos.x < result.left)
if (outPos.x < float(result.left))
result.left = long(outPos.x);
if (outPos.y < result.top)
if (outPos.y < float(result.top))
result.top = long(outPos.y);
outPos.x += XMVectorGetX(textFont->MeasureString(strBuffer)) * scale;
if (result.right < outPos.x)
if (float(result.right) < outPos.x)
result.right = long(outPos.x);
if (result.bottom < outPos.y)
if (float(result.bottom) < outPos.y)
result.bottom = long(outPos.y);
}

Просмотреть файл

@ -23,12 +23,16 @@
#pragma warning( disable : 4061 )
#ifdef __clang__
#pragma clang diagnostic ignored "-Wcovered-switch-default"
#endif
using namespace DirectX;
using namespace SimpleMath;
namespace
{
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
enum Descriptors
{
Segoe18 = 0,
@ -188,7 +192,7 @@ struct ATG::Help::CalloutBox
if (type == CalloutType::LINE_TO_ANCHOR)
{
// callout circle is 12x12 so -6 from x and y to get top left coordinates
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
batch->Draw(help.m_descriptorHeap->GetGpuHandle(Descriptors::CircleTex), help.m_circleTexSize,
Vector2(calloutLine.x - 6, calloutLine.y - 6));
#elif defined(__d3d11_h__) || defined(__d3d11_x_h__)
@ -751,7 +755,7 @@ ATG::Help::~Help()
}
}
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void ATG::Help::Render(ID3D12GraphicsCommandList* commandList)
{
// Set the descriptor heaps
@ -864,7 +868,7 @@ void ATG::Help::ReleaseDevice()
m_gamepadTex.Reset();
m_backgroundTex.Reset();
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
m_descriptorHeap.reset();
#elif defined(__d3d11_h__) || defined(__d3d11_x_h__)
m_states.reset();
@ -873,10 +877,10 @@ void ATG::Help::ReleaseDevice()
#endif
}
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void ATG::Help::RestoreDevice(ID3D12Device* device, ResourceUploadBatch& uploadBatch, const RenderTargetState& rtState)
{
m_descriptorHeap = std::make_unique<DescriptorHeap>(device, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE, Descriptors::Count);
m_descriptorHeap = std::make_unique<DescriptorHeap>(device, Descriptors::Count);
SpriteBatchPipelineStateDescription sbPsoDesc(rtState, &CommonStates::AlphaBlend);
m_spriteBatch = std::make_unique<SpriteBatch>(device, uploadBatch, sbPsoDesc);
@ -887,7 +891,7 @@ void ATG::Help::RestoreDevice(ID3D12Device* device, ResourceUploadBatch& uploadB
CommonStates::DepthNone, CommonStates::CullNone, rtState, D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE);
m_lineEffect = std::make_unique<BasicEffect>(device, EffectFlags::VertexColor, fxPsoDesc);
unsigned int loadFlags = m_linearColors ? DDS_LOADER_FORCE_SRGB : DDS_LOADER_DEFAULT;
DDS_LOADER_FLAGS loadFlags = m_linearColors ? DDS_LOADER_FORCE_SRGB : DDS_LOADER_DEFAULT;
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
wchar_t buff[MAX_PATH];

Просмотреть файл

@ -20,7 +20,7 @@
#include "PrimitiveBatch.h"
#include "VertexTypes.h"
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
#include "DescriptorHeap.h"
#include "ResourceUploadBatch.h"
#elif !defined(__d3d11_h__) && !defined(__d3d11_x_h__)
@ -76,7 +76,7 @@ namespace ATG
~Help();
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void Render(ID3D12GraphicsCommandList* commandList);
void RestoreDevice(ID3D12Device* device, DirectX::ResourceUploadBatch& uploadBatch, const DirectX::RenderTargetState& rtState);
@ -98,7 +98,7 @@ namespace ATG
std::unique_ptr<DirectX::BasicEffect> m_lineEffect;
std::unique_ptr<DirectX::SpriteFont> m_spriteFonts[3];
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
std::unique_ptr<DirectX::DescriptorHeap> m_descriptorHeap;
Microsoft::WRL::ComPtr<ID3D12Resource> m_circleTex;

Просмотреть файл

@ -12,282 +12,282 @@ using namespace DirectX;
namespace
{
inline void XM_CALLCONV DrawCube(PrimitiveBatch<VertexPositionColor>* batch,
CXMMATRIX matWorld,
FXMVECTOR color)
{
static const XMVECTORF32 s_verts[8] =
{
{ -1.f, -1.f, -1.f, 0.f },
{ 1.f, -1.f, -1.f, 0.f },
{ 1.f, -1.f, 1.f, 0.f },
{ -1.f, -1.f, 1.f, 0.f },
{ -1.f, 1.f, -1.f, 0.f },
{ 1.f, 1.f, -1.f, 0.f },
{ 1.f, 1.f, 1.f, 0.f },
{ -1.f, 1.f, 1.f, 0.f }
};
inline void XM_CALLCONV DrawCube(PrimitiveBatch<VertexPositionColor>* batch,
CXMMATRIX matWorld,
FXMVECTOR color)
{
static const XMVECTORF32 s_verts[8] =
{
{ { { -1.f, -1.f, -1.f, 0.f } } },
{ { { 1.f, -1.f, -1.f, 0.f } } },
{ { { 1.f, -1.f, 1.f, 0.f } } },
{ { { -1.f, -1.f, 1.f, 0.f } } },
{ { { -1.f, 1.f, -1.f, 0.f } } },
{ { { 1.f, 1.f, -1.f, 0.f } } },
{ { { 1.f, 1.f, 1.f, 0.f } } },
{ { { -1.f, 1.f, 1.f, 0.f } } }
};
static const WORD s_indices[] =
{
0, 1,
1, 2,
2, 3,
3, 0,
4, 5,
5, 6,
6, 7,
7, 4,
0, 4,
1, 5,
2, 6,
3, 7
};
static const WORD s_indices[] =
{
0, 1,
1, 2,
2, 3,
3, 0,
4, 5,
5, 6,
6, 7,
7, 4,
0, 4,
1, 5,
2, 6,
3, 7
};
VertexPositionColor verts[8];
for (size_t i = 0; i < 8; ++i)
{
XMVECTOR v = XMVector3Transform(s_verts[i], matWorld);
XMStoreFloat3(&verts[i].position, v);
XMStoreFloat4(&verts[i].color, color);
}
VertexPositionColor verts[8];
for (size_t i = 0; i < 8; ++i)
{
XMVECTOR v = XMVector3Transform(s_verts[i], matWorld);
XMStoreFloat3(&verts[i].position, v);
XMStoreFloat4(&verts[i].color, color);
}
batch->DrawIndexed(D3D_PRIMITIVE_TOPOLOGY_LINELIST, s_indices, _countof(s_indices), verts, 8);
}
batch->DrawIndexed(D3D_PRIMITIVE_TOPOLOGY_LINELIST, s_indices, _countof(s_indices), verts, 8);
}
}
void XM_CALLCONV DX::Draw(PrimitiveBatch<VertexPositionColor>* batch,
const BoundingSphere& sphere,
FXMVECTOR color)
const BoundingSphere& sphere,
FXMVECTOR color)
{
XMVECTOR origin = XMLoadFloat3(&sphere.Center);
XMVECTOR origin = XMLoadFloat3(&sphere.Center);
const float radius = sphere.Radius;
const float radius = sphere.Radius;
XMVECTOR xaxis = XMVectorScale(g_XMIdentityR0, radius);
XMVECTOR yaxis = XMVectorScale(g_XMIdentityR1, radius);
XMVECTOR zaxis = XMVectorScale(g_XMIdentityR2, radius);
XMVECTOR xaxis = XMVectorScale(g_XMIdentityR0, radius);
XMVECTOR yaxis = XMVectorScale(g_XMIdentityR1, radius);
XMVECTOR zaxis = XMVectorScale(g_XMIdentityR2, radius);
DrawRing(batch, origin, xaxis, zaxis, color);
DrawRing(batch, origin, xaxis, yaxis, color);
DrawRing(batch, origin, yaxis, zaxis, color);
DrawRing(batch, origin, xaxis, zaxis, color);
DrawRing(batch, origin, xaxis, yaxis, color);
DrawRing(batch, origin, yaxis, zaxis, color);
}
void XM_CALLCONV DX::Draw(PrimitiveBatch<VertexPositionColor>* batch,
const BoundingBox& box,
FXMVECTOR color)
const BoundingBox& box,
FXMVECTOR color)
{
XMMATRIX matWorld = XMMatrixScaling(box.Extents.x, box.Extents.y, box.Extents.z);
XMVECTOR position = XMLoadFloat3(&box.Center);
matWorld.r[3] = XMVectorSelect(matWorld.r[3], position, g_XMSelect1110);
XMMATRIX matWorld = XMMatrixScaling(box.Extents.x, box.Extents.y, box.Extents.z);
XMVECTOR position = XMLoadFloat3(&box.Center);
matWorld.r[3] = XMVectorSelect(matWorld.r[3], position, g_XMSelect1110);
DrawCube(batch, matWorld, color);
DrawCube(batch, matWorld, color);
}
void XM_CALLCONV DX::Draw(PrimitiveBatch<VertexPositionColor>* batch,
const BoundingOrientedBox& obb,
FXMVECTOR color)
const BoundingOrientedBox& obb,
FXMVECTOR color)
{
XMMATRIX matWorld = XMMatrixRotationQuaternion(XMLoadFloat4(&obb.Orientation));
XMMATRIX matScale = XMMatrixScaling(obb.Extents.x, obb.Extents.y, obb.Extents.z);
matWorld = XMMatrixMultiply(matScale, matWorld);
XMVECTOR position = XMLoadFloat3(&obb.Center);
matWorld.r[3] = XMVectorSelect(matWorld.r[3], position, g_XMSelect1110);
XMMATRIX matWorld = XMMatrixRotationQuaternion(XMLoadFloat4(&obb.Orientation));
XMMATRIX matScale = XMMatrixScaling(obb.Extents.x, obb.Extents.y, obb.Extents.z);
matWorld = XMMatrixMultiply(matScale, matWorld);
XMVECTOR position = XMLoadFloat3(&obb.Center);
matWorld.r[3] = XMVectorSelect(matWorld.r[3], position, g_XMSelect1110);
DrawCube(batch, matWorld, color);
DrawCube(batch, matWorld, color);
}
void XM_CALLCONV DX::Draw(PrimitiveBatch<VertexPositionColor>* batch,
const BoundingFrustum& frustum,
FXMVECTOR color)
const BoundingFrustum& frustum,
FXMVECTOR color)
{
XMFLOAT3 corners[BoundingFrustum::CORNER_COUNT];
frustum.GetCorners(corners);
XMFLOAT3 corners[BoundingFrustum::CORNER_COUNT];
frustum.GetCorners(corners);
VertexPositionColor verts[24] = {};
verts[0].position = corners[0];
verts[1].position = corners[1];
verts[2].position = corners[1];
verts[3].position = corners[2];
verts[4].position = corners[2];
verts[5].position = corners[3];
verts[6].position = corners[3];
verts[7].position = corners[0];
VertexPositionColor verts[24] = {};
verts[0].position = corners[0];
verts[1].position = corners[1];
verts[2].position = corners[1];
verts[3].position = corners[2];
verts[4].position = corners[2];
verts[5].position = corners[3];
verts[6].position = corners[3];
verts[7].position = corners[0];
verts[8].position = corners[0];
verts[9].position = corners[4];
verts[10].position = corners[1];
verts[11].position = corners[5];
verts[12].position = corners[2];
verts[13].position = corners[6];
verts[14].position = corners[3];
verts[15].position = corners[7];
verts[8].position = corners[0];
verts[9].position = corners[4];
verts[10].position = corners[1];
verts[11].position = corners[5];
verts[12].position = corners[2];
verts[13].position = corners[6];
verts[14].position = corners[3];
verts[15].position = corners[7];
verts[16].position = corners[4];
verts[17].position = corners[5];
verts[18].position = corners[5];
verts[19].position = corners[6];
verts[20].position = corners[6];
verts[21].position = corners[7];
verts[22].position = corners[7];
verts[23].position = corners[4];
verts[16].position = corners[4];
verts[17].position = corners[5];
verts[18].position = corners[5];
verts[19].position = corners[6];
verts[20].position = corners[6];
verts[21].position = corners[7];
verts[22].position = corners[7];
verts[23].position = corners[4];
for (size_t j = 0; j < _countof(verts); ++j)
{
XMStoreFloat4(&verts[j].color, color);
}
for (size_t j = 0; j < _countof(verts); ++j)
{
XMStoreFloat4(&verts[j].color, color);
}
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINELIST, verts, _countof(verts));
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINELIST, verts, _countof(verts));
}
void XM_CALLCONV DX::DrawGrid(PrimitiveBatch<VertexPositionColor>* batch,
FXMVECTOR xAxis,
FXMVECTOR yAxis,
FXMVECTOR origin,
size_t xdivs,
size_t ydivs,
GXMVECTOR color)
FXMVECTOR xAxis,
FXMVECTOR yAxis,
FXMVECTOR origin,
size_t xdivs,
size_t ydivs,
GXMVECTOR color)
{
xdivs = std::max<size_t>(1, xdivs);
ydivs = std::max<size_t>(1, ydivs);
xdivs = std::max<size_t>(1, xdivs);
ydivs = std::max<size_t>(1, ydivs);
for (size_t i = 0; i <= xdivs; ++i)
{
float percent = float(i) / float(xdivs);
percent = (percent * 2.f) - 1.f;
XMVECTOR scale = XMVectorScale(xAxis, percent);
scale = XMVectorAdd(scale, origin);
for (size_t i = 0; i <= xdivs; ++i)
{
float percent = float(i) / float(xdivs);
percent = (percent * 2.f) - 1.f;
XMVECTOR scale = XMVectorScale(xAxis, percent);
scale = XMVectorAdd(scale, origin);
VertexPositionColor v1(XMVectorSubtract(scale, yAxis), color);
VertexPositionColor v2(XMVectorAdd(scale, yAxis), color);
batch->DrawLine(v1, v2);
}
VertexPositionColor v1(XMVectorSubtract(scale, yAxis), color);
VertexPositionColor v2(XMVectorAdd(scale, yAxis), color);
batch->DrawLine(v1, v2);
}
for (size_t i = 0; i <= ydivs; i++)
{
FLOAT percent = float(i) / float(ydivs);
percent = (percent * 2.f) - 1.f;
XMVECTOR scale = XMVectorScale(yAxis, percent);
scale = XMVectorAdd(scale, origin);
for (size_t i = 0; i <= ydivs; i++)
{
FLOAT percent = float(i) / float(ydivs);
percent = (percent * 2.f) - 1.f;
XMVECTOR scale = XMVectorScale(yAxis, percent);
scale = XMVectorAdd(scale, origin);
VertexPositionColor v1(XMVectorSubtract(scale, xAxis), color);
VertexPositionColor v2(XMVectorAdd(scale, xAxis), color);
batch->DrawLine(v1, v2);
}
VertexPositionColor v1(XMVectorSubtract(scale, xAxis), color);
VertexPositionColor v2(XMVectorAdd(scale, xAxis), color);
batch->DrawLine(v1, v2);
}
}
void XM_CALLCONV DX::DrawRing(PrimitiveBatch<VertexPositionColor>* batch,
FXMVECTOR origin,
FXMVECTOR majorAxis,
FXMVECTOR minorAxis,
GXMVECTOR color)
FXMVECTOR origin,
FXMVECTOR majorAxis,
FXMVECTOR minorAxis,
GXMVECTOR color)
{
static const size_t c_ringSegments = 32;
static const size_t c_ringSegments = 32;
VertexPositionColor verts[c_ringSegments + 1];
VertexPositionColor verts[c_ringSegments + 1];
FLOAT fAngleDelta = XM_2PI / float(c_ringSegments);
// Instead of calling cos/sin for each segment we calculate
// the sign of the angle delta and then incrementally calculate sin
// and cosine from then on.
XMVECTOR cosDelta = XMVectorReplicate(cosf(fAngleDelta));
XMVECTOR sinDelta = XMVectorReplicate(sinf(fAngleDelta));
XMVECTOR incrementalSin = XMVectorZero();
static const XMVECTORF32 s_initialCos =
{
1.f, 1.f, 1.f, 1.f
};
XMVECTOR incrementalCos = s_initialCos.v;
for (size_t i = 0; i < c_ringSegments; i++)
{
XMVECTOR pos = XMVectorMultiplyAdd(majorAxis, incrementalCos, origin);
pos = XMVectorMultiplyAdd(minorAxis, incrementalSin, pos);
XMStoreFloat3(&verts[i].position, pos);
XMStoreFloat4(&verts[i].color, color);
// Standard formula to rotate a vector.
XMVECTOR newCos = XMVectorSubtract(XMVectorMultiply(incrementalCos, cosDelta), XMVectorMultiply(incrementalSin, sinDelta));
XMVECTOR newSin = XMVectorAdd(XMVectorMultiply(incrementalCos, sinDelta), XMVectorMultiply(incrementalSin, cosDelta));
incrementalCos = newCos;
incrementalSin = newSin;
}
verts[c_ringSegments] = verts[0];
FLOAT fAngleDelta = XM_2PI / float(c_ringSegments);
// Instead of calling cos/sin for each segment we calculate
// the sign of the angle delta and then incrementally calculate sin
// and cosine from then on.
XMVECTOR cosDelta = XMVectorReplicate(cosf(fAngleDelta));
XMVECTOR sinDelta = XMVectorReplicate(sinf(fAngleDelta));
XMVECTOR incrementalSin = XMVectorZero();
static const XMVECTORF32 s_initialCos =
{
{ { 1.f, 1.f, 1.f, 1.f } }
};
XMVECTOR incrementalCos = s_initialCos.v;
for (size_t i = 0; i < c_ringSegments; i++)
{
XMVECTOR pos = XMVectorMultiplyAdd(majorAxis, incrementalCos, origin);
pos = XMVectorMultiplyAdd(minorAxis, incrementalSin, pos);
XMStoreFloat3(&verts[i].position, pos);
XMStoreFloat4(&verts[i].color, color);
// Standard formula to rotate a vector.
XMVECTOR newCos = XMVectorSubtract(XMVectorMultiply(incrementalCos, cosDelta), XMVectorMultiply(incrementalSin, sinDelta));
XMVECTOR newSin = XMVectorAdd(XMVectorMultiply(incrementalCos, sinDelta), XMVectorMultiply(incrementalSin, cosDelta));
incrementalCos = newCos;
incrementalSin = newSin;
}
verts[c_ringSegments] = verts[0];
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, c_ringSegments + 1);
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, c_ringSegments + 1);
}
void XM_CALLCONV DX::DrawRay(PrimitiveBatch<VertexPositionColor>* batch,
FXMVECTOR origin,
FXMVECTOR direction,
bool normalize,
FXMVECTOR color)
FXMVECTOR origin,
FXMVECTOR direction,
bool normalize,
FXMVECTOR color)
{
VertexPositionColor verts[3];
XMStoreFloat3(&verts[0].position, origin);
VertexPositionColor verts[3];
XMStoreFloat3(&verts[0].position, origin);
XMVECTOR normDirection = XMVector3Normalize(direction);
XMVECTOR rayDirection = (normalize) ? normDirection : direction;
XMVECTOR normDirection = XMVector3Normalize(direction);
XMVECTOR rayDirection = (normalize) ? normDirection : direction;
XMVECTOR perpVector = XMVector3Cross(normDirection, g_XMIdentityR1);
XMVECTOR perpVector = XMVector3Cross(normDirection, g_XMIdentityR1);
if (XMVector3Equal(XMVector3LengthSq(perpVector), g_XMZero))
{
perpVector = XMVector3Cross(normDirection, g_XMIdentityR2);
}
perpVector = XMVector3Normalize(perpVector);
if (XMVector3Equal(XMVector3LengthSq(perpVector), g_XMZero))
{
perpVector = XMVector3Cross(normDirection, g_XMIdentityR2);
}
perpVector = XMVector3Normalize(perpVector);
XMStoreFloat3(&verts[1].position, XMVectorAdd(rayDirection, origin));
perpVector = XMVectorScale(perpVector, 0.0625f);
normDirection = XMVectorScale(normDirection, -0.25f);
rayDirection = XMVectorAdd(perpVector, rayDirection);
rayDirection = XMVectorAdd(normDirection, rayDirection);
XMStoreFloat3(&verts[2].position, XMVectorAdd(rayDirection, origin));
XMStoreFloat3(&verts[1].position, XMVectorAdd(rayDirection, origin));
perpVector = XMVectorScale(perpVector, 0.0625f);
normDirection = XMVectorScale(normDirection, -0.25f);
rayDirection = XMVectorAdd(perpVector, rayDirection);
rayDirection = XMVectorAdd(normDirection, rayDirection);
XMStoreFloat3(&verts[2].position, XMVectorAdd(rayDirection, origin));
XMStoreFloat4(&verts[0].color, color);
XMStoreFloat4(&verts[1].color, color);
XMStoreFloat4(&verts[2].color, color);
XMStoreFloat4(&verts[0].color, color);
XMStoreFloat4(&verts[1].color, color);
XMStoreFloat4(&verts[2].color, color);
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 2);
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 2);
}
void XM_CALLCONV DX::DrawTriangle(PrimitiveBatch<VertexPositionColor>* batch,
FXMVECTOR pointA,
FXMVECTOR pointB,
FXMVECTOR pointC,
GXMVECTOR color)
FXMVECTOR pointA,
FXMVECTOR pointB,
FXMVECTOR pointC,
GXMVECTOR color)
{
VertexPositionColor verts[4];
XMStoreFloat3(&verts[0].position, pointA);
XMStoreFloat3(&verts[1].position, pointB);
XMStoreFloat3(&verts[2].position, pointC);
XMStoreFloat3(&verts[3].position, pointA);
VertexPositionColor verts[4];
XMStoreFloat3(&verts[0].position, pointA);
XMStoreFloat3(&verts[1].position, pointB);
XMStoreFloat3(&verts[2].position, pointC);
XMStoreFloat3(&verts[3].position, pointA);
XMStoreFloat4(&verts[0].color, color);
XMStoreFloat4(&verts[1].color, color);
XMStoreFloat4(&verts[2].color, color);
XMStoreFloat4(&verts[3].color, color);
XMStoreFloat4(&verts[0].color, color);
XMStoreFloat4(&verts[1].color, color);
XMStoreFloat4(&verts[2].color, color);
XMStoreFloat4(&verts[3].color, color);
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 4);
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 4);
}
void XM_CALLCONV DX::DrawQuad(PrimitiveBatch<VertexPositionColor>* batch,
FXMVECTOR pointA,
FXMVECTOR pointB,
FXMVECTOR pointC,
GXMVECTOR pointD,
HXMVECTOR color)
FXMVECTOR pointA,
FXMVECTOR pointB,
FXMVECTOR pointC,
GXMVECTOR pointD,
HXMVECTOR color)
{
VertexPositionColor verts[5];
XMStoreFloat3(&verts[0].position, pointA);
XMStoreFloat3(&verts[1].position, pointB);
XMStoreFloat3(&verts[2].position, pointC);
XMStoreFloat3(&verts[3].position, pointD);
XMStoreFloat3(&verts[4].position, pointA);
VertexPositionColor verts[5];
XMStoreFloat3(&verts[0].position, pointA);
XMStoreFloat3(&verts[1].position, pointB);
XMStoreFloat3(&verts[2].position, pointC);
XMStoreFloat3(&verts[3].position, pointD);
XMStoreFloat3(&verts[4].position, pointA);
XMStoreFloat4(&verts[0].color, color);
XMStoreFloat4(&verts[1].color, color);
XMStoreFloat4(&verts[2].color, color);
XMStoreFloat4(&verts[3].color, color);
XMStoreFloat4(&verts[4].color, color);
XMStoreFloat4(&verts[0].color, color);
XMStoreFloat4(&verts[1].color, color);
XMStoreFloat4(&verts[2].color, color);
XMStoreFloat4(&verts[3].color, color);
XMStoreFloat4(&verts[4].color, color);
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 5);
}
batch->Draw(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 5);
}

Просмотреть файл

@ -9,6 +9,7 @@
#pragma once
#include <DirectXColors.h>
#include <DirectXCollision.h>
#include "PrimitiveBatch.h"

Просмотреть файл

@ -70,7 +70,7 @@ namespace
namespace DirectX
{
// Reuse the WIC factory function from the DirectX Tool Kit. For implementation details, see WICTextureLoader.cpp
#ifdef __d3d12_x_h__
#if defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
extern IWICImagingFactory2* _GetWIC();
#else
extern IWICImagingFactory* _GetWIC();

Просмотреть файл

@ -19,6 +19,8 @@
using namespace ATG;
using namespace DX;
#pragma warning(disable : 4365)
//--------------------------------------------------------------------------------------
// RasterGlyphSheet implementation
//--------------------------------------------------------------------------------------
@ -31,11 +33,6 @@ namespace ATG
return left.character < right.character;
}
static inline bool operator< (wchar_t left, const RasterGlyphSheet::RasterGlyph &right)
{
return left < right.character;
}
static inline bool operator< (const RasterGlyphSheet::RasterGlyph &left, wchar_t right)
{
return left.character < right;

Просмотреть файл

@ -15,7 +15,7 @@
using Microsoft::WRL::ComPtr;
using namespace DX;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
//======================================================================================
// Direct3D 12
//======================================================================================
@ -176,4 +176,4 @@ void FullScreenQuad::ReleaseDevice()
m_pixelShader.Reset();
}
#endif
#endif

Просмотреть файл

@ -15,7 +15,7 @@
namespace DX
{
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
class FullScreenQuad
{
@ -50,4 +50,4 @@ namespace DX
# error Please #include <d3d11.h> or <d3d12.h>
#endif
}
}

Просмотреть файл

@ -79,8 +79,7 @@ class ATG::PBREffect::Impl : public EffectBase<PBREffectTraits>
public:
Impl(_In_ ID3D12Device* device,
int effectFlags,
const EffectPipelineStateDescription& pipelineDescription,
bool generateVelocity);
const EffectPipelineStateDescription& pipelineDescription);
void Apply(_In_ ID3D12GraphicsCommandList* commandList);
@ -90,9 +89,6 @@ public:
int flags;
// When PBR moves into DirectXTK, this could become an effect flag.
bool doGenerateVelocity;
enum RootParameterIndex
{
AlbedoTexture,
@ -144,10 +140,9 @@ const int EffectBase<PBREffectTraits>::PixelShaderIndices[] =
SharedResourcePool<ID3D12Device*, EffectBase<PBREffectTraits>::DeviceResources> EffectBase<PBREffectTraits>::deviceResourcesPool;
// Constructor.
ATG::PBREffect::Impl::Impl(_In_ ID3D12Device* device, int effectFlags, const EffectPipelineStateDescription& pipelineDescription, bool generateVelocity)
ATG::PBREffect::Impl::Impl(_In_ ID3D12Device* device, int effectFlags, const EffectPipelineStateDescription& pipelineDescription)
: EffectBase(device),
flags(effectFlags),
doGenerateVelocity(generateVelocity),
descriptors{}
{
static_assert( _countof(EffectBase<PBREffectTraits>::VertexShaderIndices) == PBREffectTraits::ShaderPermutationCount, "array/max mismatch" );
@ -209,7 +204,7 @@ ATG::PBREffect::Impl::Impl(_In_ ID3D12Device* device, int effectFlags, const Eff
// Create pipeline state
int sp = GetPipelineStatePermutation((effectFlags & EffectFlags::Texture) != 0,
doGenerateVelocity);
(effectFlags & EffectFlags::Velocity) != 0);
int vi = EffectBase<PBREffectTraits>::VertexShaderIndices[sp];
int pi = EffectBase<PBREffectTraits>::PixelShaderIndices[sp];
@ -301,9 +296,8 @@ void ATG::PBREffect::Impl::Apply(_In_ ID3D12GraphicsCommandList* commandList)
// Public constructor.
ATG::PBREffect::PBREffect(_In_ ID3D12Device* device,
int effectFlags,
const EffectPipelineStateDescription& pipelineDescription,
bool generateVelocity)
: pImpl(new Impl(device, effectFlags, pipelineDescription, generateVelocity))
const EffectPipelineStateDescription& pipelineDescription)
: pImpl(new Impl(device, effectFlags, pipelineDescription))
{
}

Просмотреть файл

@ -16,8 +16,7 @@ namespace ATG
{
public:
explicit PBREffect(_In_ ID3D12Device* device, int effectFlags,
const DirectX::EffectPipelineStateDescription& pipelineDescription,
bool generateVelocity = false);
const DirectX::EffectPipelineStateDescription& pipelineDescription);
PBREffect(PBREffect&& moveFrom);
PBREffect& operator= (PBREffect&& moveFrom);

Просмотреть файл

@ -188,7 +188,7 @@ private:
//======================================================================================
// GPUTimer (DirectX 12.X)
//======================================================================================
#if defined(__d3d12_x_h__)
#if defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
template<typename t_CommandList>
void GPUCommandListTimer<t_CommandList>::BeginFrame(_In_ t_CommandList* commandList)
@ -397,7 +397,6 @@ namespace DX
{
template class GPUCommandListTimer<ID3D12GraphicsCommandList>;
template class GPUCommandListTimer<ID3D12XboxDmaCommandList>;
template class GPUCommandListTimer<ID3D12GraphicsCommandList>;
}

Просмотреть файл

@ -58,7 +58,7 @@ namespace DX
};
#if defined(__d3d12_x_h__)
#if defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
//----------------------------------------------------------------------------------
// DirectX 12.X implementation of GPU timer
template<typename t_CommandList = ID3D12CommandList>
@ -250,4 +250,4 @@ namespace DX
#else
#error Must include d3d11*.h or d3d12*.h before PerformanceTimersXbox.h
#endif
}
}

Просмотреть файл

@ -12,7 +12,7 @@
#pragma once
#include <stdint.h>
#include <cstdint>
#include <exception>
#include <fstream>
#include <vector>

Просмотреть файл

@ -16,18 +16,16 @@
#include <stdio.h>
#include <stdexcept>
#include <wrl/client.h>
using namespace DirectX;
using namespace DX;
using Microsoft::WRL::ComPtr;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
//======================================================================================
// Direct3D 12
//======================================================================================
RenderTexture::RenderTexture(DXGI_FORMAT format) :
RenderTexture::RenderTexture(DXGI_FORMAT format) noexcept :
m_state(D3D12_RESOURCE_STATE_COMMON),
m_srvDescriptor{},
m_rtvDescriptor{},
@ -51,7 +49,7 @@ void RenderTexture::SetDevice(_In_ ID3D12Device* device, D3D12_CPU_DESCRIPTOR_HA
}
{
D3D12_FEATURE_DATA_FORMAT_SUPPORT formatSupport = { m_format };
D3D12_FEATURE_DATA_FORMAT_SUPPORT formatSupport = { m_format, D3D12_FORMAT_SUPPORT1_NONE, D3D12_FORMAT_SUPPORT2_NONE };
if (FAILED(device->CheckFeatureSupport(D3D12_FEATURE_FORMAT_SUPPORT, &formatSupport, sizeof(formatSupport))))
{
throw std::exception("CheckFeatureSupport");
@ -102,7 +100,7 @@ void RenderTexture::SizeResources(size_t width, size_t height)
static_cast<UINT>(height),
1, 1, 1, 0, D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET);
D3D12_CLEAR_VALUE clearValue = { m_format };
D3D12_CLEAR_VALUE clearValue = { m_format, {} };
memcpy(clearValue.Color, m_clearColor, sizeof(clearValue.Color));
m_state = D3D12_RESOURCE_STATE_RENDER_TARGET;
@ -127,7 +125,7 @@ void RenderTexture::SizeResources(size_t width, size_t height)
m_height = height;
}
void RenderTexture::ReleaseDevice()
void RenderTexture::ReleaseDevice() noexcept
{
m_resource.Reset();
m_device.Reset();
@ -148,7 +146,7 @@ void RenderTexture::TransitionTo(_In_ ID3D12GraphicsCommandList* commandList, D3
//======================================================================================
// Direct3D 11
//======================================================================================
RenderTexture::RenderTexture(DXGI_FORMAT format) :
RenderTexture::RenderTexture(DXGI_FORMAT format) noexcept :
#if defined(_XBOX_ONE) && defined(_TITLE)
m_fastSemantics(false),
#endif
@ -258,7 +256,7 @@ void RenderTexture::SizeResources(size_t width, size_t height)
}
void RenderTexture::ReleaseDevice()
void RenderTexture::ReleaseDevice() noexcept
{
m_renderTargetView.Reset();
m_shaderResourceView.Reset();

Просмотреть файл

@ -9,12 +9,16 @@
#pragma once
#include <wrl/client.h>
#include <DirectXMath.h>
namespace DX
{
class RenderTexture
{
public:
RenderTexture(DXGI_FORMAT format);
RenderTexture(DXGI_FORMAT format) noexcept;
RenderTexture(RenderTexture&&) = default;
RenderTexture& operator= (RenderTexture&&) = default;
@ -22,13 +26,13 @@ namespace DX
RenderTexture(RenderTexture const&) = delete;
RenderTexture& operator= (RenderTexture const&) = delete;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void SetDevice(_In_ ID3D12Device* device, D3D12_CPU_DESCRIPTOR_HANDLE srvDescriptor, D3D12_CPU_DESCRIPTOR_HANDLE rtvDescriptor);
void SizeResources(size_t width, size_t height);
void ReleaseDevice();
void ReleaseDevice() noexcept;
void TransitionTo(_In_ ID3D12GraphicsCommandList* commandList, D3D12_RESOURCE_STATES afterState);
@ -42,12 +46,22 @@ namespace DX
TransitionTo(commandList, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
}
void Clear(_In_ ID3D12GraphicsCommandList* commandList)
{
commandList->ClearRenderTargetView(m_rtvDescriptor, m_clearColor, 0, nullptr);
}
void SetClearColor(DirectX::FXMVECTOR color)
{
DirectX::XMStoreFloat4(reinterpret_cast<DirectX::XMFLOAT4*>(m_clearColor), color);
}
ID3D12Resource* GetResource() const { return m_resource.Get(); }
ID3D12Resource* GetResource() const noexcept { return m_resource.Get(); }
D3D12_RESOURCE_STATES GetCurrentState() const noexcept { return m_state; }
void UpdateState(D3D12_RESOURCE_STATES state) noexcept { m_state = state; }
// Use when a state transition was applied to the resource directly
private:
Microsoft::WRL::ComPtr<ID3D12Device> m_device;
@ -63,15 +77,15 @@ namespace DX
void SizeResources(size_t width, size_t height);
void ReleaseDevice();
void ReleaseDevice() noexcept;
#if defined(_XBOX_ONE) && defined(_TITLE)
void EndScene(_In_ ID3D11DeviceContextX* context);
#endif
ID3D11Texture2D* GetRenderTarget() const { return m_renderTarget.Get(); }
ID3D11RenderTargetView* GetRenderTargetView() const { return m_renderTargetView.Get(); }
ID3D11ShaderResourceView* GetShaderResourceView() const { return m_shaderResourceView.Get(); }
ID3D11Texture2D* GetRenderTarget() const noexcept { return m_renderTarget.Get(); }
ID3D11RenderTargetView* GetRenderTargetView() const noexcept { return m_renderTargetView.Get(); }
ID3D11ShaderResourceView* GetShaderResourceView() const noexcept { return m_shaderResourceView.Get(); }
private:
Microsoft::WRL::ComPtr<ID3D11Device> m_device;
@ -89,7 +103,7 @@ namespace DX
public:
void SetWindow(const RECT& rect);
DXGI_FORMAT GetFormat() const { return m_format; }
DXGI_FORMAT GetFormat() const noexcept { return m_format; }
private:
DXGI_FORMAT m_format;
@ -97,4 +111,4 @@ namespace DX
size_t m_width;
size_t m_height;
};
}
}

Просмотреть файл

@ -7,11 +7,13 @@
#pragma once
#include <stdint.h>
#include <memory>
#include <vector>
#include <stack>
#include <assert.h>
#include <iostream>
#include <memory>
#include <stack>
#include <type_traits>
#include <vector>
#define ENABLE_IF_INTEGRAL(_T_) typename std::enable_if<std::is_integral<_T_>::value>::type* = nullptr
#define ENABLE_IF_NOT_INTEGRAL(_T_) typename std::enable_if<!std::is_integral<_T_>::value>::type* = nullptr
@ -787,14 +789,14 @@ namespace ATG
};
public:
template<typename T>
template<typename TB>
class ClassVisitorAction
{
public:
template<typename MmbrTyp>
struct P2Mmbr
{
typedef MmbrTyp T::*ptr;
typedef MmbrTyp TB::*ptr;
};
ClassVisitorAction(IClassVisitorActionImpl *impl)
@ -802,12 +804,12 @@ namespace ATG
{
}
ClassVisitorAction(ClassVisitorAction<T> &&rhs)
ClassVisitorAction(ClassVisitorAction<TB> &&rhs)
: m_impl(std::move(rhs.m_impl))
{
}
ClassVisitorAction &operator=(ClassVisitorAction<T> &&rhs)
ClassVisitorAction &operator=(ClassVisitorAction<TB> &&rhs)
{
m_impl = std::move(rhs.m_impl);
return *this;
@ -816,12 +818,12 @@ namespace ATG
ClassVisitorAction(const ClassVisitorAction &) = delete;
ClassVisitorAction& operator=(const ClassVisitorAction &) = delete;
void Visit(T &inst, class ResolvedActionContext &ctx) const
void Visit(TB &inst, class ResolvedActionContext &ctx) const
{
m_impl->VisitAction(inst, static_cast<VisitorContext&>(ctx));
}
void Visit(const T &inst, class ResolvedActionContext &ctx) const
void Visit(const TB &inst, class ResolvedActionContext &ctx) const
{
m_impl->ConstVisitAction(inst, static_cast<ConstVisitorContext&>(ctx));
}

Просмотреть файл

@ -21,7 +21,7 @@ using namespace DX;
const XMVECTORF32 TextConsole::Line::s_defaultColor = Colors::Transparent;
TextConsole::TextConsole()
TextConsole::TextConsole() noexcept
: m_layout{},
m_foregroundColor(1.f, 1.f, 1.f, 1.f),
m_debugOutput(false),
@ -31,14 +31,14 @@ TextConsole::TextConsole()
Clear();
}
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
_Use_decl_annotations_
TextConsole::TextConsole(
ID3D12Device* device,
ResourceUploadBatch& upload,
const RenderTargetState& rtState,
const wchar_t* fontName,
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptor)
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptor) noexcept(false)
: m_layout{},
m_foregroundColor(1.f, 1.f, 1.f, 1.f),
m_debugOutput(false),
@ -51,7 +51,7 @@ TextConsole::TextConsole(
}
#else
_Use_decl_annotations_
TextConsole::TextConsole(ID3D11DeviceContext* context, const wchar_t* fontName)
TextConsole::TextConsole(ID3D11DeviceContext* context, const wchar_t* fontName) noexcept(false)
: m_layout{},
m_foregroundColor(1.f, 1.f, 1.f, 1.f),
m_debugOutput(false),
@ -64,7 +64,7 @@ TextConsole::TextConsole(ID3D11DeviceContext* context, const wchar_t* fontName)
}
#endif
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void TextConsole::Render(_In_ ID3D12GraphicsCommandList* commandList)
#else
void TextConsole::Render()
@ -82,7 +82,7 @@ void TextConsole::Render()
XMVECTOR foregroundColor = XMLoadFloat4(&m_foregroundColor);
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
m_batch->Begin(commandList);
#else
m_batch->Begin();
@ -106,7 +106,7 @@ void TextConsole::Render()
m_batch->End();
}
void TextConsole::Clear()
void TextConsole::Clear() noexcept
{
std::lock_guard<std::mutex> lock(m_mutex);
@ -222,7 +222,7 @@ void TextConsole::SetWindow(const RECT& layout)
m_layout = layout;
assert(m_font != 0);
assert(m_font != nullptr);
float lineSpacing = m_font->GetLineSpacing();
unsigned int rows = std::max<unsigned int>(1, static_cast<unsigned int>(float(layout.bottom - layout.top) / lineSpacing));
@ -262,7 +262,7 @@ void TextConsole::SetWindow(const RECT& layout)
}
}
void TextConsole::ReleaseDevice()
void TextConsole::ReleaseDevice() noexcept
{
m_batch.reset();
m_font.reset();
@ -271,7 +271,7 @@ void TextConsole::ReleaseDevice()
#endif
}
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
_Use_decl_annotations_
void TextConsole::RestoreDevice(
ID3D12Device* device,
@ -390,21 +390,21 @@ void TextConsole::IncrementLine()
}
//--------------------------------------------------------------------------------------
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
TextConsoleImage::TextConsoleImage() :
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
TextConsoleImage::TextConsoleImage() noexcept :
TextConsole(),
m_bgGpuDescriptor{},
m_bgSize{}
{
}
#else
TextConsoleImage::TextConsoleImage() :
TextConsoleImage::TextConsoleImage() noexcept :
TextConsole()
{
}
#endif
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
_Use_decl_annotations_
TextConsoleImage::TextConsoleImage(
ID3D12Device* device,
@ -413,7 +413,7 @@ TextConsoleImage::TextConsoleImage(
const wchar_t* fontName,
const wchar_t* image,
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptorFont, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptorFont,
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptorImage, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptorImage) :
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptorImage, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptorImage) noexcept(false) :
TextConsole(),
m_bgGpuDescriptor{},
m_bgSize{}
@ -424,14 +424,14 @@ TextConsoleImage::TextConsoleImage(
}
#else
_Use_decl_annotations_
TextConsoleImage::TextConsoleImage(ID3D11DeviceContext* context, const wchar_t* fontName, const wchar_t* image) :
TextConsoleImage::TextConsoleImage(ID3D11DeviceContext* context, const wchar_t* fontName, const wchar_t* image) noexcept(false) :
TextConsole()
{
RestoreDevice(context, fontName, image);
}
#endif
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void TextConsoleImage::Render(_In_ ID3D12GraphicsCommandList* commandList)
{
m_batch->Begin(commandList);
@ -473,7 +473,7 @@ void TextConsoleImage::SetWindow(const RECT& fullscreen, bool useSafeRect)
auto width = UINT(std::max<LONG>(fullscreen.right - fullscreen.left, 1));
auto height = UINT(std::max<LONG>(fullscreen.bottom - fullscreen.top, 1));
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
D3D12_VIEWPORT vp = { 0.0f, 0.0f, static_cast<float>(width), static_cast<float>(height),
D3D12_DEFAULT_VIEWPORT_MIN_DEPTH, D3D12_DEFAULT_VIEWPORT_MAX_DEPTH };
m_batch->SetViewport(vp);
@ -483,14 +483,14 @@ void TextConsoleImage::SetWindow(const RECT& fullscreen, bool useSafeRect)
#endif
}
void TextConsoleImage::ReleaseDevice()
void TextConsoleImage::ReleaseDevice() noexcept
{
TextConsole::ReleaseDevice();
m_background.Reset();
}
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
_Use_decl_annotations_
void TextConsoleImage::RestoreDevice(
ID3D12Device* device,

Просмотреть файл

@ -12,7 +12,7 @@
#pragma once
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
#include "RenderTargetState.h"
#include "ResourceUploadBatch.h"
#endif
@ -30,16 +30,16 @@ namespace DX
class TextConsole
{
public:
TextConsole();
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
TextConsole() noexcept;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
TextConsole(
_In_ ID3D12Device* device,
DirectX::ResourceUploadBatch& upload,
const DirectX::RenderTargetState& rtState,
_In_z_ const wchar_t* fontName,
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptor);
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptor) noexcept(false);
#elif defined(__d3d11_h__) || defined(__d3d11_x_h__)
TextConsole(_In_ ID3D11DeviceContext* context, _In_z_ const wchar_t* fontName);
TextConsole(_In_ ID3D11DeviceContext* context, _In_z_ const wchar_t* fontName) noexcept(false);
#else
# error Please #include <d3d11.h> or <d3d12.h>
#endif
@ -50,13 +50,13 @@ namespace DX
TextConsole(TextConsole const&) = delete;
TextConsole& operator= (TextConsole const&) = delete;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void Render(_In_ ID3D12GraphicsCommandList* commandList);
#else
void Render();
#endif
void Clear();
void Clear() noexcept;
void Write(_In_z_ const wchar_t* str);
void XM_CALLCONV Write(DirectX::FXMVECTOR color, _In_z_ const wchar_t* str);
@ -73,8 +73,8 @@ namespace DX
void SetDebugOutput(bool debug) { m_debugOutput = debug; }
void ReleaseDevice();
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
void ReleaseDevice() noexcept;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void RestoreDevice(
_In_ ID3D12Device* device,
DirectX::ResourceUploadBatch& upload,
@ -134,8 +134,8 @@ namespace DX
class TextConsoleImage : public TextConsole
{
public:
TextConsoleImage();
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
TextConsoleImage() noexcept;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
TextConsoleImage(
_In_ ID3D12Device* device,
DirectX::ResourceUploadBatch& upload,
@ -143,9 +143,9 @@ namespace DX
_In_z_ const wchar_t* fontName,
_In_z_ const wchar_t* image,
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptorFont, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptorFont,
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptorImage, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptorImage);
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptorImage, D3D12_GPU_DESCRIPTOR_HANDLE gpuDescriptorImage) noexcept(false);
#else
TextConsoleImage(_In_ ID3D11DeviceContext* context, _In_z_ const wchar_t* fontName, _In_z_ const wchar_t* image);
TextConsoleImage(_In_ ID3D11DeviceContext* context, _In_z_ const wchar_t* fontName, _In_z_ const wchar_t* image) noexcept(false);
#endif
TextConsoleImage(TextConsoleImage&&) = delete;
@ -154,7 +154,7 @@ namespace DX
TextConsoleImage(TextConsoleImage const&) = delete;
TextConsoleImage& operator= (TextConsoleImage const&) = delete;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void Render(_In_ ID3D12GraphicsCommandList* commandList);
#else
void Render();
@ -163,8 +163,8 @@ namespace DX
void SetWindow(const RECT& layout) = delete;
void SetWindow(const RECT& fullscreen, bool useSafeRect);
void ReleaseDevice();
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
void ReleaseDevice() noexcept;
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
void RestoreDevice(
_In_ ID3D12Device* device,
DirectX::ResourceUploadBatch& upload,
@ -185,7 +185,7 @@ namespace DX
#endif
private:
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
D3D12_GPU_DESCRIPTOR_HANDLE m_bgGpuDescriptor;
DirectX::XMUINT2 m_bgSize;
Microsoft::WRL::ComPtr<ID3D12Resource> m_background;
@ -194,4 +194,4 @@ namespace DX
#endif
RECT m_fullscreen;
};
}
}

Просмотреть файл

@ -10,6 +10,10 @@
#include "pch.h"
#include "WAVFileReader.h"
#ifdef __clang__
#pragma clang diagnostic ignored "-Wunused-const-variable"
#endif
#ifndef MAKEFOURCC
#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
((uint32_t)(uint8_t)(ch0) | ((uint32_t)(uint8_t)(ch1) << 8) | \
@ -18,24 +22,24 @@
namespace
{
struct handle_closer { void operator()(HANDLE h) { if (h) CloseHandle(h); } };
struct handle_closer { void operator()(HANDLE h) noexcept { if (h) CloseHandle(h); } };
typedef std::unique_ptr<void, handle_closer> ScopedHandle;
using ScopedHandle = std::unique_ptr<void, handle_closer>;
inline HANDLE safe_handle(HANDLE h) { return (h == INVALID_HANDLE_VALUE) ? nullptr : h; }
inline HANDLE safe_handle(HANDLE h) noexcept { return (h == INVALID_HANDLE_VALUE) ? nullptr : h; }
//---------------------------------------------------------------------------------
// .WAV files
//---------------------------------------------------------------------------------
const uint32_t FOURCC_RIFF_TAG = MAKEFOURCC('R', 'I', 'F', 'F');
const uint32_t FOURCC_FORMAT_TAG = MAKEFOURCC('f', 'm', 't', ' ');
const uint32_t FOURCC_DATA_TAG = MAKEFOURCC('d', 'a', 't', 'a');
const uint32_t FOURCC_WAVE_FILE_TAG = MAKEFOURCC('W', 'A', 'V', 'E');
const uint32_t FOURCC_XWMA_FILE_TAG = MAKEFOURCC('X', 'W', 'M', 'A');
const uint32_t FOURCC_DLS_SAMPLE = MAKEFOURCC('w', 's', 'm', 'p');
const uint32_t FOURCC_MIDI_SAMPLE = MAKEFOURCC('s', 'm', 'p', 'l');
const uint32_t FOURCC_XWMA_DPDS = MAKEFOURCC('d', 'p', 'd', 's');
const uint32_t FOURCC_XMA_SEEK = MAKEFOURCC('s', 'e', 'e', 'k');
constexpr uint32_t FOURCC_RIFF_TAG = MAKEFOURCC('R', 'I', 'F', 'F');
constexpr uint32_t FOURCC_FORMAT_TAG = MAKEFOURCC('f', 'm', 't', ' ');
constexpr uint32_t FOURCC_DATA_TAG = MAKEFOURCC('d', 'a', 't', 'a');
constexpr uint32_t FOURCC_WAVE_FILE_TAG = MAKEFOURCC('W', 'A', 'V', 'E');
constexpr uint32_t FOURCC_XWMA_FILE_TAG = MAKEFOURCC('X', 'W', 'M', 'A');
constexpr uint32_t FOURCC_DLS_SAMPLE = MAKEFOURCC('w', 's', 'm', 'p');
constexpr uint32_t FOURCC_MIDI_SAMPLE = MAKEFOURCC('s', 'm', 'p', 'l');
constexpr uint32_t FOURCC_XWMA_DPDS = MAKEFOURCC('d', 'p', 'd', 's');
constexpr uint32_t FOURCC_XMA_SEEK = MAKEFOURCC('s', 'e', 'e', 'k');
#pragma pack(push,1)
struct RIFFChunk
@ -114,7 +118,7 @@ namespace
const RIFFChunk* FindChunk(
_In_reads_bytes_(sizeBytes) const uint8_t* data,
_In_ size_t sizeBytes,
_In_ uint32_t tag)
_In_ uint32_t tag) noexcept
{
if (!data)
return nullptr;
@ -144,7 +148,7 @@ namespace
_Outptr_ const uint8_t** pdata,
_Out_ uint32_t* dataSize,
_Out_ bool& dpds,
_Out_ bool& seek)
_Out_ bool& seek) noexcept
{
if (!wavData || !pwfx)
return E_POINTER;
@ -311,7 +315,7 @@ namespace
_In_reads_bytes_(wavDataSize) const uint8_t* wavData,
_In_ size_t wavDataSize,
_Out_ uint32_t* pLoopStart,
_Out_ uint32_t* pLoopLength)
_Out_ uint32_t* pLoopLength) noexcept
{
if (!wavData || !pLoopStart || !pLoopLength)
return E_POINTER;
@ -405,7 +409,7 @@ namespace
{
// Return 'forward' loop
*pLoopStart = loops[j].start;
*pLoopLength = loops[j].end + loops[j].start + 1;
*pLoopLength = loops[j].end - loops[j].start + 1;
return S_OK;
}
}
@ -423,7 +427,7 @@ namespace
_In_ size_t wavDataSize,
_In_ uint32_t tag,
_Outptr_result_maybenull_ const uint32_t** pData,
_Out_ uint32_t* dataCount)
_Out_ uint32_t* dataCount) noexcept
{
if (!wavData || !pData || !dataCount)
return E_POINTER;
@ -484,7 +488,7 @@ namespace
HRESULT LoadAudioFromFile(
_In_z_ const wchar_t* szFileName,
_Inout_ std::unique_ptr<uint8_t[]>& wavData,
_Out_ DWORD* bytesRead)
_Out_ DWORD* bytesRead) noexcept
{
if (!szFileName)
return E_INVALIDARG;
@ -559,7 +563,7 @@ HRESULT DX::LoadWAVAudioInMemory(
size_t wavDataSize,
const WAVEFORMATEX** wfx,
const uint8_t** startAudio,
uint32_t* audioBytes)
uint32_t* audioBytes) noexcept
{
if (!wavData || !wfx || !startAudio || !audioBytes)
return E_INVALIDARG;
@ -590,7 +594,7 @@ HRESULT DX::LoadWAVAudioFromFile(
std::unique_ptr<uint8_t[]>& wavData,
const WAVEFORMATEX** wfx,
const uint8_t** startAudio,
uint32_t* audioBytes)
uint32_t* audioBytes) noexcept
{
if (!szFileName || !wfx || !startAudio || !audioBytes)
return E_INVALIDARG;
@ -620,7 +624,7 @@ _Use_decl_annotations_
HRESULT DX::LoadWAVAudioInMemoryEx(
const uint8_t* wavData,
size_t wavDataSize,
DX::WAVData& result)
DX::WAVData& result) noexcept
{
if (!wavData)
return E_INVALIDARG;
@ -664,7 +668,7 @@ _Use_decl_annotations_
HRESULT DX::LoadWAVAudioFromFileEx(
const wchar_t* szFileName,
std::unique_ptr<uint8_t[]>& wavData,
DX::WAVData& result)
DX::WAVData& result) noexcept
{
if (!szFileName)
return E_INVALIDARG;

Просмотреть файл

@ -9,8 +9,9 @@
#pragma once
#include <stdint.h>
#include <objbase.h>
#include <cstdint>
#include <memory>
#include <mmreg.h>
@ -21,7 +22,7 @@
namespace DX
{
inline uint32_t GetFormatTag(const WAVEFORMATEX* wfx)
inline uint32_t GetFormatTag(_In_ const WAVEFORMATEX* wfx) noexcept
{
if (wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE)
{
@ -51,14 +52,14 @@ namespace DX
_In_ size_t wavDataSize,
_Outptr_ const WAVEFORMATEX** wfx,
_Outptr_ const uint8_t** startAudio,
_Out_ uint32_t* audioBytes);
_Out_ uint32_t* audioBytes) noexcept;
HRESULT LoadWAVAudioFromFile(
_In_z_ const wchar_t* szFileName,
_Inout_ std::unique_ptr<uint8_t[]>& wavData,
_Outptr_ const WAVEFORMATEX** wfx,
_Outptr_ const uint8_t** startAudio,
_Out_ uint32_t* audioBytes);
_Out_ uint32_t* audioBytes) noexcept;
struct WAVData
{
@ -70,7 +71,7 @@ namespace DX
const uint32_t* seek; // Note: XMA Seek data is Big-Endian
uint32_t seekCount;
size_t GetSampleDuration() const
size_t GetSampleDuration() const noexcept
{
if (!wfx || !wfx->nChannels)
return 0;
@ -101,14 +102,14 @@ namespace DX
}
break;
#endif
#endif
#if defined(_XBOX_ONE) && defined(_TITLE)
#if defined(_XBOX_ONE) && defined(_TITLE)
case WAVE_FORMAT_XMA2:
return reinterpret_cast<const XMA2WAVEFORMATEX*>(wfx)->SamplesEncoded;
#endif
#endif
default:
if (wfx->wBitsPerSample > 0)
@ -121,7 +122,7 @@ namespace DX
return 0;
}
size_t GetSampleDurationMS() const
size_t GetSampleDurationMS() const noexcept
{
if (!wfx || !wfx->nSamplesPerSec)
return 0;
@ -134,10 +135,10 @@ namespace DX
HRESULT LoadWAVAudioInMemoryEx(
_In_reads_bytes_(wavDataSize) const uint8_t* wavData,
_In_ size_t wavDataSize,
_Out_ WAVData& result);
_Out_ WAVData& result) noexcept;
HRESULT LoadWAVAudioFromFileEx(
_In_z_ const wchar_t* szFileName,
_Inout_ std::unique_ptr<uint8_t[]>& wavData,
_Out_ WAVData& result);
}
_Out_ WAVData& result) noexcept;
}

Просмотреть файл

@ -2424,9 +2424,9 @@ struct D3DX12_MESH_SHADER_PIPELINE_STATE_DESC
D3D12_PIPELINE_STATE_FLAGS Flags;
};
// CD3DX12_PIPELINE_STATE_STREAM2 Works on Vibranium+ (where there is a new mesh shader pipeline).
// Use CD3DX12_PIPELINE_STATE_STREAM1 for RS3+ (where there is a new view instancing subobject).
// Use CD3DX12_PIPELINE_STATE_STREAM for RS2+ support.
// CD3DX12_PIPELINE_STATE_STREAM2 Works on OS Build 19041+ (where there is a new mesh shader pipeline).
// Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject).
// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
struct CD3DX12_PIPELINE_STATE_STREAM2
{
CD3DX12_PIPELINE_STATE_STREAM2() = default;
@ -2545,8 +2545,8 @@ struct CD3DX12_PIPELINE_STATE_STREAM2
#endif // NTDDI_WIN10_VB
#if defined(NTDDI_WIN10_RS3) && (NTDDI_VERSION >= NTDDI_WIN10_RS3)
// CD3DX12_PIPELINE_STATE_STREAM1 Works on RS3+ (where there is a new view instancing subobject).
// Use CD3DX12_PIPELINE_STATE_STREAM for RS2+ support.
// CD3DX12_PIPELINE_STATE_STREAM1 Works on OS Build 16299+ (where there is a new view instancing subobject).
// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
struct CD3DX12_PIPELINE_STATE_STREAM1
{
CD3DX12_PIPELINE_STATE_STREAM1() = default;
@ -2721,7 +2721,7 @@ struct CD3DX12_PIPELINE_MESH_STATE_STREAM
};
#endif // NTDDI_WIN10_VB
// CD3DX12_PIPELINE_STATE_STREAM works on RS2+ but does not support new subobject(s) added in RS3+.
// CD3DX12_PIPELINE_STATE_STREAM works on OS Build 15063+ but does not support new subobject(s) added in OS Build 16299+.
// See CD3DX12_PIPELINE_STATE_STREAM1 for instance.
struct CD3DX12_PIPELINE_STATE_STREAM
{

Просмотреть файл

@ -1426,10 +1426,12 @@ X3DAUDIO_HANDLE& AudioEngine::Get3DHandle() const noexcept
// Static methods.
#ifdef _XBOX_ONE
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#include <mmdeviceapi.h>
#elif defined(_XBOX_ONE)
#include <Windows.Media.Devices.h>
#include <wrl.h>
#elif defined(USING_XAUDIO2_REDIST)
#elif defined(USING_XAUDIO2_REDIST) || defined(_GAMING_DESKTOP)
#include <mmdeviceapi.h>
#include <functiondiscoverykeys_devpkey.h>
#elif (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
@ -1445,7 +1447,31 @@ std::vector<AudioEngine::RendererDetail> AudioEngine::GetRendererDetails()
{
std::vector<RendererDetail> list;
#ifdef _XBOX_ONE
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
ComPtr<IMMDeviceEnumerator> devEnum;
HRESULT hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(devEnum.GetAddressOf()));
ThrowIfFailed(hr);
ComPtr<IMMDeviceCollection> devices;
hr = devEnum->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &devices);
ThrowIfFailed(hr);
ComPtr<IMMDevice> endpoint;
ThrowIfFailed(devices->Item(0, endpoint.GetAddressOf()));
LPWSTR id = nullptr;
ThrowIfFailed(endpoint->GetId(&id));
RendererDetail device;
device.deviceId = id;
device.description = L"Default";
CoTaskMemFree(id);
list.emplace_back(device);
#elif defined(_XBOX_ONE)
using namespace Microsoft::WRL;
using namespace Microsoft::WRL::Wrappers;
@ -1465,7 +1491,7 @@ std::vector<AudioEngine::RendererDetail> AudioEngine::GetRendererDetails()
device.description = L"Default";
list.emplace_back(device);
#elif defined(USING_XAUDIO2_REDIST)
#elif defined(USING_XAUDIO2_REDIST) || defined(_GAMING_DESKTOP)
ComPtr<IMMDeviceEnumerator> devEnum;
HRESULT hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(devEnum.GetAddressOf()));

Просмотреть файл

@ -23,8 +23,10 @@ class DynamicSoundEffectInstance::Impl : public IVoiceNotify
{
public:
Impl(_In_ AudioEngine* engine,
_In_ DynamicSoundEffectInstance* object, std::function<void(DynamicSoundEffectInstance*)>& bufferNeeded,
int sampleRate, int channels, int sampleBits, SOUND_EFFECT_INSTANCE_FLAGS flags) :
_In_ DynamicSoundEffectInstance* object,
std::function<void(DynamicSoundEffectInstance*)>& bufferNeeded,
int sampleRate, int channels, int sampleBits,
SOUND_EFFECT_INSTANCE_FLAGS flags) :
mBase(),
mBufferNeeded(nullptr),
mObject(object)
@ -238,9 +240,13 @@ void DynamicSoundEffectInstance::Impl::OnUpdate()
// Public constructors
_Use_decl_annotations_
DynamicSoundEffectInstance::DynamicSoundEffectInstance(AudioEngine* engine,
std::function<void(DynamicSoundEffectInstance*)> bufferNeeded,
int sampleRate, int channels, int sampleBits, SOUND_EFFECT_INSTANCE_FLAGS flags) :
DynamicSoundEffectInstance::DynamicSoundEffectInstance(
AudioEngine* engine,
std::function<void(DynamicSoundEffectInstance*)> bufferNeeded,
int sampleRate,
int channels,
int sampleBits,
SOUND_EFFECT_INSTANCE_FLAGS flags) :
pImpl(std::make_unique<Impl>(engine, this, bufferNeeded, sampleRate, channels, sampleBits, flags))
{
}

Просмотреть файл

@ -17,7 +17,7 @@
#define DIRECTX_ENABLE_XWMA
#endif
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
#define DIRECTX_ENABLE_XMA2
#endif
@ -116,7 +116,7 @@ namespace DirectX
if (eng->GetChannelMask() & SPEAKER_LOW_FREQUENCY)
mFlags = flags | SoundEffectInstance_UseRedirectLFE;
else
mFlags = static_cast<SOUND_EFFECT_INSTANCE_FLAGS>(static_cast<unsigned int>(flags) & ~static_cast<unsigned int>(SoundEffectInstance_UseRedirectLFE));
mFlags = flags & ~SoundEffectInstance_UseRedirectLFE;
memset(&mDSPSettings, 0, sizeof(X3DAUDIO_DSP_SETTINGS));
assert(wfx != nullptr);
@ -315,7 +315,7 @@ namespace DirectX
if (engine->GetChannelMask() & SPEAKER_LOW_FREQUENCY)
mFlags = mFlags | SoundEffectInstance_UseRedirectLFE;
else
mFlags = static_cast<SOUND_EFFECT_INSTANCE_FLAGS>(static_cast<unsigned int>(mFlags) & ~static_cast<unsigned int>(SoundEffectInstance_UseRedirectLFE));
mFlags = mFlags & ~SoundEffectInstance_UseRedirectLFE;
mDSPSettings.DstChannelCount = engine->GetOutputChannels();
}

Просмотреть файл

@ -14,7 +14,7 @@
#include <list>
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
#include <apu.h>
#include <shapexmacontext.h>
#endif

Просмотреть файл

@ -14,7 +14,7 @@
#include "PlatformHelpers.h"
#include "SoundCommon.h"
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
#include <apu.h>
#include <shapexmacontext.h>
#endif
@ -54,7 +54,7 @@ namespace
if (!wfx)
return 0;
size_t buffer = wfx->nAvgBytesPerSec * 2;
size_t buffer = size_t(wfx->nAvgBytesPerSec) * 2u;
#ifdef DIRECTX_ENABLE_XMA2
if (tag == WAVE_FORMAT_XMA2)
@ -316,6 +316,8 @@ public:
struct BufferNotify : public IVoiceNotify
{
BufferNotify() : mParent(nullptr), mIndex(0) {}
void Set(SoundStreamInstance::Impl* parent, size_t index) noexcept(true) { mParent = parent; mIndex = index; }
void __cdecl OnBufferEnd() override
@ -348,6 +350,16 @@ public:
uint32_t startPosition;
OVERLAPPED request;
BufferNotify notify;
Packets() :
state(State::FREE),
buffer(nullptr),
stitchBuffer(nullptr),
valid(0),
audioBytes(0),
startPosition(0),
request{},
notify{} {}
};
Packets mPackets[MAX_BUFFER_COUNT];
@ -498,7 +510,7 @@ HRESULT SoundStreamInstance::Impl::ReadBuffers() noexcept
uint32_t readBuffer = mCurrentDiskReadBuffer;
for (uint32_t j = 0; j < MAX_BUFFER_COUNT; ++j)
{
uint32_t entry = (j + readBuffer) % MAX_BUFFER_COUNT;
uint32_t entry = (j + readBuffer) % uint32_t(MAX_BUFFER_COUNT);
if (mPackets[entry].state == State::FREE)
{
if (mCurrentPosition < mLengthInBytes)
@ -521,7 +533,7 @@ HRESULT SoundStreamInstance::Impl::ReadBuffers() noexcept
mCurrentPosition += cbValid;
mCurrentDiskReadBuffer = (entry + 1) % MAX_BUFFER_COUNT;
mCurrentDiskReadBuffer = (entry + 1) % uint32_t(MAX_BUFFER_COUNT);
mPackets[entry].state = State::PENDING;
@ -677,7 +689,7 @@ HRESULT SoundStreamInstance::Impl::PlayBuffers() noexcept
uint32_t seekOffset = mPackets[mCurrentPlayBuffer].startPosition / mBlockAlign;
if (seekOffset > MAX_STREAMING_SEEK_PACKETS)
{
DebugTrace("ERROR: xWMA packet seek count exceeds %u\n", MAX_STREAMING_SEEK_PACKETS);
DebugTrace("ERROR: xWMA packet seek count exceeds %zu\n", MAX_STREAMING_SEEK_PACKETS);
return E_FAIL;
}
else if (seekOffset > 0)
@ -704,7 +716,7 @@ HRESULT SoundStreamInstance::Impl::PlayBuffers() noexcept
}
mPackets[mCurrentPlayBuffer].state = State::PLAYING;
mCurrentPlayBuffer = (mCurrentPlayBuffer + 1) % MAX_BUFFER_COUNT;
mCurrentPlayBuffer = (mCurrentPlayBuffer + 1) % uint32_t(MAX_BUFFER_COUNT);
}
return S_OK;

Просмотреть файл

@ -400,7 +400,7 @@ namespace
{
// Return 'forward' loop
*pLoopStart = loops[j].start;
*pLoopLength = loops[j].end + loops[j].start + 1;
*pLoopLength = loops[j].end - loops[j].start + 1;
return S_OK;
}
}

Просмотреть файл

@ -16,7 +16,7 @@
#include "PlatformHelpers.h"
#include "SoundCommon.h"
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
#include <apu.h>
#include <shapexmacontext.h>
#endif

Просмотреть файл

@ -44,7 +44,7 @@ namespace DirectX
bool HasNames() const noexcept;
bool IsStreamingBank() const noexcept;
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
bool HasXMA() const noexcept;
#endif

Просмотреть файл

@ -19,6 +19,7 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Inc\BufferHelpers.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
@ -40,7 +41,6 @@
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
@ -57,11 +57,13 @@
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BufferHelpers.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DebugEffect.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DirectXHelpers.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
@ -270,6 +272,14 @@
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
@ -284,6 +294,14 @@
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
@ -304,6 +322,10 @@
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBnSM4.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBnSM4.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingSM4.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingSM4.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
@ -494,6 +516,7 @@
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
@ -638,6 +661,22 @@
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
<PropertyGroup>
<_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])</_ATGFXCPath>
<_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))</_ATGFXCPath>
<_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\</_ATGFXCPath>
</PropertyGroup>
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath)" />
<PropertyGroup>
<_ATGFXCPath />
</PropertyGroup>
</Target>
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
<ItemGroup>
<_ATGShaderHeaders Include="$(ProjectDir)src/Shaders/Compiled/*.inc" Exclude="$(ProjectDir)src/Shaders/Compiled/*Xbox*.inc" />
<_ATGShaderSymbols Include="$(ProjectDir)src/Shaders/Compiled/*.pdb" Exclude="$(ProjectDir)src/Shaders/Compiled/*Xbox*.pdb" />
</ItemGroup>
<Delete Files="@(_ATGShaderHeaders)" />
<Delete Files="@(_ATGShaderSymbols)" />
</Target>
</Project>

Просмотреть файл

@ -45,9 +45,6 @@
<ClInclude Include="Inc\VertexTypes.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="Src\ConstantBuffer.h">
<Filter>Src</Filter>
</ClInclude>
<ClInclude Include="Src\pch.h">
<Filter>Src</Filter>
</ClInclude>
@ -126,6 +123,9 @@
<ClInclude Include="Inc\PostProcess.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="Inc\BufferHelpers.h">
<Filter>Inc</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Src\CommonStates.cpp">
@ -239,6 +239,12 @@
<ClCompile Include="Src\PBREffectFactory.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="Src\BufferHelpers.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="Src\DirectXHelpers.cpp">
<Filter>Src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\CompileShaders.cmd">
@ -1289,5 +1295,65 @@
<Filter>Src\Shaders\Shared</Filter>
</None>
<None Include="README.md" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLighting.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBnSM4.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingSM4.inc">
<Filter>Src\Shaders\Compiled</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLighting.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBnSM4.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingSM4.pdb">
<Filter>Src\Shaders\Symbols</Filter>
</None>
</ItemGroup>
</Project>

Просмотреть файл

@ -19,6 +19,7 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Inc\BufferHelpers.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
@ -40,7 +41,6 @@
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
@ -57,11 +57,13 @@
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BufferHelpers.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DebugEffect.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DirectXHelpers.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
@ -100,332 +102,6 @@
<ItemGroup>
<None Include="README.md" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSHemiAmbient.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSHemiAmbient.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBBiTangents.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBBiTangents.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBNormals.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBNormals.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBTangents.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBTangents.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebug.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebug.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugBn.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugBn.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVc.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVc.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVcBn.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSConstant.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSConstant.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTextured.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTextured.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissive.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissive.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissiveVelocity.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissiveVelocity.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedVelocity.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedVelocity.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstant.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstant.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantBn.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantBn.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocity.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocity.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocityBn.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocityBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\PBRCommon.fxh" />
@ -494,6 +170,7 @@
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
@ -640,6 +317,22 @@
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
<PropertyGroup>
<_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])</_ATGFXCPath>
<_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))</_ATGFXCPath>
<_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\</_ATGFXCPath>
</PropertyGroup>
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath)" />
<PropertyGroup>
<_ATGFXCPath />
</PropertyGroup>
</Target>
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
<ItemGroup>
<_ATGShaderHeaders Include="$(ProjectDir)src/Shaders/Compiled/*.inc" Exclude="$(ProjectDir)src/Shaders/Compiled/*Xbox*.inc" />
<_ATGShaderSymbols Include="$(ProjectDir)src/Shaders/Compiled/*.pdb" Exclude="$(ProjectDir)src/Shaders/Compiled/*Xbox*.pdb" />
</ItemGroup>
<Delete Files="@(_ATGShaderHeaders)" />
<Delete Files="@(_ATGShaderSymbols)" />
</Target>
</Project>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -39,6 +39,7 @@
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\BufferHelpers.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
@ -60,7 +61,6 @@
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
@ -76,332 +76,6 @@
<None Include="Inc\SimpleMath.inl" />
<None Include="README.md" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSHemiAmbient.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSHemiAmbient.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBBiTangents.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBBiTangents.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBNormals.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBNormals.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBTangents.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_PSRGBTangents.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebug.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebug.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugBn.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugBn.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVc.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVc.pdb" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVcBn.inc" />
<None Include="Src\Shaders\Compiled\DebugEffect_VSDebugVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSConstant.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSConstant.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTextured.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTextured.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissive.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissive.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissiveVelocity.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedEmissiveVelocity.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedVelocity.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_PSTexturedVelocity.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstant.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstant.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantBn.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantBn.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocity.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocity.pdb" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocityBn.inc" />
<None Include="Src\Shaders\Compiled\PBREffect_VSConstantVelocityBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\PBRCommon.fxh" />
@ -424,11 +98,13 @@
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\BufferHelpers.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DebugEffect.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DirectXHelpers.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
@ -536,6 +212,7 @@
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.14393.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
@ -829,6 +506,22 @@
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
<PropertyGroup>
<_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])</_ATGFXCPath>
<_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))</_ATGFXCPath>
<_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\</_ATGFXCPath>
</PropertyGroup>
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath)" />
<PropertyGroup>
<_ATGFXCPath />
</PropertyGroup>
</Target>
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
<ItemGroup>
<_ATGShaderHeaders Include="$(ProjectDir)src/Shaders/Compiled/*.inc" Exclude="$(ProjectDir)src/Shaders/Compiled/*Xbox*.inc" />
<_ATGShaderSymbols Include="$(ProjectDir)src/Shaders/Compiled/*.pdb" Exclude="$(ProjectDir)src/Shaders/Compiled/*Xbox*.pdb" />
</ItemGroup>
<Delete Files="@(_ATGShaderHeaders)" />
<Delete Files="@(_ATGShaderSymbols)" />
</Target>
</Project>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -19,6 +19,7 @@
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\BufferHelpers.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
@ -41,7 +42,6 @@
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
@ -67,11 +67,13 @@
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\BufferHelpers.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DebugEffect.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DirectXHelpers.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
@ -110,344 +112,6 @@
<None Include="Inc\SimpleMath.inl" />
<None Include="README.md" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSHemiAmbient.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSHemiAmbient.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBBiTangents.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBBiTangents.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBNormals.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBNormals.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBTangents.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBTangents.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebug.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebug.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSConstant.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSConstant.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTextured.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTextured.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissive.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissive.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissiveVelocity.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissiveVelocity.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedVelocity.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedVelocity.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstant.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstant.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocity.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocity.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocityBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocityBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\PBRCommon.fxh" />
@ -667,7 +331,7 @@
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders xbox" />
<Exec Condition="!Exists('src/Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders xbox" EnvironmentVariables="XboxOneXDKLatest=$(DurangoXdkInstallPath)" />
</Target>
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
<ItemGroup>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -19,6 +19,7 @@
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\BufferHelpers.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
@ -41,7 +42,6 @@
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
@ -67,11 +67,13 @@
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\BufferHelpers.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DebugEffect.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DirectXHelpers.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
@ -110,344 +112,6 @@
<None Include="Inc\SimpleMath.inl" />
<None Include="README.md" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSHemiAmbient.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSHemiAmbient.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBBiTangents.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBBiTangents.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBNormals.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBNormals.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBTangents.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_PSRGBTangents.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebug.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebug.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDebugEffect_VSDebugVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSConstant.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSConstant.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTextured.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTextured.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissive.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissive.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissiveVelocity.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedEmissiveVelocity.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedVelocity.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_PSTexturedVelocity.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstant.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstant.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocity.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocity.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocityBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePBREffect_VSConstantVelocityBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\PBRCommon.fxh" />
@ -668,7 +332,7 @@
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders xbox" />
<Exec Condition="!Exists('src/Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders xbox" EnvironmentVariables="XboxOneXDKLatest=$(DurangoXdkInstallPath)" />
</Target>
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
<ItemGroup>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -16,7 +16,7 @@
#include <mmreg.h>
#include <Audioclient.h>
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
#include <xma2defs.h>
#pragma comment(lib,"acphal.lib")
#endif
@ -65,12 +65,12 @@ namespace DirectX
size_t playingOneShots; // Number of one-shot sounds currently playing
size_t playingInstances; // Number of sound effect instances currently playing
size_t allocatedInstances; // Number of SoundEffectInstance allocated
size_t allocatedVoices; // Number of XAudio2 voices allocated (standard, 3D, one-shots, and idle one-shots)
size_t allocatedVoices; // Number of XAudio2 voices allocated (standard, 3D, one-shots, and idle one-shots)
size_t allocatedVoices3d; // Number of XAudio2 voices allocated for 3D
size_t allocatedVoicesOneShot; // Number of XAudio2 voices allocated for one-shot sounds
size_t allocatedVoicesIdle; // Number of XAudio2 voices allocated for one-shot sounds but not currently in use
size_t audioBytes; // Total wave data (in bytes) in SoundEffects and in-memory WaveBanks
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
size_t xmaAudioBytes; // Total wave data (in bytes) in SoundEffects and in-memory WaveBanks allocated with ApuAlloc
#endif
size_t streamingBytes; // Total size of streaming buffers (in bytes) in streaming WaveBanks
@ -132,8 +132,6 @@ namespace DirectX
AudioEngine_DisableVoiceReuse = 0x40000,
};
inline AUDIO_ENGINE_FLAGS operator|(AUDIO_ENGINE_FLAGS a, AUDIO_ENGINE_FLAGS b) noexcept { return static_cast<AUDIO_ENGINE_FLAGS>( static_cast<int>(a) | static_cast<int>(b) ); }
enum SOUND_EFFECT_INSTANCE_FLAGS : uint32_t
{
SoundEffectInstance_Default = 0x0,
@ -145,8 +143,6 @@ namespace DirectX
SoundEffectInstance_UseRedirectLFE = 0x10000,
};
inline SOUND_EFFECT_INSTANCE_FLAGS operator|(SOUND_EFFECT_INSTANCE_FLAGS a, SOUND_EFFECT_INSTANCE_FLAGS b) noexcept { return static_cast<SOUND_EFFECT_INSTANCE_FLAGS>(static_cast<int>(a) | static_cast<int>(b)); }
enum AUDIO_ENGINE_REVERB : unsigned int
{
Reverb_Off,
@ -738,4 +734,16 @@ namespace DirectX
std::unique_ptr<Impl> pImpl;
};
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec"
#endif
DEFINE_ENUM_FLAG_OPERATORS(AUDIO_ENGINE_FLAGS);
DEFINE_ENUM_FLAG_OPERATORS(SOUND_EFFECT_INSTANCE_FLAGS);
#ifdef __clang__
#pragma clang diagnostic pop
#endif
}

Просмотреть файл

@ -0,0 +1,160 @@
//--------------------------------------------------------------------------------------
// File: BufferHelpers.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#include "GraphicsMemory.h"
#else
#include <d3d11_1.h>
#endif
#include <assert.h>
#include <wrl\client.h>
namespace DirectX
{
// Helpers for creating initialized Direct3D buffer resources.
HRESULT __cdecl CreateStaticBuffer(_In_ ID3D11Device* device,
_In_reads_bytes_(count* stride) const void* ptr,
size_t count,
size_t stride,
unsigned int bindFlags,
_COM_Outptr_ ID3D11Buffer** pBuffer) noexcept;
template<typename T>
HRESULT CreateStaticBuffer(_In_ ID3D11Device* device,
_In_reads_(count) T const* data,
size_t count,
unsigned int bindFlags,
_COM_Outptr_ ID3D11Buffer** pBuffer) noexcept
{
return CreateStaticBuffer(device, data, count, sizeof(T), bindFlags, pBuffer);
}
template<typename T>
HRESULT CreateStaticBuffer(_In_ ID3D11Device* device,
T const& data,
unsigned int bindFlags,
_COM_Outptr_ ID3D11Buffer** pBuffer) noexcept
{
return CreateStaticBuffer(device, data.data(), data.size(), sizeof(typename T::value_type), bindFlags, pBuffer);
}
// Helpers for creating texture from memory arrays.
HRESULT __cdecl CreateTextureFromMemory(_In_ ID3D11Device* device,
size_t width,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
_COM_Outptr_opt_ ID3D11Texture1D** texture,
_COM_Outptr_opt_ ID3D11ShaderResourceView** textureView,
unsigned int bindFlags = D3D11_BIND_SHADER_RESOURCE) noexcept;
HRESULT __cdecl CreateTextureFromMemory(_In_ ID3D11Device* device,
size_t width, size_t height,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
_COM_Outptr_opt_ ID3D11Texture2D** texture,
_COM_Outptr_opt_ ID3D11ShaderResourceView** textureView,
unsigned int bindFlags = D3D11_BIND_SHADER_RESOURCE) noexcept;
HRESULT __cdecl CreateTextureFromMemory(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDeviceX,
_In_ ID3D11DeviceContextX* d3dContextX,
#else
_In_ ID3D11Device* device,
_In_ ID3D11DeviceContext* d3dContext,
#endif
size_t width, size_t height,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
_COM_Outptr_opt_ ID3D11Texture2D** texture,
_COM_Outptr_opt_ ID3D11ShaderResourceView** textureView) noexcept;
HRESULT __cdecl CreateTextureFromMemory(_In_ ID3D11Device* device,
size_t width, size_t height, size_t depth,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
_COM_Outptr_opt_ ID3D11Texture3D** texture,
_COM_Outptr_opt_ ID3D11ShaderResourceView** textureView,
unsigned int bindFlags = D3D11_BIND_SHADER_RESOURCE) noexcept;
// Strongly typed wrapper around a Direct3D constant buffer.
namespace Internal
{
// Base class, not to be used directly: clients should access this via the derived PrimitiveBatch<T>.
class ConstantBufferBase
{
protected:
void __cdecl CreateBuffer(_In_ ID3D11Device* device, size_t bytes, _Outptr_ ID3D11Buffer** pBuffer);
};
}
template<typename T>
class ConstantBuffer : public Internal::ConstantBufferBase
{
public:
// Constructor.
ConstantBuffer() = default;
explicit ConstantBuffer(_In_ ID3D11Device* device) noexcept(false)
{
CreateBuffer(device, sizeof(T), mConstantBuffer.GetAddressOf());
}
ConstantBuffer(ConstantBuffer&&) = default;
ConstantBuffer& operator= (ConstantBuffer&&) = default;
ConstantBuffer(ConstantBuffer const&) = delete;
ConstantBuffer& operator= (ConstantBuffer const&) = delete;
void Create(_In_ ID3D11Device* device)
{
CreateBuffer(device, sizeof(T), mConstantBuffer.ReleaseAndGetAddressOf());
}
// Writes new data into the constant buffer.
#if defined(_XBOX_ONE) && defined(_TITLE)
void __cdecl SetData(_In_ ID3D11DeviceContext* deviceContext, T const& value, void** grfxMemory)
{
assert(grfxMemory != nullptr);
void* ptr = GraphicsMemory::Get().Allocate(deviceContext, sizeof(T), 64);
assert(ptr != nullptr);
*(T*)ptr = value;
*grfxMemory = ptr;
}
#else
void __cdecl SetData(_In_ ID3D11DeviceContext* deviceContext, T const& value) noexcept
{
assert(mConstantBuffer);
D3D11_MAPPED_SUBRESOURCE mappedResource;
if (SUCCEEDED(deviceContext->Map(mConstantBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))
{
*static_cast<T*>(mappedResource.pData) = value;
deviceContext->Unmap(mConstantBuffer.Get(), 0);
}
}
#endif // _XBOX_ONE && _TITLE
// Looks up the underlying D3D constant buffer.
ID3D11Buffer* GetBuffer() const noexcept { return mConstantBuffer.Get(); }
private:
Microsoft::WRL::ComPtr<ID3D11Buffer> mConstantBuffer;
};
}

Просмотреть файл

@ -29,7 +29,7 @@ namespace DirectX
{
#ifndef DDS_ALPHA_MODE_DEFINED
#define DDS_ALPHA_MODE_DEFINED
enum DDS_ALPHA_MODE
enum DDS_ALPHA_MODE : uint32_t
{
DDS_ALPHA_MODE_UNKNOWN = 0,
DDS_ALPHA_MODE_STRAIGHT = 1,

Просмотреть файл

@ -54,15 +54,17 @@
namespace DirectX
{
class IEffect;
// simliar to std::lock_guard for exception-safe Direct3D resource locking
class MapGuard : public D3D11_MAPPED_SUBRESOURCE
{
public:
MapGuard(_In_ ID3D11DeviceContext* context,
_In_ ID3D11Resource *resource,
_In_ UINT subresource,
_In_ D3D11_MAP mapType,
_In_ UINT mapFlags) noexcept(false)
_In_ ID3D11Resource *resource,
_In_ unsigned int subresource,
_In_ D3D11_MAP mapType,
_In_ unsigned int mapFlags) noexcept(false)
: mContext(context), mResource(resource), mSubresource(subresource)
{
HRESULT hr = mContext->Map(resource, subresource, mapType, mapFlags, this);
@ -104,51 +106,55 @@ namespace DirectX
private:
ID3D11DeviceContext* mContext;
ID3D11Resource* mResource;
UINT mSubresource;
unsigned int mSubresource;
};
// Helper sets a D3D resource name string (used by PIX and debug layer leak reporting).
template<UINT TNameLength>
inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const char (&name)[TNameLength]) noexcept
inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const char(&name)[TNameLength]) noexcept
{
#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) )
#if defined(_XBOX_ONE) && defined(_TITLE)
wchar_t wname[MAX_PATH];
int result = MultiByteToWideChar(CP_UTF8, 0, name, TNameLength, wname, MAX_PATH);
if (result > 0)
{
resource->SetName(wname);
}
#else
resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, name);
#endif
#else
UNREFERENCED_PARAMETER(resource);
UNREFERENCED_PARAMETER(name);
#endif
#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) )
#if defined(_XBOX_ONE) && defined(_TITLE)
wchar_t wname[MAX_PATH];
int result = MultiByteToWideChar(CP_UTF8, 0, name, TNameLength, wname, MAX_PATH);
if (result > 0)
{
resource->SetName(wname);
}
#else
resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, name);
#endif
#else
UNREFERENCED_PARAMETER(resource);
UNREFERENCED_PARAMETER(name);
#endif
}
template<UINT TNameLength>
inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const wchar_t (&name)[TNameLength])
inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const wchar_t(&name)[TNameLength])
{
#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) )
#if defined(_XBOX_ONE) && defined(_TITLE)
resource->SetName( name );
#else
char aname[MAX_PATH];
int result = WideCharToMultiByte(CP_UTF8, 0, name, TNameLength, aname, MAX_PATH, nullptr, nullptr);
if (result > 0)
{
resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, aname);
}
#endif
#else
UNREFERENCED_PARAMETER(resource);
UNREFERENCED_PARAMETER(name);
#endif
#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) )
#if defined(_XBOX_ONE) && defined(_TITLE)
resource->SetName(name);
#else
char aname[MAX_PATH];
int result = WideCharToMultiByte(CP_UTF8, 0, name, TNameLength, aname, MAX_PATH, nullptr, nullptr);
if (result > 0)
{
resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, aname);
}
#endif
#else
UNREFERENCED_PARAMETER(resource);
UNREFERENCED_PARAMETER(name);
#endif
}
// Helper to check for power-of-2
template<typename T>
constexpr bool IsPowerOf2(T x) noexcept { return ((x != 0) && !(x & (x - 1))); }
// Helpers for aligning values by a power of 2
template<typename T>
inline T AlignDown(T size, size_t alignment) noexcept
@ -156,7 +162,7 @@ namespace DirectX
if (alignment > 0)
{
assert(((alignment - 1) & alignment) == 0);
T mask = static_cast<T>(alignment - 1);
auto mask = static_cast<T>(alignment - 1);
return size & ~mask;
}
return size;
@ -168,9 +174,24 @@ namespace DirectX
if (alignment > 0)
{
assert(((alignment - 1) & alignment) == 0);
T mask = static_cast<T>(alignment - 1);
auto mask = static_cast<T>(alignment - 1);
return (size + mask) & ~mask;
}
return size;
}
// Helper for creating a Direct3D input layout to match a shader from an IEffect
HRESULT __cdecl CreateInputLayoutFromEffect(_In_ ID3D11Device* device,
_In_ IEffect* effect,
_In_reads_(count) const D3D11_INPUT_ELEMENT_DESC* desc,
size_t count,
_COM_Outptr_ ID3D11InputLayout** pInputLayout) noexcept;
template<typename T>
HRESULT CreateInputLayoutFromEffect(_In_ ID3D11Device* device,
_In_ IEffect* effect,
_COM_Outptr_ ID3D11InputLayout** pInputLayout) noexcept
{
return CreateInputLayoutFromEffect(device, effect, T::InputElements, T::InputElementCount, pInputLayout);
}
}

Просмотреть файл

@ -88,7 +88,7 @@ namespace DirectX
virtual void __cdecl EnableDefaultLighting() = 0;
static const int MaxDirectionalLights = 3;
static constexpr int MaxDirectionalLights = 3;
protected:
IEffectLights() = default;
@ -133,7 +133,7 @@ namespace DirectX
virtual void __cdecl SetBoneTransforms(_In_reads_(count) XMMATRIX const* value, size_t count) = 0;
virtual void __cdecl ResetBoneTransforms() = 0;
static const int MaxBones = 72;
static constexpr int MaxBones = 72;
protected:
IEffectSkinning() = default;
@ -319,6 +319,13 @@ namespace DirectX
class EnvironmentMapEffect : public IEffect, public IEffectMatrices, public IEffectLights, public IEffectFog
{
public:
enum Mapping
{
Mapping_Cube = 0, // Cubic environment map
Mapping_Sphere, // Spherical environment map
Mapping_DualParabola, // Dual-parabola environment map (requires Feature Level 10.0)
};
explicit EnvironmentMapEffect(_In_ ID3D11Device* device);
EnvironmentMapEffect(EnvironmentMapEffect&& moveFrom) noexcept;
EnvironmentMapEffect& operator= (EnvironmentMapEffect&& moveFrom) noexcept;
@ -363,9 +370,10 @@ namespace DirectX
// Texture setting.
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetEnvironmentMap(_In_opt_ ID3D11ShaderResourceView* value);
// Environment map settings.
void __cdecl SetEnvironmentMap(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetMode(Mapping mapping);
void __cdecl SetEnvironmentMapAmount(float value);
void XM_CALLCONV SetEnvironmentMapSpecular(FXMVECTOR value);
void __cdecl SetFresnelFactor(float value);
@ -510,7 +518,7 @@ namespace DirectX
void __cdecl EnableDefaultLighting() override;
static const int MaxDirectionalLights = 4;
static constexpr int MaxDirectionalLights = 4;
// Vertex color setting.
void __cdecl SetVertexColorEnabled(bool value);
@ -520,7 +528,7 @@ namespace DirectX
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetTexture(int whichTexture, _In_opt_ ID3D11ShaderResourceView* value);
static const int MaxTextures = 8;
static constexpr int MaxTextures = 8;
// Animation setting.
void __cdecl SetWeightsPerVertex(int value) override;
@ -893,7 +901,7 @@ namespace DirectX
// DGSL methods.
struct DGSLEffectInfo : public EffectInfo
{
static const int BaseTextureOffset = 4;
static constexpr int BaseTextureOffset = 4;
const wchar_t* textures[DGSLEffect::MaxTextures - BaseTextureOffset];
const wchar_t* pixelShader;

Просмотреть файл

@ -10,7 +10,7 @@
#pragma once
#if (_WIN32_WINNT < 0x0A00 /*_WIN32_WINNT_WIN10*/)
#if (_WIN32_WINNT < 0x0A00 /*_WIN32_WINNT_WIN10*/) || defined(_GAMING_DESKTOP)
#ifndef _XBOX_ONE
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP)
#if (_WIN32_WINNT >= 0x0602 /*_WIN32_WINNT_WIN8*/ )
@ -22,10 +22,14 @@
#endif
#endif
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
interface IGameInputDevice;
#endif
#include <cstdint>
#include <memory>
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/)
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/) && !defined(_GAMING_DESKTOP)
#pragma comment(lib,"runtimeobject.lib")
#include <string>
#endif
@ -50,10 +54,16 @@ namespace DirectX
virtual ~GamePad();
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/) || defined(_XBOX_ONE)
static const int MAX_PLAYER_COUNT = 8;
#if ((_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/) && !defined(_GAMING_DESKTOP)) || defined(_XBOX_ONE)
static constexpr int MAX_PLAYER_COUNT = 8;
#else
static const int MAX_PLAYER_COUNT = 4;
static constexpr int MAX_PLAYER_COUNT = 4;
#endif
static constexpr int c_MostRecent = -1;
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
static constexpr int c_MergedInput = -2;
#endif
enum DeadZone
@ -173,7 +183,9 @@ namespace DirectX
bool connected;
Type gamepadType;
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/)
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
APP_LOCAL_DEVICE_ID id;
#elif (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/) && !defined(_GAMING_DESKTOP)
std::wstring id;
#else
uint64_t id;
@ -264,10 +276,17 @@ namespace DirectX
void __cdecl Suspend() noexcept;
void __cdecl Resume() noexcept;
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/ ) || defined(_XBOX_ONE)
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
void __cdecl RegisterEvents(void* ctrlChanged) noexcept;
#elif ((_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/ ) && !defined(_GAMING_DESKTOP)) || defined(_XBOX_ONE)
void __cdecl RegisterEvents(void* ctrlChanged, void* userChanged) noexcept;
#endif
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
// Underlying device access
void __cdecl GetDevice(int player, _Outptr_ IGameInputDevice** device) noexcept;
#endif
// Singleton
static GamePad& __cdecl Get();

Просмотреть файл

@ -63,12 +63,17 @@ namespace DirectX
static void __cdecl CreateTeapot(std::vector<VertexType>& vertices, std::vector<uint16_t>& indices, float size = 1, size_t tessellation = 8, bool rhcoords = true);
// Draw the primitive.
void XM_CALLCONV Draw(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection, FXMVECTOR color = Colors::White, _In_opt_ ID3D11ShaderResourceView* texture = nullptr, bool wireframe = false,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) const;
void XM_CALLCONV Draw(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection,
FXMVECTOR color = Colors::White,
_In_opt_ ID3D11ShaderResourceView* texture = nullptr,
bool wireframe = false,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) const;
// Draw the primitive using a custom effect.
void __cdecl Draw(_In_ IEffect* effect, _In_ ID3D11InputLayout* inputLayout, bool alpha = false, bool wireframe = false,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) const;
void __cdecl Draw(_In_ IEffect* effect,
_In_ ID3D11InputLayout* inputLayout,
bool alpha = false, bool wireframe = false,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) const;
// Create input layout for drawing with a custom effect.
void __cdecl CreateInputLayout(_In_ IEffect* effect, _Outptr_ ID3D11InputLayout** inputLayout) const;

Просмотреть файл

@ -24,9 +24,9 @@ namespace DirectX
{
public:
#if defined(_XBOX_ONE) && defined(_TITLE)
GraphicsMemory(_In_ ID3D11DeviceX* device, UINT backBufferCount = 2);
GraphicsMemory(_In_ ID3D11DeviceX* device, unsigned int backBufferCount = 2);
#else
GraphicsMemory(_In_ ID3D11Device* device, UINT backBufferCount = 2);
GraphicsMemory(_In_ ID3D11Device* device, unsigned int backBufferCount = 2);
#endif
GraphicsMemory(GraphicsMemory&& moveFrom) noexcept;
GraphicsMemory& operator= (GraphicsMemory&& moveFrom) noexcept;

Просмотреть файл

@ -47,8 +47,6 @@ namespace DirectX
ModelLoader_AllowLargeModels = 0x8,
};
inline ModelLoaderFlags operator|(ModelLoaderFlags a, ModelLoaderFlags b) noexcept { return static_cast<ModelLoaderFlags>(static_cast<int>(a) | static_cast<int>(b)); }
//----------------------------------------------------------------------------------
// Each mesh part is a submesh with a single effect
class ModelMeshPart
@ -209,4 +207,15 @@ namespace DirectX
private:
std::set<IEffect*> mEffectCache;
};
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec"
#endif
DEFINE_ENUM_FLAG_OPERATORS(ModelLoaderFlags);
#ifdef __clang__
#pragma clang diagnostic pop
#endif
}

Просмотреть файл

@ -98,12 +98,17 @@ namespace DirectX
bool __cdecl IsConnected() const;
// Cursor visibility
bool __cdecl IsVisible() const;
bool __cdecl IsVisible() const noexcept;
void __cdecl SetVisible(bool visible);
#if (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) && defined(WM_USER)
#ifdef WM_USER
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
void __cdecl SetWindow(HWND window);
static void __cdecl ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam);
#elif (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
static void __cdecl ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam);
static void __cdecl SetResolution(bool use4k);
#endif
#endif
#if (defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)) || (defined(_XBOX_ONE) && defined(_TITLE) && (_XDK_VER >= 0x42D907D1))

Просмотреть файл

@ -35,7 +35,8 @@ namespace DirectX
IPostProcess(IPostProcess&&) = delete;
IPostProcess& operator=(IPostProcess&&) = delete;
virtual void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) = 0;
virtual void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) = 0;
protected:
IPostProcess() = default;
@ -70,7 +71,9 @@ namespace DirectX
~BasicPostProcess() override;
// IPostProcess methods.
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
void __cdecl Process(
_In_ ID3D11DeviceContext* deviceContext,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
// Shader control
void __cdecl SetEffect(Effect fx);
@ -117,7 +120,8 @@ namespace DirectX
~DualPostProcess() override;
// IPostProcess methods.
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
// Shader control
void __cdecl SetEffect(Effect fx);
@ -174,7 +178,8 @@ namespace DirectX
~ToneMapPostProcess() override;
// IPostProcess methods.
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
// Shader control
void __cdecl SetOperator(Operator op);

Просмотреть файл

@ -76,6 +76,8 @@ namespace DirectX
return *this;
}
PrimitiveBatch(PrimitiveBatch const&) = delete;
PrimitiveBatch& operator= (PrimitiveBatch const&) = delete;
// Similar to the D3D9 API DrawPrimitiveUP.
void Draw(D3D11_PRIMITIVE_TOPOLOGY topology, _In_reads_(vertexCount) TVertex const* vertices, size_t vertexCount)

Просмотреть файл

@ -44,5 +44,5 @@ namespace DirectX
_In_z_ const wchar_t* fileName,
_In_opt_ const GUID* targetFormat = nullptr,
_In_opt_ std::function<void __cdecl(IPropertyBag2*)> setCustomProps = nullptr,
_In_ bool forceSRGB = false) noexcept;
_In_ bool forceSRGB = false);
}

Просмотреть файл

@ -10,7 +10,7 @@
#pragma once
#if !defined(_XBOX_ONE) || !defined(_TITLE)
#if !(defined(_XBOX_ONE) && defined(_TITLE)) && !defined(_GAMING_XBOX)
#include <dxgi1_2.h>
#endif

Просмотреть файл

@ -56,8 +56,13 @@ namespace DirectX
virtual ~SpriteBatch();
// Begin/End a batch of sprite drawing operations.
void XM_CALLCONV Begin(SpriteSortMode sortMode = SpriteSortMode_Deferred, _In_opt_ ID3D11BlendState* blendState = nullptr, _In_opt_ ID3D11SamplerState* samplerState = nullptr, _In_opt_ ID3D11DepthStencilState* depthStencilState = nullptr, _In_opt_ ID3D11RasterizerState* rasterizerState = nullptr,
_In_opt_ std::function<void __cdecl()> setCustomShaders = nullptr, FXMMATRIX transformMatrix = MatrixIdentity);
void XM_CALLCONV Begin(SpriteSortMode sortMode = SpriteSortMode_Deferred,
_In_opt_ ID3D11BlendState* blendState = nullptr,
_In_opt_ ID3D11SamplerState* samplerState = nullptr,
_In_opt_ ID3D11DepthStencilState* depthStencilState = nullptr,
_In_opt_ ID3D11RasterizerState* rasterizerState = nullptr,
_In_opt_ std::function<void __cdecl()> setCustomShaders = nullptr,
FXMMATRIX transformMatrix = MatrixIdentity);
void __cdecl End();
// Draw overloads specifying position, origin and scale as XMFLOAT2.

Просмотреть файл

@ -42,7 +42,7 @@ namespace DirectX
XMFLOAT3 position;
static const int InputElementCount = 1;
static constexpr unsigned int InputElementCount = 1;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -72,7 +72,7 @@ namespace DirectX
XMFLOAT3 position;
XMFLOAT4 color;
static const int InputElementCount = 2;
static constexpr unsigned int InputElementCount = 2;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -102,7 +102,7 @@ namespace DirectX
XMFLOAT3 position;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 2;
static constexpr unsigned int InputElementCount = 2;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -141,7 +141,7 @@ namespace DirectX
XMFLOAT2 textureCoordinate0;
XMFLOAT2 textureCoordinate1;
static const int InputElementCount = 3;
static constexpr unsigned int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -171,7 +171,7 @@ namespace DirectX
XMFLOAT3 position;
XMFLOAT3 normal;
static const int InputElementCount = 2;
static constexpr unsigned int InputElementCount = 2;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -204,7 +204,7 @@ namespace DirectX
XMFLOAT4 color;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 3;
static constexpr unsigned int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -237,7 +237,7 @@ namespace DirectX
XMFLOAT3 normal;
XMFLOAT4 color;
static const int InputElementCount = 3;
static constexpr unsigned int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -270,7 +270,7 @@ namespace DirectX
XMFLOAT3 normal;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 3;
static constexpr unsigned int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -310,7 +310,7 @@ namespace DirectX
XMFLOAT4 color;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 4;
static constexpr unsigned int InputElementCount = 4;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -395,7 +395,7 @@ namespace DirectX
void __cdecl SetColor(XMFLOAT4 const& icolor) noexcept { SetColor(XMLoadFloat4(&icolor)); }
void XM_CALLCONV SetColor(FXMVECTOR icolor) noexcept;
static const int InputElementCount = 5;
static constexpr unsigned int InputElementCount = 5;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
@ -484,7 +484,7 @@ namespace DirectX
void __cdecl SetBlendWeights(XMFLOAT4 const& iweights) noexcept { SetBlendWeights(XMLoadFloat4(&iweights)); }
void XM_CALLCONV SetBlendWeights(FXMVECTOR iweights) noexcept;
static const int InputElementCount = 7;
static constexpr unsigned int InputElementCount = 7;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
}

Просмотреть файл

@ -41,9 +41,10 @@ namespace DirectX
WIC_LOADER_DEFAULT = 0,
WIC_LOADER_FORCE_SRGB = 0x1,
WIC_LOADER_IGNORE_SRGB = 0x2,
WIC_LOADER_FORCE_RGBA32 = 0x10,
WIC_LOADER_SRGB_DEFAULT = 0x4,
WIC_LOADER_FIT_POW2 = 0x20,
WIC_LOADER_MAKE_SQUARE = 0x40,
WIC_LOADER_FORCE_RGBA32 = 0x80,
};
// Standard version
@ -100,7 +101,7 @@ namespace DirectX
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_In_ WIC_LOADER_FLAGS loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView) noexcept;
@ -112,7 +113,7 @@ namespace DirectX
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_In_ WIC_LOADER_FLAGS loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView) noexcept;
@ -132,7 +133,7 @@ namespace DirectX
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_In_ WIC_LOADER_FLAGS loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView) noexcept;
@ -150,7 +151,18 @@ namespace DirectX
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_In_ WIC_LOADER_FLAGS loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView) noexcept;
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec"
#endif
DEFINE_ENUM_FLAG_OPERATORS(WIC_LOADER_FLAGS);
#ifdef __clang__
#pragma clang diagnostic pop
#endif
}

Просмотреть файл

@ -29,7 +29,7 @@
#define DDS_ALPHA_MODE_DEFINED
namespace DirectX
{
enum DDS_ALPHA_MODE
enum DDS_ALPHA_MODE : uint32_t
{
DDS_ALPHA_MODE_UNKNOWN = 0,
DDS_ALPHA_MODE_STRAIGHT = 1,

Просмотреть файл

@ -6,11 +6,11 @@ http://go.microsoft.com/fwlink/?LinkId=248929
Copyright (c) Microsoft Corporation. All rights reserved.
**May 10, 2020**
**September 30, 2020**
This package contains the "DirectX Tool Kit", a collection of helper classes for writing Direct3D 11 C++ code for Universal Windows Platform (UWP) apps for Windows 10, Xbox One, and Win32 desktop applications for Windows 7 Service Pack 1 or later.
This code is designed to build with Visual Studio 2017 ([15.9](https://walbourn.github.io/vs-2017-15-9-update/)), Visual Studio 2019, or clang for Windows v9. It is recommended that you make use of the Windows 10 May 2019 Update SDK ([18362](https://walbourn.github.io/windows-10-may-2019-update/)).
This code is designed to build with Visual Studio 2017 ([15.9](https://walbourn.github.io/vs-2017-15-9-update/)), Visual Studio 2019, or clang for Windows v9 or later. It is recommended that you make use of the Windows 10 May 2020 Update SDK ([19041](https://walbourn.github.io/windows-10-may-2020-update-sdk/)).
These components are designed to work without requiring any content from the legacy DirectX SDK. For details, see [Where is the DirectX SDK?](https://aka.ms/dxsdk).
@ -21,6 +21,7 @@ These components are designed to work without requiring any content from the leg
+ Public Header Files (in the DirectX C++ namespace):
* Audio.h - low-level audio API using XAudio2 (DirectXTK for Audio public header)
* BufferHelpers.h - C++ helpers for creating D3D resources from CPU data
* CommonStates.h - factory providing commonly used D3D state objects
* DDSTextureLoader.h - light-weight DDS file texture loader
* DirectXHelpers.h - misc C++ helpers for D3D programming
@ -69,17 +70,13 @@ For the latest version of DirectXTK, bug reports, etc. please visit the project
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
## Xbox One
Developers using the Xbox One XDK need to generate the ``Src\Shaders\Compiled\XboxOne*.inc`` files to build the library as they are not included in the distribution package. They are built by running the script in ``Src\Shaders`` - ``CompileShaders xbox`` from the *Xbox One XDK Developer Command Prompt*. They are XDK version-specific. While they will continue to work if outdated, a mismatch will cause runtime compilation overhead that would otherwise be avoided.
## Release Notes
* The VS 2017/2019 projects make use of ``/permissive-`` for improved C++ standard conformance. Use of a Windows 10 SDK prior to the Fall Creators Update (16299) or an Xbox One XDK prior to June 2017 QFE 4 may result in failures due to problems with the system headers. You can work around these by disabling this switch in the project files which is found in the ``<ConformanceMode>`` elements, or in some cases adding ``/Zc:twoPhase-`` to the ``<AdditionalOptions>`` elements.
* Starting with the June 2020 release, this library makes use of typed enum bitmask flags per the recommendation of the _C++ Standard_ section *17.5.2.1.3 Bitmask types*. This may have *breaking change* impacts to client code:
* The VS 2017 projects require the 15.5 update or later. For UWP and Win32 classic desktop projects with the 15.5 - 15.7 updates, you need to install the standalone Windows 10 SDK (17763) which is otherwise included in the 15.8.6 or later update. Older VS 2017 updates will fail to load the projects due to use of the <ConformanceMode> element. If using the 15.5 or 15.6 updates, you will see ``warning D9002: ignoring unknown option '/Zc:__cplusplus'`` because this switch isn't supported until 15.7. It is safe to ignore this warning, or you can edit the project files ``<AdditionalOptions>`` elements.
* You cannot pass the ``0`` literal as your flags value. Instead you must make use of the appropriate default enum value: ``AudioEngine_Default``, ``SoundEffectInstance_Default``, ``ModelLoader_Clockwise``, or ``WIC_LOADER_DEFAULT``.
* The VS 2019 projects use a ``<WindowsTargetPlatformVersion>`` of ``10.0`` which indicates to use the latest installed version. This should be Windows 10 SDK (17763) or later.
* Use the enum type instead of ``DWORD`` if building up flags values locally with bitmask operations. For example, ```WIC_LOADER_FLAGS flags = WIC_LOADER_DEFAULT; if (...) flags |= WIC_LOADER_FORCE_SRGB;```
* The UWP projects and the VS 2019 Win10 classic desktop project include configurations for the ARM64 platform. These require VS 2017 (15.9 update) or VS 2019 to build, with the ARM64 toolset installed.

Просмотреть файл

@ -12,30 +12,31 @@
using namespace DirectX;
// Constant buffer layout. Must match the shader!
struct AlphaTestEffectConstants
namespace
{
XMVECTOR diffuseColor;
XMVECTOR alphaTest;
XMVECTOR fogColor;
XMVECTOR fogVector;
XMMATRIX worldViewProj;
};
// Constant buffer layout. Must match the shader!
struct AlphaTestEffectConstants
{
XMVECTOR diffuseColor;
XMVECTOR alphaTest;
XMVECTOR fogColor;
XMVECTOR fogVector;
XMMATRIX worldViewProj;
};
static_assert((sizeof(AlphaTestEffectConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(AlphaTestEffectConstants) % 16) == 0, "CB size not padded correctly");
// Traits type describes our characteristics to the EffectBase template.
struct AlphaTestEffectTraits
{
using ConstantBufferType = AlphaTestEffectConstants;
static const int VertexShaderCount = 4;
static const int PixelShaderCount = 4;
static const int ShaderPermutationCount = 8;
};
// Traits type describes our characteristics to the EffectBase template.
struct AlphaTestEffectTraits
{
using ConstantBufferType = AlphaTestEffectConstants;
static constexpr int VertexShaderCount = 4;
static constexpr int PixelShaderCount = 4;
static constexpr int ShaderPermutationCount = 8;
};
}
// Internal AlphaTestEffect implementation class.
class AlphaTestEffect::Impl : public EffectBase<AlphaTestEffectTraits>
@ -140,7 +141,7 @@ SharedResourcePool<ID3D11Device*, EffectBase<AlphaTestEffectTraits>::DeviceResou
// Constructor.
AlphaTestEffect::Impl::Impl(_In_ ID3D11Device* device)
: EffectBase(device),
: EffectBase(device),
alphaFunction(D3D11_COMPARISON_GREATER),
referenceAlpha(0),
vertexColorEnabled(false)
@ -280,14 +281,14 @@ void AlphaTestEffect::Impl::Apply(_In_ ID3D11DeviceContext* deviceContext)
// Public constructor.
AlphaTestEffect::AlphaTestEffect(_In_ ID3D11Device* device)
: pImpl(std::make_unique<Impl>(device))
: pImpl(std::make_unique<Impl>(device))
{
}
// Move constructor.
AlphaTestEffect::AlphaTestEffect(AlphaTestEffect&& moveFrom) noexcept
: pImpl(std::move(moveFrom.pImpl))
: pImpl(std::move(moveFrom.pImpl))
{
}

Просмотреть файл

@ -12,41 +12,42 @@
using namespace DirectX;
// Constant buffer layout. Must match the shader!
struct BasicEffectConstants
namespace
{
XMVECTOR diffuseColor;
XMVECTOR emissiveColor;
XMVECTOR specularColorAndPower;
XMVECTOR lightDirection[IEffectLights::MaxDirectionalLights];
XMVECTOR lightDiffuseColor[IEffectLights::MaxDirectionalLights];
XMVECTOR lightSpecularColor[IEffectLights::MaxDirectionalLights];
// Constant buffer layout. Must match the shader!
struct BasicEffectConstants
{
XMVECTOR diffuseColor;
XMVECTOR emissiveColor;
XMVECTOR specularColorAndPower;
XMVECTOR eyePosition;
XMVECTOR lightDirection[IEffectLights::MaxDirectionalLights];
XMVECTOR lightDiffuseColor[IEffectLights::MaxDirectionalLights];
XMVECTOR lightSpecularColor[IEffectLights::MaxDirectionalLights];
XMVECTOR fogColor;
XMVECTOR fogVector;
XMVECTOR eyePosition;
XMMATRIX world;
XMVECTOR worldInverseTranspose[3];
XMMATRIX worldViewProj;
};
XMVECTOR fogColor;
XMVECTOR fogVector;
static_assert((sizeof(BasicEffectConstants) % 16) == 0, "CB size not padded correctly");
XMMATRIX world;
XMVECTOR worldInverseTranspose[3];
XMMATRIX worldViewProj;
};
static_assert((sizeof(BasicEffectConstants) % 16) == 0, "CB size not padded correctly");
// Traits type describes our characteristics to the EffectBase template.
struct BasicEffectTraits
{
using ConstantBufferType = BasicEffectConstants;
static const int VertexShaderCount = 32;
static const int PixelShaderCount = 10;
static const int ShaderPermutationCount = 56;
};
// Traits type describes our characteristics to the EffectBase template.
struct BasicEffectTraits
{
using ConstantBufferType = BasicEffectConstants;
static constexpr int VertexShaderCount = 32;
static constexpr int PixelShaderCount = 10;
static constexpr int ShaderPermutationCount = 56;
};
}
// Internal BasicEffect implementation class.
class BasicEffect::Impl : public EffectBase<BasicEffectTraits>
@ -476,14 +477,14 @@ void BasicEffect::Impl::Apply(_In_ ID3D11DeviceContext* deviceContext)
// Public constructor.
BasicEffect::BasicEffect(_In_ ID3D11Device* device)
: pImpl(std::make_unique<Impl>(device))
: pImpl(std::make_unique<Impl>(device))
{
}
// Move constructor.
BasicEffect::BasicEffect(BasicEffect&& moveFrom) noexcept
: pImpl(std::move(moveFrom.pImpl))
: pImpl(std::move(moveFrom.pImpl))
{
}

Просмотреть файл

@ -10,11 +10,11 @@
#include "pch.h"
#include "PostProcess.h"
#include "AlignedNew.h"
#include "BufferHelpers.h"
#include "CommonStates.h"
#include "ConstantBuffer.h"
#include "DemandCreate.h"
#include "DirectXHelpers.h"
#include "AlignedNew.h"
#include "DemandCreate.h"
#include "SharedResourcePool.h"
using namespace DirectX;
@ -23,10 +23,10 @@ using Microsoft::WRL::ComPtr;
namespace
{
const int c_MaxSamples = 16;
constexpr int c_MaxSamples = 16;
const int Dirty_ConstantBuffer = 0x01;
const int Dirty_Parameters = 0x02;
constexpr int Dirty_ConstantBuffer = 0x01;
constexpr int Dirty_Parameters = 0x02;
// Constant buffer layout. Must match the shader!
__declspec(align(16)) struct PostProcessConstants
@ -211,11 +211,15 @@ BasicPostProcess::Impl::Impl(_In_ ID3D11Device* device)
{
throw std::exception("BasicPostProcess requires Feature Level 10.0 or later");
}
SetDebugObjectName(mConstantBuffer.GetBuffer(), "BasicPostProcess");
}
// Sets our state onto the D3D device.
void BasicPostProcess::Impl::Process(_In_ ID3D11DeviceContext* deviceContext, std::function<void __cdecl()>& setCustomState)
void BasicPostProcess::Impl::Process(
_In_ ID3D11DeviceContext* deviceContext,
std::function<void __cdecl()>& setCustomState)
{
// Set the texture.
ID3D11ShaderResourceView* textures[1] = { texture.Get() };
@ -494,7 +498,9 @@ BasicPostProcess::~BasicPostProcess()
// IPostProcess methods.
void BasicPostProcess::Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState)
void BasicPostProcess::Process(
_In_ ID3D11DeviceContext* deviceContext,
_In_opt_ std::function<void __cdecl()> setCustomState)
{
pImpl->Process(deviceContext, setCustomState);
}

Просмотреть файл

@ -0,0 +1,393 @@
//--------------------------------------------------------------------------------------
// File: BufferHelpers.cpp
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "BufferHelpers.h"
#include "PlatformHelpers.h"
using namespace DirectX;
using Microsoft::WRL::ComPtr;
//--------------------------------------------------------------------------------------
_Use_decl_annotations_
HRESULT DirectX::CreateStaticBuffer(
ID3D11Device* device,
const void* ptr,
size_t count,
size_t stride,
unsigned int bindFlags,
ID3D11Buffer** pBuffer) noexcept
{
if (!pBuffer)
return E_INVALIDARG;
*pBuffer = nullptr;
if (!device || !ptr || !count || !stride)
return E_INVALIDARG;
uint64_t sizeInbytes = uint64_t(count) * uint64_t(stride);
static constexpr uint64_t c_maxBytes = D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM * 1024u * 1024u;
static_assert(c_maxBytes <= UINT32_MAX, "Exceeded integer limits");
if (sizeInbytes > c_maxBytes)
{
DebugTrace("ERROR: Resource size too large for DirectX 11 (size %llu)\n", sizeInbytes);
return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
}
D3D11_BUFFER_DESC bufferDesc = {};
bufferDesc.ByteWidth = static_cast<UINT>(sizeInbytes);
bufferDesc.BindFlags = bindFlags;
bufferDesc.Usage = D3D11_USAGE_DEFAULT;
D3D11_SUBRESOURCE_DATA initData = { ptr, 0, 0 };
return device->CreateBuffer(&bufferDesc, &initData, pBuffer);
}
//--------------------------------------------------------------------------------------
_Use_decl_annotations_
HRESULT DirectX::CreateTextureFromMemory(
ID3D11Device* device,
size_t width,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
ID3D11Texture1D** texture,
ID3D11ShaderResourceView** textureView,
unsigned int bindFlags) noexcept
{
if (texture)
{
*texture = nullptr;
}
if (textureView)
{
*textureView = nullptr;
}
if (!device || !width || !initData.pSysMem)
return E_INVALIDARG;
if (!texture && !textureView)
return E_INVALIDARG;
static_assert(D3D11_REQ_TEXTURE1D_U_DIMENSION <= UINT32_MAX, "Exceeded integer limits");
if (width > D3D11_REQ_TEXTURE1D_U_DIMENSION)
{
DebugTrace("ERROR: Resource dimensions too large for DirectX 11 (1D: size %zu)\n", width);
return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
}
D3D11_TEXTURE1D_DESC desc = {};
desc.Width = static_cast<UINT>(width);
desc.MipLevels = desc.ArraySize = 1;
desc.Format = format;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = bindFlags;
ComPtr<ID3D11Texture1D> tex;
HRESULT hr = device->CreateTexture1D(&desc, &initData, tex.GetAddressOf());
if (SUCCEEDED(hr))
{
if (textureView)
{
hr = device->CreateShaderResourceView(tex.Get(), nullptr, textureView);
if (FAILED(hr))
return hr;
}
if (texture)
{
*texture = tex.Detach();
}
}
return hr;
}
_Use_decl_annotations_
HRESULT DirectX::CreateTextureFromMemory(
ID3D11Device* device,
size_t width,
size_t height,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
ID3D11Texture2D** texture,
ID3D11ShaderResourceView** textureView,
unsigned int bindFlags) noexcept
{
if (texture)
{
*texture = nullptr;
}
if (textureView)
{
*textureView = nullptr;
}
if (!device || !width || !height
|| !initData.pSysMem || !initData.SysMemPitch)
return E_INVALIDARG;
if (!texture && !textureView)
return E_INVALIDARG;
static_assert(D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION <= UINT32_MAX, "Exceeded integer limits");
if ((width > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION)
|| (height > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION))
{
DebugTrace("ERROR: Resource dimensions too large for DirectX 11 (2D: size %zu by %zu)\n", width, height);
return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
}
D3D11_TEXTURE2D_DESC desc = {};
desc.Width = static_cast<UINT>(width);
desc.Height = static_cast<UINT>(height);
desc.MipLevels = desc.ArraySize = 1;
desc.Format = format;
desc.SampleDesc.Count = 1;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = bindFlags;
ComPtr<ID3D11Texture2D> tex;
HRESULT hr = device->CreateTexture2D(&desc, &initData, tex.GetAddressOf());
if (SUCCEEDED(hr))
{
if (textureView)
{
hr = device->CreateShaderResourceView(tex.Get(), nullptr, textureView);
if (FAILED(hr))
return hr;
}
if (texture)
{
*texture = tex.Detach();
}
}
return hr;
}
_Use_decl_annotations_
HRESULT DirectX::CreateTextureFromMemory(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* device,
_In_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* device,
_In_ ID3D11DeviceContext* d3dContext,
#endif
size_t width,
size_t height,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
ID3D11Texture2D** texture,
ID3D11ShaderResourceView** textureView) noexcept
{
if (texture)
{
*texture = nullptr;
}
if (textureView)
{
*textureView = nullptr;
}
if (!device || !d3dContext || !width || !height
|| !initData.pSysMem || !initData.SysMemPitch)
return E_INVALIDARG;
if (!texture && !textureView)
return E_INVALIDARG;
static_assert(D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION <= UINT32_MAX, "Exceeded integer limits");
if ((width > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION)
|| (height > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION))
{
DebugTrace("ERROR: Resource dimensions too large for DirectX 11 (2D: size %zu by %zu)\n", width, height);
return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
}
D3D11_TEXTURE2D_DESC desc = {};
desc.Width = static_cast<UINT>(width);
desc.Height = static_cast<UINT>(height);
desc.ArraySize = 1;
desc.Format = format;
desc.SampleDesc.Count = 1;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
UINT fmtSupport = 0;
if (SUCCEEDED(device->CheckFormatSupport(format, &fmtSupport)) && (fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN))
{
desc.BindFlags |= D3D11_BIND_RENDER_TARGET;
desc.MiscFlags |= D3D11_RESOURCE_MISC_GENERATE_MIPS;
}
else
{
// Autogen not supported.
desc.MipLevels = 1;
}
ComPtr<ID3D11Texture2D> tex;
HRESULT hr = device->CreateTexture2D(&desc, nullptr, tex.GetAddressOf());
if (SUCCEEDED(hr))
{
ComPtr<ID3D11ShaderResourceView> srv;
hr = device->CreateShaderResourceView(tex.Get(), nullptr, srv.GetAddressOf());
if (FAILED(hr))
return hr;
if (desc.MipLevels != 1)
{
#if defined(_XBOX_ONE) && defined(_TITLE)
ComPtr<ID3D11Texture2D> staging;
desc.MipLevels = 1;
desc.Usage = D3D11_USAGE_STAGING;
desc.BindFlags = desc.MiscFlags = 0;
desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ;
hr = device->CreateTexture2D(&desc, &initData, staging.GetAddressOf());
if (FAILED(hr))
return hr;
d3dContext->CopySubresourceRegion(tex.Get(), 0, 0, 0, 0, staging.Get(), 0, nullptr);
UINT64 copyFence = d3dContext->InsertFence(0);
while (device->IsFencePending(copyFence)) { SwitchToThread(); }
#else
d3dContext->UpdateSubresource(tex.Get(), 0, nullptr, initData.pSysMem, initData.SysMemPitch, 0);
#endif
d3dContext->GenerateMips(srv.Get());
}
if (texture)
{
*texture = tex.Detach();
}
if (textureView)
{
*textureView = srv.Detach();
}
}
return hr;
}
_Use_decl_annotations_
HRESULT DirectX::CreateTextureFromMemory(
ID3D11Device* device,
size_t width, size_t height, size_t depth,
DXGI_FORMAT format,
const D3D11_SUBRESOURCE_DATA& initData,
ID3D11Texture3D** texture,
ID3D11ShaderResourceView** textureView,
unsigned int bindFlags) noexcept
{
if (texture)
{
*texture = nullptr;
}
if (textureView)
{
*textureView = nullptr;
}
if (!device || !width || !height || !depth
|| !initData.pSysMem || !initData.SysMemPitch || !initData.SysMemSlicePitch)
return E_INVALIDARG;
if (!texture && !textureView)
return E_INVALIDARG;
static_assert(D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION <= UINT32_MAX, "Exceeded integer limits");
if ((width > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION)
|| (height > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION)
|| (depth > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION))
{
DebugTrace("ERROR: Resource dimensions too large for DirectX 11 (3D: size %zu by %zu by %zu)\n", width, height, depth);
return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
}
D3D11_TEXTURE3D_DESC desc = {};
desc.Width = static_cast<UINT>(width);
desc.Height = static_cast<UINT>(height);
desc.Depth = static_cast<UINT>(depth);
desc.MipLevels = 1;
desc.Format = format;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = bindFlags;
ComPtr<ID3D11Texture3D> tex;
HRESULT hr = device->CreateTexture3D(&desc, &initData, tex.GetAddressOf());
if (SUCCEEDED(hr))
{
if (textureView)
{
hr = device->CreateShaderResourceView(tex.Get(), nullptr, textureView);
if (FAILED(hr))
return hr;
}
if (texture)
{
*texture = tex.Detach();
}
}
return hr;
}
//--------------------------------------------------------------------------------------
_Use_decl_annotations_
void Internal::ConstantBufferBase::CreateBuffer(
ID3D11Device* device,
size_t bytes,
ID3D11Buffer** pBuffer)
{
if (!pBuffer)
throw std::invalid_argument("ConstantBuffer");
*pBuffer = nullptr;
D3D11_BUFFER_DESC desc = {};
desc.ByteWidth = static_cast<UINT>(bytes);
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
#if defined(_XBOX_ONE) && defined(_TITLE)
Microsoft::WRL::ComPtr<ID3D11DeviceX> deviceX;
ThrowIfFailed(device->QueryInterface(IID_GRAPHICS_PPV_ARGS(deviceX.GetAddressOf())));
ThrowIfFailed(deviceX->CreatePlacementBuffer(&desc, nullptr, pBuffer));
#else
desc.Usage = D3D11_USAGE_DYNAMIC;
ThrowIfFailed(
device->CreateBuffer(&desc, nullptr, pBuffer)
);
#endif
assert(pBuffer != nullptr && *pBuffer != nullptr);
_Analysis_assume_(pBuffer != nullptr && *pBuffer != nullptr);
}

Просмотреть файл

@ -1,111 +0,0 @@
//--------------------------------------------------------------------------------------
// File: ConstantBuffer.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include "DirectXHelpers.h"
#include "GraphicsMemory.h"
#include "PlatformHelpers.h"
namespace DirectX
{
// Strongly typed wrapper around a D3D constant buffer.
template<typename T>
class ConstantBuffer
{
public:
// Constructor.
ConstantBuffer() = default;
explicit ConstantBuffer(_In_ ID3D11Device* device)
{
Create(device);
}
ConstantBuffer(ConstantBuffer const&) = delete;
ConstantBuffer& operator= (ConstantBuffer const&) = delete;
#if defined(_XBOX_ONE) && defined(_TITLE)
void Create(_In_ ID3D11Device* device)
{
D3D11_BUFFER_DESC desc = {};
desc.ByteWidth = sizeof(T);
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
Microsoft::WRL::ComPtr<ID3D11DeviceX> deviceX;
ThrowIfFailed(device->QueryInterface(IID_GRAPHICS_PPV_ARGS(deviceX.GetAddressOf())));
ThrowIfFailed(deviceX->CreatePlacementBuffer(&desc, nullptr, mConstantBuffer.ReleaseAndGetAddressOf()));
SetDebugObjectName(mConstantBuffer.Get(), L"DirectXTK");
}
// Writes new data into the constant buffer.
void SetData(_In_ ID3D11DeviceContext* deviceContext, T const& value, void** grfxMemory)
{
assert(grfxMemory != nullptr);
void* ptr = GraphicsMemory::Get().Allocate(deviceContext, sizeof(T), 64);
assert(ptr != nullptr);
*(T*)ptr = value;
*grfxMemory = ptr;
}
#else
void Create(_In_ ID3D11Device* device)
{
D3D11_BUFFER_DESC desc = {};
desc.ByteWidth = sizeof(T);
desc.Usage = D3D11_USAGE_DYNAMIC;
desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
ThrowIfFailed(
device->CreateBuffer(&desc, nullptr, mConstantBuffer.ReleaseAndGetAddressOf())
);
SetDebugObjectName(mConstantBuffer.Get(), "DirectXTK");
}
// Writes new data into the constant buffer.
void SetData(_In_ ID3D11DeviceContext* deviceContext, T const& value)
{
assert(mConstantBuffer);
D3D11_MAPPED_SUBRESOURCE mappedResource;
ThrowIfFailed(
deviceContext->Map(mConstantBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)
);
*static_cast<T*>(mappedResource.pData) = value;
deviceContext->Unmap(mConstantBuffer.Get(), 0);
}
#endif
// Looks up the underlying D3D constant buffer.
ID3D11Buffer* GetBuffer() const noexcept
{
return mConstantBuffer.Get();
}
private:
// The underlying D3D object.
Microsoft::WRL::ComPtr<ID3D11Buffer> mConstantBuffer;
};
}

Просмотреть файл

@ -610,7 +610,7 @@ namespace
resDim, width, height, depth, 0, arraySize,
format,
usage,
bindFlags | D3D11_BIND_RENDER_TARGET,
bindFlags | D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET,
cpuAccessFlags,
miscFlags | D3D11_RESOURCE_MISC_GENERATE_MIPS, forceSRGB,
isCubeMap,

Просмотреть файл

@ -19,106 +19,106 @@
namespace DirectX
{
namespace EffectDirtyFlags
{
const int ConstantBufferMaterial = 0x10000;
const int ConstantBufferLight = 0x20000;
const int ConstantBufferObject = 0x40000;
const int ConstantBufferMisc = 0x80000;
const int ConstantBufferBones = 0x100000;
}
namespace EffectDirtyFlags
{
constexpr int ConstantBufferMaterial = 0x10000;
constexpr int ConstantBufferLight = 0x20000;
constexpr int ConstantBufferObject = 0x40000;
constexpr int ConstantBufferMisc = 0x80000;
constexpr int ConstantBufferBones = 0x100000;
}
}
using namespace DirectX;
using Microsoft::WRL::ComPtr;
// Constant buffer layout. Must match the shader!
namespace
{
// Constant buffer layout. Must match the shader!
#pragma pack(push,1)
// Slot 0
struct MaterialConstants
{
XMVECTOR Ambient;
XMVECTOR Diffuse;
XMVECTOR Specular;
XMVECTOR Emissive;
float SpecularPower;
float Padding0;
float Padding1;
float Padding2;
};
struct MaterialConstants
{
XMVECTOR Ambient;
XMVECTOR Diffuse;
XMVECTOR Specular;
XMVECTOR Emissive;
float SpecularPower;
float Padding0;
float Padding1;
float Padding2;
};
// Slot 1
struct LightConstants
{
XMVECTOR Ambient;
XMVECTOR LightColor[DGSLEffect::MaxDirectionalLights];
XMVECTOR LightAttenuation[DGSLEffect::MaxDirectionalLights];
XMVECTOR LightDirection[DGSLEffect::MaxDirectionalLights];
XMVECTOR LightSpecularIntensity[DGSLEffect::MaxDirectionalLights];
UINT IsPointLight[DGSLEffect::MaxDirectionalLights];
UINT ActiveLights;
float Padding0;
float Padding1;
float Padding2;
};
// Slot 1
struct LightConstants
{
XMVECTOR Ambient;
XMVECTOR LightColor[DGSLEffect::MaxDirectionalLights];
XMVECTOR LightAttenuation[DGSLEffect::MaxDirectionalLights];
XMVECTOR LightDirection[DGSLEffect::MaxDirectionalLights];
XMVECTOR LightSpecularIntensity[DGSLEffect::MaxDirectionalLights];
UINT IsPointLight[DGSLEffect::MaxDirectionalLights];
UINT ActiveLights;
float Padding0;
float Padding1;
float Padding2;
};
// Note - DGSL does not appear to make use of LightAttenuation or IsPointLight. Not sure if it uses ActiveLights either.
// Note - DGSL does not appear to make use of LightAttenuation or IsPointLight. Not sure if it uses ActiveLights either.
// Slot 2
struct ObjectConstants
{
XMMATRIX LocalToWorld4x4;
XMMATRIX LocalToProjected4x4;
XMMATRIX WorldToLocal4x4;
XMMATRIX WorldToView4x4;
XMMATRIX UvTransform4x4;
XMVECTOR EyePosition;
};
// Slot 2
struct ObjectConstants
{
XMMATRIX LocalToWorld4x4;
XMMATRIX LocalToProjected4x4;
XMMATRIX WorldToLocal4x4;
XMMATRIX WorldToView4x4;
XMMATRIX UvTransform4x4;
XMVECTOR EyePosition;
};
// Slot 3
struct MiscConstants
{
float ViewportWidth;
float ViewportHeight;
float Time;
float Padding1;
};
// Slot 3
struct MiscConstants
{
float ViewportWidth;
float ViewportHeight;
float Time;
float Padding1;
};
// Slot 4
struct BoneConstants
{
XMVECTOR Bones[DGSLEffect::MaxBones][3];
};
// Slot 4
struct BoneConstants
{
XMVECTOR Bones[DGSLEffect::MaxBones][3];
};
#pragma pack(pop)
static_assert((sizeof(MaterialConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(LightConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(ObjectConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(MiscConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(BoneConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(MaterialConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(LightConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(ObjectConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(MiscConstants) % 16) == 0, "CB size not padded correctly");
static_assert((sizeof(BoneConstants) % 16) == 0, "CB size not padded correctly");
__declspec(align(16)) struct DGSLEffectConstants
{
MaterialConstants material;
LightConstants light;
ObjectConstants object;
MiscConstants misc;
BoneConstants bones;
};
__declspec(align(16)) struct DGSLEffectConstants
{
MaterialConstants material;
LightConstants light;
ObjectConstants object;
MiscConstants misc;
BoneConstants bones;
};
struct DGSLEffectTraits
{
static const int VertexShaderCount = 8;
static const int PixelShaderCount = 12;
static const ShaderBytecode VertexShaderBytecode[VertexShaderCount];
static const ShaderBytecode PixelShaderBytecode[PixelShaderCount];
};
struct DGSLEffectTraits
{
static constexpr int VertexShaderCount = 8;
static constexpr int PixelShaderCount = 12;
static const ShaderBytecode VertexShaderBytecode[VertexShaderCount];
static const ShaderBytecode PixelShaderBytecode[PixelShaderCount];
};
}
// Include the precompiled shader code.
namespace

Просмотреть файл

@ -12,31 +12,32 @@
using namespace DirectX;
// Constant buffer layout. Must match the shader!
struct DebugEffectConstants
namespace
{
XMVECTOR ambientDownAndAlpha;
XMVECTOR ambientRange;
XMMATRIX world;
XMVECTOR worldInverseTranspose[3];
XMMATRIX worldViewProj;
};
// Constant buffer layout. Must match the shader!
struct DebugEffectConstants
{
XMVECTOR ambientDownAndAlpha;
XMVECTOR ambientRange;
static_assert((sizeof(DebugEffectConstants) % 16) == 0, "CB size not padded correctly");
XMMATRIX world;
XMVECTOR worldInverseTranspose[3];
XMMATRIX worldViewProj;
};
static_assert((sizeof(DebugEffectConstants) % 16) == 0, "CB size not padded correctly");
// Traits type describes our characteristics to the EffectBase template.
struct DebugEffectTraits
{
using ConstantBufferType = DebugEffectConstants;
static const int VertexShaderCount = 4;
static const int PixelShaderCount = 4;
static const int ShaderPermutationCount = 16;
};
// Traits type describes our characteristics to the EffectBase template.
struct DebugEffectTraits
{
using ConstantBufferType = DebugEffectConstants;
static constexpr int VertexShaderCount = 4;
static constexpr int PixelShaderCount = 4;
static constexpr int ShaderPermutationCount = 16;
};
}
// Internal DebugEffect implementation class.
class DebugEffect::Impl : public EffectBase<DebugEffectTraits>
@ -161,7 +162,7 @@ SharedResourcePool<ID3D11Device*, EffectBase<DebugEffectTraits>::DeviceResources
// Constructor.
DebugEffect::Impl::Impl(_In_ ID3D11Device* device)
: EffectBase(device),
: EffectBase(device),
vertexColorEnabled(false),
biasedVertexNormals(false),
debugMode(DebugEffect::Mode_Default)
@ -231,14 +232,14 @@ void DebugEffect::Impl::Apply(_In_ ID3D11DeviceContext* deviceContext)
// Public constructor.
DebugEffect::DebugEffect(_In_ ID3D11Device* device)
: pImpl(std::make_unique<Impl>(device))
: pImpl(std::make_unique<Impl>(device))
{
}
// Move constructor.
DebugEffect::DebugEffect(DebugEffect&& moveFrom) noexcept
: pImpl(std::move(moveFrom.pImpl))
: pImpl(std::move(moveFrom.pImpl))
{
}

Просмотреть файл

@ -0,0 +1,54 @@
//--------------------------------------------------------------------------------------
// File: DirectXHelpers.cpp
//
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "DirectXHelpers.h"
#include "Effects.h"
#include "PlatformHelpers.h"
using namespace DirectX;
_Use_decl_annotations_
HRESULT DirectX::CreateInputLayoutFromEffect(
ID3D11Device* device,
IEffect* effect,
const D3D11_INPUT_ELEMENT_DESC* desc,
size_t count,
ID3D11InputLayout** pInputLayout) noexcept
{
if (!pInputLayout)
return E_INVALIDARG;
*pInputLayout = nullptr;
if (!device || !effect || !desc || !count)
return E_INVALIDARG;
void const* shaderByteCode;
size_t byteCodeLength;
try
{
effect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength);
}
catch (com_exception e)
{
return e.get_result();
}
catch (...)
{
return E_FAIL;
}
return device->CreateInputLayout(
desc, static_cast<UINT>(count),
shaderByteCode, byteCodeLength,
pInputLayout);
}

Просмотреть файл

@ -12,7 +12,7 @@
#include "AlignedNew.h"
#include "CommonStates.h"
#include "ConstantBuffer.h"
#include "BufferHelpers.h"
#include "DemandCreate.h"
#include "DirectXHelpers.h"
#include "SharedResourcePool.h"
@ -23,10 +23,10 @@ using Microsoft::WRL::ComPtr;
namespace
{
const int c_MaxSamples = 16;
constexpr int c_MaxSamples = 16;
const int Dirty_ConstantBuffer = 0x01;
const int Dirty_Parameters = 0x02;
constexpr int Dirty_ConstantBuffer = 0x01;
constexpr int Dirty_Parameters = 0x02;
// Constant buffer layout. Must match the shader!
__declspec(align(16)) struct PostProcessConstants
@ -178,11 +178,15 @@ DualPostProcess::Impl::Impl(_In_ ID3D11Device* device)
{
throw std::exception("DualPostProcess requires Feature Level 10.0 or later");
}
SetDebugObjectName(mConstantBuffer.GetBuffer(), "DualPostProcess");
}
// Sets our state onto the D3D device.
void DualPostProcess::Impl::Process(_In_ ID3D11DeviceContext* deviceContext, std::function<void __cdecl()>& setCustomState)
void DualPostProcess::Impl::Process(
_In_ ID3D11DeviceContext* deviceContext,
std::function<void __cdecl()>& setCustomState)
{
// Set the texture.
ID3D11ShaderResourceView* textures[2] = { texture.Get(), texture2.Get() };
@ -292,7 +296,9 @@ DualPostProcess::~DualPostProcess()
// IPostProcess methods.
void DualPostProcess::Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState)
void DualPostProcess::Process(
_In_ ID3D11DeviceContext* deviceContext,
_In_opt_ std::function<void __cdecl()> setCustomState)
{
pImpl->Process(deviceContext, setCustomState);
}

Просмотреть файл

@ -31,9 +31,9 @@ struct DualTextureEffectTraits
{
using ConstantBufferType = DualTextureEffectConstants;
static const int VertexShaderCount = 4;
static const int PixelShaderCount = 2;
static const int ShaderPermutationCount = 4;
static constexpr int VertexShaderCount = 4;
static constexpr int PixelShaderCount = 2;
static constexpr int ShaderPermutationCount = 4;
};

Просмотреть файл

@ -450,3 +450,9 @@ ID3D11ShaderResourceView* EffectDeviceResources::GetDefaultTexture()
return hr;
});
}
// Gets device feature level
D3D_FEATURE_LEVEL EffectDeviceResources::GetDeviceFeatureLevel() const
{
return mDevice->GetFeatureLevel();
}

Просмотреть файл

@ -12,10 +12,11 @@
#include <memory>
#include "Effects.h"
#include "PlatformHelpers.h"
#include "ConstantBuffer.h"
#include "SharedResourcePool.h"
#include "AlignedNew.h"
#include "BufferHelpers.h"
#include "DirectXHelpers.h"
#include "PlatformHelpers.h"
#include "SharedResourcePool.h"
// BasicEffect, SkinnedEffect, et al, have many things in common, but also significant
@ -29,14 +30,14 @@ namespace DirectX
// Bitfield tracks which derived parameter values need to be recomputed.
namespace EffectDirtyFlags
{
const int ConstantBuffer = 0x01;
const int WorldViewProj = 0x02;
const int WorldInverseTranspose = 0x04;
const int EyePosition = 0x08;
const int MaterialColor = 0x10;
const int FogVector = 0x20;
const int FogEnable = 0x40;
const int AlphaTest = 0x80;
constexpr int ConstantBuffer = 0x01;
constexpr int WorldViewProj = 0x02;
constexpr int WorldInverseTranspose = 0x04;
constexpr int EyePosition = 0x08;
constexpr int MaterialColor = 0x10;
constexpr int FogVector = 0x20;
constexpr int FogEnable = 0x40;
constexpr int AlphaTest = 0x80;
}
@ -84,7 +85,7 @@ namespace DirectX
{
EffectLights() noexcept;
static const int MaxDirectionalLights = IEffectLights::MaxDirectionalLights;
static constexpr int MaxDirectionalLights = IEffectLights::MaxDirectionalLights;
// Fields.
@ -129,6 +130,7 @@ namespace DirectX
ID3D11VertexShader* DemandCreateVertexShader(_Inout_ Microsoft::WRL::ComPtr<ID3D11VertexShader>& vertexShader, ShaderBytecode const& bytecode);
ID3D11PixelShader * DemandCreatePixelShader (_Inout_ Microsoft::WRL::ComPtr<ID3D11PixelShader> & pixelShader, ShaderBytecode const& bytecode);
ID3D11ShaderResourceView* GetDefaultTexture();
D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const;
protected:
Microsoft::WRL::ComPtr<ID3D11Device> mDevice;
@ -150,6 +152,7 @@ namespace DirectX
mConstantBuffer(device),
mDeviceResources(deviceResourcesPool.DemandCreate(device))
{
SetDebugObjectName(mConstantBuffer.GetBuffer(), "Effect");
}
@ -220,8 +223,9 @@ namespace DirectX
}
// Helper returns the default texture.
// Helpers
ID3D11ShaderResourceView* GetDefaultTexture() { return mDeviceResources->GetDefaultTexture(); }
D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return mDeviceResources->GetDeviceFeatureLevel(); }
protected:
@ -273,9 +277,9 @@ namespace DirectX
}
// Gets or lazily creates the default texture
// Helpers
ID3D11ShaderResourceView* GetDefaultTexture() { return EffectDeviceResources::GetDefaultTexture(); }
D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return EffectDeviceResources::GetDeviceFeatureLevel(); }
private:
Microsoft::WRL::ComPtr<ID3D11VertexShader> mVertexShaders[Traits::VertexShaderCount];

Просмотреть файл

@ -46,9 +46,11 @@ struct EnvironmentMapEffectTraits
{
using ConstantBufferType = EnvironmentMapEffectConstants;
static const int VertexShaderCount = 10;
static const int PixelShaderCount = 8;
static const int ShaderPermutationCount = 40;
static constexpr int VertexShaderCount = 12;
static constexpr int PixelShaderCount = 16;
static constexpr int ShaderPermutationCount = 56;
static constexpr int MappingCount = 3;
};
@ -62,6 +64,8 @@ public:
bool fresnelEnabled;
bool specularEnabled;
bool biasedVertexNormals;
EnvironmentMapEffect::Mapping mapping;
bool shaderModel4;
EffectLights lights;
@ -97,18 +101,30 @@ namespace
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapSpherePixelLighting.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel.inc"
#include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog.inc"
#else
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLight.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLighting.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingSM4.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightBn.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBnSM4.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.inc"
@ -118,6 +134,16 @@ namespace
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpherePixelLighting.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel.inc"
#include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog.inc"
#endif
}
@ -125,17 +151,25 @@ namespace
template<>
const ShaderBytecode EffectBase<EnvironmentMapEffectTraits>::VertexShaderBytecode[] =
{
{ EnvironmentMapEffect_VSEnvMap, sizeof(EnvironmentMapEffect_VSEnvMap) },
{ EnvironmentMapEffect_VSEnvMapFresnel, sizeof(EnvironmentMapEffect_VSEnvMapFresnel) },
{ EnvironmentMapEffect_VSEnvMapOneLight, sizeof(EnvironmentMapEffect_VSEnvMapOneLight) },
{ EnvironmentMapEffect_VSEnvMapOneLightFresnel, sizeof(EnvironmentMapEffect_VSEnvMapOneLightFresnel) },
{ EnvironmentMapEffect_VSEnvMapPixelLighting, sizeof(EnvironmentMapEffect_VSEnvMapPixelLighting) },
{ EnvironmentMapEffect_VSEnvMap, sizeof(EnvironmentMapEffect_VSEnvMap) },
{ EnvironmentMapEffect_VSEnvMapFresnel, sizeof(EnvironmentMapEffect_VSEnvMapFresnel) },
{ EnvironmentMapEffect_VSEnvMapOneLight, sizeof(EnvironmentMapEffect_VSEnvMapOneLight) },
{ EnvironmentMapEffect_VSEnvMapOneLightFresnel, sizeof(EnvironmentMapEffect_VSEnvMapOneLightFresnel) },
{ EnvironmentMapEffect_VSEnvMapPixelLighting, sizeof(EnvironmentMapEffect_VSEnvMapPixelLighting) },
{ EnvironmentMapEffect_VSEnvMapBn, sizeof(EnvironmentMapEffect_VSEnvMapBn) },
{ EnvironmentMapEffect_VSEnvMapFresnelBn, sizeof(EnvironmentMapEffect_VSEnvMapFresnelBn) },
{ EnvironmentMapEffect_VSEnvMapOneLightBn, sizeof(EnvironmentMapEffect_VSEnvMapOneLightBn) },
{ EnvironmentMapEffect_VSEnvMapOneLightFresnelBn, sizeof(EnvironmentMapEffect_VSEnvMapOneLightFresnelBn) },
{ EnvironmentMapEffect_VSEnvMapPixelLightingBn, sizeof(EnvironmentMapEffect_VSEnvMapPixelLightingBn) },
{ EnvironmentMapEffect_VSEnvMapBn, sizeof(EnvironmentMapEffect_VSEnvMapBn) },
{ EnvironmentMapEffect_VSEnvMapFresnelBn, sizeof(EnvironmentMapEffect_VSEnvMapFresnelBn) },
{ EnvironmentMapEffect_VSEnvMapOneLightBn, sizeof(EnvironmentMapEffect_VSEnvMapOneLightBn) },
{ EnvironmentMapEffect_VSEnvMapOneLightFresnelBn, sizeof(EnvironmentMapEffect_VSEnvMapOneLightFresnelBn) },
{ EnvironmentMapEffect_VSEnvMapPixelLightingBn, sizeof(EnvironmentMapEffect_VSEnvMapPixelLightingBn) },
#if defined(_XBOX_ONE) && defined(_TITLE)
{ EnvironmentMapEffect_VSEnvMapPixelLighting, sizeof(EnvironmentMapEffect_VSEnvMapPixelLighting) },
{ EnvironmentMapEffect_VSEnvMapPixelLightingBn, sizeof(EnvironmentMapEffect_VSEnvMapPixelLightingBn) },
#else
{ EnvironmentMapEffect_VSEnvMapPixelLightingSM4, sizeof(EnvironmentMapEffect_VSEnvMapPixelLightingSM4) },
{ EnvironmentMapEffect_VSEnvMapPixelLightingBnSM4, sizeof(EnvironmentMapEffect_VSEnvMapPixelLightingBnSM4) },
#endif
};
@ -187,6 +221,26 @@ const int EffectBase<EnvironmentMapEffectTraits>::VertexShaderIndices[] =
9, // pixel lighting (biased vertex normals), no fog
9, // pixel lighting (biased vertex normals), fresnel
9, // pixel lighting (biased vertex normals), fresnel, no fog
4, // spheremap pixel lighting
4, // spheremap pixel lighting, no fog
4, // spheremap pixel lighting, fresnel
4, // spheremap pixel lighting, fresnel, no fog
9, // spheremap pixel lighting (biased vertex normals)
9, // spheremap pixel lighting (biased vertex normals), no fog
9, // spheremap pixel lighting (biased vertex normals), fresnel
9, // spheremap pixel lighting (biased vertex normals), fresnel, no fog
10, // dual-parabola pixel lighting
10, // dual-parabola pixel lighting, no fog
10, // dual-parabola pixel lighting, fresnel
10, // dual-parabola pixel lighting, fresnel, no fog
11, // dual-parabola pixel lighting (biased vertex normals)
11, // dual-parabola pixel lighting (biased vertex normals), no fog
11, // dual-parabola pixel lighting (biased vertex normals), fresnel
11, // dual-parabola pixel lighting (biased vertex normals), fresnel, no fog
};
@ -201,6 +255,16 @@ const ShaderBytecode EffectBase<EnvironmentMapEffectTraits>::PixelShaderBytecode
{ EnvironmentMapEffect_PSEnvMapPixelLightingNoFog, sizeof(EnvironmentMapEffect_PSEnvMapPixelLightingNoFog) },
{ EnvironmentMapEffect_PSEnvMapPixelLightingFresnel, sizeof(EnvironmentMapEffect_PSEnvMapPixelLightingFresnel) },
{ EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog, sizeof(EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog) },
{ EnvironmentMapEffect_PSEnvMapSpherePixelLighting, sizeof(EnvironmentMapEffect_PSEnvMapSpherePixelLighting) },
{ EnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog, sizeof(EnvironmentMapEffect_PSEnvMapSpherePixelLightingNoFog) },
{ EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel, sizeof(EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnel) },
{ EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog, sizeof(EnvironmentMapEffect_PSEnvMapSpherePixelLightingFresnelNoFog) },
{ EnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting, sizeof(EnvironmentMapEffect_PSEnvMapDualParabolaPixelLighting) },
{ EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog, sizeof(EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingNoFog) },
{ EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel, sizeof(EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnel) },
{ EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog, sizeof(EnvironmentMapEffect_PSEnvMapDualParabolaPixelLightingFresnelNoFog) },
};
@ -252,6 +316,26 @@ const int EffectBase<EnvironmentMapEffectTraits>::PixelShaderIndices[] =
5, // per pixel lighting (biased vertex normals), no fog
6, // per pixel lighting (biased vertex normals), fresnel
7, // per pixel lighting (biased vertex normals), fresnel, no fog
8, // spheremap pixel lighting
9, // spheremap pixel lighting, no fog
10, // spheremap pixel lighting, fresnel
11, // spheremap pixel lighting, fresnel, no fog
8, // spheremap pixel lighting (biased vertex normals)
9, // spheremap pixel lighting (biased vertex normals), no fog
10, // spheremap pixel lighting (biased vertex normals), fresnel
11, // spheremap pixel lighting (biased vertex normals), fresnel, no fog
12, // dual-parabola pixel lighting
13, // dual-parabola pixel lighting, no fog
14, // dual-parabola pixel lighting, fresnel
15, // dual-parabola pixel lighting, fresnel, no fog
12, // dual-parabola pixel lighting (biased vertex normals)
13, // dual-parabola pixel lighting (biased vertex normals), no fog
14, // dual-parabola pixel lighting (biased vertex normals), fresnel
15, // dual-parabola pixel lighting (biased vertex normals), fresnel, no fog
};
@ -266,7 +350,8 @@ EnvironmentMapEffect::Impl::Impl(_In_ ID3D11Device* device)
preferPerPixelLighting(false),
fresnelEnabled(true),
specularEnabled(false),
biasedVertexNormals(false)
biasedVertexNormals(false),
mapping(Mapping_Cube)
{
static_assert(_countof(EffectBase<EnvironmentMapEffectTraits>::VertexShaderIndices) == EnvironmentMapEffectTraits::ShaderPermutationCount, "array/max mismatch");
static_assert(_countof(EffectBase<EnvironmentMapEffectTraits>::VertexShaderBytecode) == EnvironmentMapEffectTraits::VertexShaderCount, "array/max mismatch");
@ -298,29 +383,50 @@ int EnvironmentMapEffect::Impl::GetCurrentShaderPermutation() const noexcept
permutation += 2;
}
if (preferPerPixelLighting)
if (mapping == Mapping_Sphere)
{
permutation += 16;
}
else
{
// Support specular?
if (specularEnabled)
permutation += 40;
if (biasedVertexNormals)
{
permutation += 4;
}
}
else if (mapping == Mapping_DualParabola)
{
permutation += 48;
// Use the only-bother-with-the-first-light shader optimization?
if (!lights.lightEnabled[1] && !lights.lightEnabled[2])
if (biasedVertexNormals)
{
permutation += 8;
permutation += 4;
}
}
if (biasedVertexNormals)
else // Mapping_Cube
{
// Compressed normals need to be scaled and biased in the vertex shader.
permutation += 20;
if (preferPerPixelLighting)
{
permutation += 16;
}
else
{
// Support specular?
if (specularEnabled)
{
permutation += 4;
}
// Use the only-bother-with-the-first-light shader optimization?
if (!lights.lightEnabled[1] && !lights.lightEnabled[2])
{
permutation += 8;
}
}
if (biasedVertexNormals)
{
// Compressed normals need to be scaled and biased in the vertex shader.
permutation += 20;
}
}
return permutation;
@ -568,6 +674,25 @@ void EnvironmentMapEffect::SetEnvironmentMap(_In_opt_ ID3D11ShaderResourceView*
// Additional settings.
void EnvironmentMapEffect::SetMode(EnvironmentMapEffect::Mapping mapping)
{
if (static_cast<int>(mapping) < 0 || static_cast<int>(mapping) >= EnvironmentMapEffectTraits::MappingCount)
{
throw std::invalid_argument("Unsupported mapping");
}
if (mapping == Mapping_DualParabola)
{
if (pImpl->GetDeviceFeatureLevel() < D3D_FEATURE_LEVEL_10_0)
{
throw std::exception("Dual Parabola requires Feature Level 10.0 or later");
}
}
pImpl->mapping = mapping;
}
void EnvironmentMapEffect::SetEnvironmentMapAmount(float value)
{
pImpl->constants.environmentMapAmount = value;

Просмотреть файл

@ -81,7 +81,310 @@ namespace
}
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#include <GameInput.h>
//======================================================================================
// GameInput
//======================================================================================
class GamePad::Impl
{
public:
Impl(GamePad* owner) :
mOwner(owner),
mCtrlChanged(INVALID_HANDLE_VALUE),
mDeviceToken(0),
mMostRecentGamepad(0)
{
if (s_gamePad)
{
throw std::exception("GamePad is a singleton");
}
s_gamePad = this;
ThrowIfFailed(GameInputCreate(mGameInput.GetAddressOf()));
ThrowIfFailed(mGameInput->RegisterDeviceCallback(
nullptr,
GameInputKindGamepad,
GameInputDeviceConnected,
GameInputBlockingEnumeration,
this,
OnGameInputDevice,
&mDeviceToken));
}
Impl(Impl&&) = default;
Impl& operator= (Impl&&) = default;
Impl(Impl const&) = delete;
Impl& operator= (Impl const&) = delete;
~Impl()
{
if (mDeviceToken)
{
if (mGameInput)
{
HRESULT hr = mGameInput->UnregisterCallback(mDeviceToken, UINT64_MAX);
if (FAILED(hr))
{
DebugTrace("ERROR: GameInput::UnregisterCallback [gamepad] failed (%08X)", static_cast<unsigned int>(hr));
}
}
mDeviceToken = 0;
}
s_gamePad = nullptr;
}
void GetState(int player, _Out_ State& state, DeadZone deadZoneMode)
{
memset(&state, 0, sizeof(State));
IGameInputDevice* device = nullptr;
if (player >= 0 && player < MAX_PLAYER_COUNT)
{
device = mInputDevices[player].Get();
if (!device)
return;
}
else if (player == c_MostRecent)
{
player = mMostRecentGamepad;
assert(player >= 0 && player < MAX_PLAYER_COUNT);
device = mInputDevices[player].Get();
if (!device)
return;
}
else if (player != c_MergedInput)
{
return;
}
ComPtr<IGameInputReading> reading;
if (SUCCEEDED(mGameInput->GetCurrentReading(GameInputKindGamepad, device, reading.GetAddressOf())))
{
GameInputGamepadState pad;
if (reading->GetGamepadState(&pad))
{
state.connected = true;
state.packet = reading->GetSequenceNumber(GameInputKindGamepad);
state.buttons.a = (pad.buttons & GameInputGamepadA) != 0;
state.buttons.b = (pad.buttons & GameInputGamepadB) != 0;
state.buttons.x = (pad.buttons & GameInputGamepadX) != 0;
state.buttons.y = (pad.buttons & GameInputGamepadY) != 0;
state.buttons.leftStick = (pad.buttons & GameInputGamepadLeftThumbstick) != 0;
state.buttons.rightStick = (pad.buttons & GameInputGamepadRightThumbstick) != 0;
state.buttons.leftShoulder = (pad.buttons & GameInputGamepadLeftShoulder) != 0;
state.buttons.rightShoulder = (pad.buttons & GameInputGamepadRightShoulder) != 0;
state.buttons.view = (pad.buttons & GameInputGamepadView) != 0;
state.buttons.menu = (pad.buttons & GameInputGamepadMenu) != 0;
state.dpad.up = (pad.buttons & GameInputGamepadDPadUp) != 0;
state.dpad.down = (pad.buttons & GameInputGamepadDPadDown) != 0;
state.dpad.right = (pad.buttons & GameInputGamepadDPadRight) != 0;
state.dpad.left = (pad.buttons & GameInputGamepadDPadLeft) != 0;
ApplyStickDeadZone(pad.leftThumbstickX, pad.leftThumbstickY,
deadZoneMode, 1.f, c_XboxOneThumbDeadZone,
state.thumbSticks.leftX, state.thumbSticks.leftY);
ApplyStickDeadZone(pad.rightThumbstickX, pad.rightThumbstickY,
deadZoneMode, 1.f, c_XboxOneThumbDeadZone,
state.thumbSticks.rightX, state.thumbSticks.rightY);
state.triggers.left = pad.leftTrigger;
state.triggers.right = pad.rightTrigger;
}
}
}
void GetCapabilities(int player, _Out_ Capabilities& caps)
{
if (player == c_MostRecent)
player = mMostRecentGamepad;
if (player >= 0 && player < MAX_PLAYER_COUNT)
{
IGameInputDevice* device = mInputDevices[player].Get();
if (device)
{
if (device->GetDeviceStatus() & GameInputDeviceConnected)
{
auto deviceInfo = device->GetDeviceInfo();
caps.connected = true;
caps.gamepadType = Capabilities::GAMEPAD;
caps.id = deviceInfo->deviceId;
caps.vid = deviceInfo->vendorId;
caps.pid = deviceInfo->productId;
return;
}
else
{
mInputDevices[player].Reset();
}
}
}
memset(&caps, 0, sizeof(Capabilities));
}
bool SetVibration(int player, float leftMotor, float rightMotor, float leftTrigger, float rightTrigger) noexcept
{
if (player == c_MostRecent)
player = mMostRecentGamepad;
if (player >= 0 && player < MAX_PLAYER_COUNT)
{
IGameInputDevice* device = mInputDevices[player].Get();
if (device)
{
GameInputRumbleParams const params =
{
leftMotor,
rightMotor,
leftTrigger,
rightTrigger
};
device->SetRumbleState(&params);
return true;
}
}
return false;
}
void Suspend() noexcept
{
for (int player = 0; player < MAX_PLAYER_COUNT; ++player)
{
IGameInputDevice* device = mInputDevices[player].Get();
if (device)
{
device->SetRumbleState(nullptr);
}
}
}
void Resume() noexcept
{
for (int player = 0; player < MAX_PLAYER_COUNT; ++player)
{
IGameInputDevice* device = mInputDevices[player].Get();
if (device)
{
if (!(device->GetDeviceStatus() & GameInputDeviceConnected))
{
mInputDevices[player].Reset();
}
}
}
}
void GetDevice(int player, _Outptr_ IGameInputDevice** device) noexcept
{
if (!device)
return;
if (player == c_MostRecent)
player = mMostRecentGamepad;
*device = nullptr;
if (player >= 0 && player < MAX_PLAYER_COUNT)
{
IGameInputDevice* dev = mInputDevices[player].Get();
if (dev)
{
dev->AddRef();
*device = dev;
}
}
}
GamePad* mOwner;
static GamePad::Impl* s_gamePad;
HANDLE mCtrlChanged;
private:
ComPtr<IGameInput> mGameInput;
ComPtr<IGameInputDevice> mInputDevices[MAX_PLAYER_COUNT];
GameInputCallbackToken mDeviceToken;
int mMostRecentGamepad;
static void CALLBACK OnGameInputDevice(
_In_ GameInputCallbackToken,
_In_ void * context,
_In_ IGameInputDevice * device,
_In_ uint64_t,
_In_ GameInputDeviceStatus currentStatus,
_In_ GameInputDeviceStatus) noexcept
{
auto impl = reinterpret_cast<GamePad::Impl*>(context);
if (currentStatus & GameInputDeviceConnected)
{
size_t empty = MAX_PLAYER_COUNT;
size_t k = 0;
for (; k < MAX_PLAYER_COUNT; ++k)
{
if (impl->mInputDevices[k].Get() == device)
{
impl->mMostRecentGamepad = static_cast<int>(k);
break;
}
else if (!impl->mInputDevices[k])
{
if (empty >= MAX_PLAYER_COUNT)
empty = k;
}
}
if (k >= MAX_PLAYER_COUNT)
{
// Silently ignore "extra" gamepads as there's no hard limit
if (empty < MAX_PLAYER_COUNT)
{
impl->mInputDevices[empty] = device;
impl->mMostRecentGamepad = static_cast<int>(empty);
}
}
}
else
{
for (size_t k = 0; k < MAX_PLAYER_COUNT; ++k)
{
if (impl->mInputDevices[k].Get() == device)
{
impl->mInputDevices[k].Reset();
break;
}
}
}
if (impl->mCtrlChanged != INVALID_HANDLE_VALUE)
{
SetEvent(impl->mCtrlChanged);
}
}
};
GamePad::Impl* GamePad::Impl::s_gamePad = nullptr;
#elif (_WIN32_WINNT >= _WIN32_WINNT_WIN10) && !defined(_GAMING_DESKTOP)
//======================================================================================
// Windows::Gaming::Input (Windows 10)
@ -185,7 +488,7 @@ public:
ScanGamePads();
}
if (player == -1)
if (player == c_MostRecent)
player = mMostRecentGamepad;
if ((player >= 0) && (player < MAX_PLAYER_COUNT))
@ -250,7 +553,7 @@ public:
ScanGamePads();
}
if (player == -1)
if (player == c_MostRecent)
player = mMostRecentGamepad;
if ((player >= 0) && (player < MAX_PLAYER_COUNT))
@ -309,7 +612,7 @@ public:
{
using namespace ABI::Windows::Gaming::Input;
if (player == -1)
if (player == c_MostRecent)
player = mMostRecentGamepad;
if ((player >= 0) && (player < MAX_PLAYER_COUNT))
@ -654,7 +957,7 @@ public:
ScanGamePads();
}
if (player == -1)
if (player == c_MostRecent)
player = mMostRecentGamepad;
if ((player >= 0) && (player < MAX_PLAYER_COUNT))
@ -716,7 +1019,7 @@ public:
ScanGamePads();
}
if (player == -1)
if (player == c_MostRecent)
player = mMostRecentGamepad;
if ((player >= 0) && (player < MAX_PLAYER_COUNT))
@ -780,7 +1083,7 @@ public:
{
using namespace ABI::Windows::Xbox::Input;
if (player == -1)
if (player == c_MostRecent)
player = mMostRecentGamepad;
if ((player >= 0) && (player < MAX_PLAYER_COUNT))
@ -964,7 +1267,7 @@ public:
void GetState(int player, _Out_ State& state, DeadZone deadZoneMode)
{
if (player == -1)
if (player == c_MostRecent)
player = GetMostRecent();
ULONGLONG time = GetTickCount64();
@ -1041,7 +1344,7 @@ public:
void GetCapabilities(int player, _Out_ Capabilities& caps)
{
if (player == -1)
if (player == c_MostRecent)
player = GetMostRecent();
ULONGLONG time = GetTickCount64();
@ -1098,7 +1401,7 @@ public:
bool SetVibration(int player, float leftMotor, float rightMotor, float leftTrigger, float rightTrigger) noexcept
{
if (player == -1)
if (player == c_MostRecent)
player = GetMostRecent();
ULONGLONG time = GetTickCount64();
@ -1339,7 +1642,17 @@ void GamePad::Resume() noexcept
}
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10) || defined(_XBOX_ONE)
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
void GamePad::RegisterEvents(HANDLE ctrlChanged) noexcept
{
pImpl->mCtrlChanged = (!ctrlChanged) ? INVALID_HANDLE_VALUE : ctrlChanged;
}
void GamePad::GetDevice(int player, _Outptr_ IGameInputDevice** device) noexcept
{
pImpl->GetDevice(player, device);
}
#elif ((_WIN32_WINNT >= _WIN32_WINNT_WIN10) && !defined(_GAMING_DESKTOP)) || defined(_XBOX_ONE)
void GamePad::RegisterEvents(HANDLE ctrlChanged, HANDLE userChanged) noexcept
{
pImpl->mCtrlChanged = (!ctrlChanged) ? INVALID_HANDLE_VALUE : ctrlChanged;

Просмотреть файл

@ -9,76 +9,17 @@
#include "pch.h"
#include "GeometricPrimitive.h"
#include "Effects.h"
#include "BufferHelpers.h"
#include "CommonStates.h"
#include "DirectXHelpers.h"
#include "SharedResourcePool.h"
#include "Effects.h"
#include "Geometry.h"
#include "SharedResourcePool.h"
using namespace DirectX;
using Microsoft::WRL::ComPtr;
namespace
{
// Helper for creating a D3D vertex or index buffer.
template<typename T>
void CreateBuffer(_In_ ID3D11Device* device, T const& data, D3D11_BIND_FLAG bindFlags, _Outptr_ ID3D11Buffer** pBuffer)
{
assert(pBuffer != nullptr);
uint64_t sizeInBytes = uint64_t(data.size()) * sizeof(typename T::value_type);
if (sizeInBytes > uint64_t(D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM * 1024u * 1024u))
throw std::exception("Buffer too large for DirectX 11");
D3D11_BUFFER_DESC bufferDesc = {};
bufferDesc.ByteWidth = static_cast<UINT>(sizeInBytes);
bufferDesc.BindFlags = bindFlags;
bufferDesc.Usage = D3D11_USAGE_DEFAULT;
D3D11_SUBRESOURCE_DATA dataDesc = {};
dataDesc.pSysMem = data.data();
ThrowIfFailed(
device->CreateBuffer(&bufferDesc, &dataDesc, pBuffer)
);
assert(pBuffer != nullptr && *pBuffer != nullptr);
_Analysis_assume_(pBuffer != nullptr && *pBuffer != nullptr);
SetDebugObjectName(*pBuffer, "DirectXTK:GeometricPrimitive");
}
// Helper for creating a D3D input layout.
void CreateInputLayout(_In_ ID3D11Device* device, IEffect* effect, _Outptr_ ID3D11InputLayout** pInputLayout)
{
assert(pInputLayout != nullptr);
void const* shaderByteCode;
size_t byteCodeLength;
effect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength);
ThrowIfFailed(
device->CreateInputLayout(
GeometricPrimitive::VertexType::InputElements,
GeometricPrimitive::VertexType::InputElementCount,
shaderByteCode, byteCodeLength,
pInputLayout)
);
assert(pInputLayout != nullptr && *pInputLayout != nullptr);
_Analysis_assume_(pInputLayout != nullptr && *pInputLayout != nullptr);
SetDebugObjectName(*pInputLayout, "DirectXTK:GeometricPrimitive");
}
}
// Internal GeometricPrimitive implementation class.
class GeometricPrimitive::Impl
{
@ -87,9 +28,16 @@ public:
void Initialize(_In_ ID3D11DeviceContext* deviceContext, const VertexCollection& vertices, const IndexCollection& indices);
void XM_CALLCONV Draw(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection, FXMVECTOR color, _In_opt_ ID3D11ShaderResourceView* texture, bool wireframe, std::function<void()>& setCustomState) const;
void XM_CALLCONV Draw(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection,
FXMVECTOR color,
_In_opt_ ID3D11ShaderResourceView* texture,
bool wireframe,
std::function<void()>& setCustomState) const;
void Draw(_In_ IEffect* effect, _In_ ID3D11InputLayout* inputLayout, bool alpha, bool wireframe, std::function<void()>& setCustomState) const;
void Draw(_In_ IEffect* effect,
_In_ ID3D11InputLayout* inputLayout,
bool alpha, bool wireframe,
std::function<void()>& setCustomState) const;
void CreateInputLayout(_In_ IEffect* effect, _Outptr_ ID3D11InputLayout** inputLayout) const;
@ -145,10 +93,18 @@ GeometricPrimitive::Impl::SharedResources::SharedResources(_In_ ID3D11DeviceCont
// Create input layouts.
effect->SetTextureEnabled(true);
::CreateInputLayout(device.Get(), effect.get(), &inputLayoutTextured);
ThrowIfFailed(
CreateInputLayoutFromEffect<VertexType>(device.Get(), effect.get(), &inputLayoutTextured)
);
SetDebugObjectName(inputLayoutTextured.Get(), "DirectXTK:GeometricPrimitive");
effect->SetTextureEnabled(false);
::CreateInputLayout(device.Get(), effect.get(), &inputLayoutUntextured);
ThrowIfFailed(
CreateInputLayoutFromEffect<VertexType>(device.Get(), effect.get(), &inputLayoutUntextured)
);
SetDebugObjectName(inputLayoutUntextured.Get(), "DirectXTK:GeometricPrimitive");
}
@ -202,8 +158,16 @@ void GeometricPrimitive::Impl::Initialize(ID3D11DeviceContext* deviceContext, co
ComPtr<ID3D11Device> device;
deviceContext->GetDevice(&device);
CreateBuffer(device.Get(), vertices, D3D11_BIND_VERTEX_BUFFER, &mVertexBuffer);
CreateBuffer(device.Get(), indices, D3D11_BIND_INDEX_BUFFER, &mIndexBuffer);
ThrowIfFailed(
CreateStaticBuffer(device.Get(), vertices, D3D11_BIND_VERTEX_BUFFER, mVertexBuffer.ReleaseAndGetAddressOf())
);
ThrowIfFailed(
CreateStaticBuffer(device.Get(), indices, D3D11_BIND_INDEX_BUFFER, mIndexBuffer.ReleaseAndGetAddressOf())
);
SetDebugObjectName(mVertexBuffer.Get(), "DirectXTK:GeometricPrimitive");
SetDebugObjectName(mIndexBuffer.Get(), "DirectXTK:GeometricPrimitive");
mIndexCount = static_cast<UINT>(indices.size());
}
@ -309,7 +273,14 @@ void GeometricPrimitive::Impl::CreateInputLayout(IEffect* effect, ID3D11InputLay
ComPtr<ID3D11Device> device;
deviceContext->GetDevice(&device);
::CreateInputLayout(device.Get(), effect, inputLayout);
ThrowIfFailed(
CreateInputLayoutFromEffect<VertexType>(device.Get(), effect, inputLayout)
);
assert(inputLayout != nullptr && *inputLayout != nullptr);
_Analysis_assume_(inputLayout != nullptr && *inputLayout != nullptr);
SetDebugObjectName(*inputLayout, "DirectXTK:GeometricPrimitive");
}

Просмотреть файл

@ -74,7 +74,7 @@ void DirectX::ComputeBox(VertexCollection& vertices, IndexCollection& indices, c
indices.clear();
// A box has six faces, each one pointing in a different direction.
const int FaceCount = 6;
constexpr int FaceCount = 6;
static const XMVECTORF32 faceNormals[FaceCount] =
{

Просмотреть файл

@ -56,7 +56,7 @@ public:
s_graphicsMemory = nullptr;
}
void Initialize(_In_ ID3D11DeviceX* device, UINT backBufferCount)
void Initialize(_In_ ID3D11DeviceX* device, unsigned int backBufferCount)
{
assert(device != nullptr);
mDevice = device;
@ -239,7 +239,7 @@ public:
s_graphicsMemory = nullptr;
}
void Initialize(_In_ ID3D11Device* device, UINT backBufferCount) noexcept
void Initialize(_In_ ID3D11Device* device, unsigned int backBufferCount) noexcept
{
UNREFERENCED_PARAMETER(device);
UNREFERENCED_PARAMETER(backBufferCount);
@ -273,9 +273,9 @@ GraphicsMemory::Impl* GraphicsMemory::Impl::s_graphicsMemory = nullptr;
// Public constructor.
#if defined(_XBOX_ONE) && defined(_TITLE)
GraphicsMemory::GraphicsMemory(_In_ ID3D11DeviceX* device, UINT backBufferCount)
GraphicsMemory::GraphicsMemory(_In_ ID3D11DeviceX* device, unsigned int backBufferCount)
#else
GraphicsMemory::GraphicsMemory(_In_ ID3D11Device* device, UINT backBufferCount)
GraphicsMemory::GraphicsMemory(_In_ ID3D11Device* device, unsigned int backBufferCount)
#endif
: pImpl(std::make_unique<Impl>(this))
{

Просмотреть файл

@ -18,9 +18,13 @@ using Microsoft::WRL::ComPtr;
static_assert(sizeof(Keyboard::State) == (256 / 8), "Size mismatch for State");
#ifdef __clang__
#pragma clang diagnostic ignored "-Wunused-function"
#endif
namespace
{
void KeyDown(int key, Keyboard::State& state) noexcept
inline void KeyDown(int key, Keyboard::State& state) noexcept
{
if (key < 0 || key > 0xfe)
return;
@ -31,7 +35,7 @@ namespace
ptr[(key >> 5)] |= bf;
}
void KeyUp(int key, Keyboard::State& state) noexcept
inline void KeyUp(int key, Keyboard::State& state) noexcept
{
if (key < 0 || key > 0xfe)
return;
@ -44,7 +48,131 @@ namespace
}
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#include <GameInput.h>
//======================================================================================
// GameInput
//======================================================================================
class Keyboard::Impl
{
public:
Impl(Keyboard* owner) :
mOwner(owner),
mConnected(0),
mDeviceToken(0),
mKeyState{}
{
if (s_keyboard)
{
throw std::exception("Keyboard is a singleton");
}
s_keyboard = this;
ThrowIfFailed(GameInputCreate(mGameInput.GetAddressOf()));
ThrowIfFailed(mGameInput->RegisterDeviceCallback(
nullptr,
GameInputKindKeyboard,
GameInputDeviceConnected,
GameInputBlockingEnumeration,
this,
OnGameInputDevice,
&mDeviceToken));
}
Impl(Impl&&) = default;
Impl& operator= (Impl&&) = default;
Impl(Impl const&) = delete;
Impl& operator= (Impl const&) = delete;
~Impl()
{
if (mDeviceToken)
{
if (mGameInput)
{
HRESULT hr = mGameInput->UnregisterCallback(mDeviceToken, UINT64_MAX);
if (FAILED(hr))
{
DebugTrace("ERROR: GameInput::UnregisterCallback [keyboard] failed (%08X)", static_cast<unsigned int>(hr));
}
}
mDeviceToken = 0;
}
s_keyboard = nullptr;
}
void GetState(State& state) const
{
state = {};
ComPtr<IGameInputReading> reading;
if (SUCCEEDED(mGameInput->GetCurrentReading(GameInputKindKeyboard, nullptr, reading.GetAddressOf())))
{
uint32_t readCount = reading->GetKeyState(c_MaxSimultaneousKeys, mKeyState);
for (size_t j = 0; j < readCount; ++j)
{
int vk = static_cast<int>(mKeyState[j].virtualKey);
KeyDown(vk, state);
}
}
}
void Reset() noexcept
{
}
bool IsConnected() const
{
return mConnected > 0;
}
Keyboard* mOwner;
uint32_t mConnected;
static Keyboard::Impl* s_keyboard;
private:
static constexpr size_t c_MaxSimultaneousKeys = 16;
ComPtr<IGameInput> mGameInput;
GameInputCallbackToken mDeviceToken;
mutable GameInputKeyState mKeyState[c_MaxSimultaneousKeys];
static void CALLBACK OnGameInputDevice(
_In_ GameInputCallbackToken,
_In_ void * context,
_In_ IGameInputDevice *,
_In_ uint64_t,
_In_ GameInputDeviceStatus currentStatus,
_In_ GameInputDeviceStatus) noexcept
{
auto impl = reinterpret_cast<Keyboard::Impl*>(context);
if (currentStatus & GameInputDeviceConnected)
{
++impl->mConnected;
}
else if (impl->mConnected > 0)
{
--impl->mConnected;
}
}
};
Keyboard::Impl* Keyboard::Impl::s_keyboard = nullptr;
#elif !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
//======================================================================================
// Win32 desktop implementation
@ -186,6 +314,7 @@ void Keyboard::ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam)
}
}
#else
//======================================================================================

Просмотреть файл

@ -14,6 +14,7 @@
#include "DDS.h"
#include "DDSTextureLoader.h"
#include "PlatformHelpers.h"
namespace DirectX
@ -96,10 +97,23 @@ namespace DirectX
case DXGI_FORMAT_AYUV:
case DXGI_FORMAT_Y410:
case DXGI_FORMAT_YUY2:
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
case DXGI_FORMAT_R10G10B10_7E3_A2_FLOAT:
case DXGI_FORMAT_R10G10B10_6E4_A2_FLOAT:
case DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM:
#endif
return 32;
case DXGI_FORMAT_P010:
case DXGI_FORMAT_P016:
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
case DXGI_FORMAT_V408:
#endif
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
case DXGI_FORMAT_D16_UNORM_S8_UINT:
case DXGI_FORMAT_R16_UNORM_X8_TYPELESS:
case DXGI_FORMAT_X16_TYPELESS_G8_UINT:
#endif
return 24;
case DXGI_FORMAT_R8G8_TYPELESS:
@ -118,6 +132,10 @@ namespace DirectX
case DXGI_FORMAT_B5G5R5A1_UNORM:
case DXGI_FORMAT_A8P8:
case DXGI_FORMAT_B4G4R4A4_UNORM:
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
case DXGI_FORMAT_P208:
case DXGI_FORMAT_V208:
#endif
return 16;
case DXGI_FORMAT_NV12:
@ -131,22 +149,6 @@ namespace DirectX
case DXGI_FORMAT_R8_SNORM:
case DXGI_FORMAT_R8_SINT:
case DXGI_FORMAT_A8_UNORM:
case DXGI_FORMAT_AI44:
case DXGI_FORMAT_IA44:
case DXGI_FORMAT_P8:
return 8;
case DXGI_FORMAT_R1_UNORM:
return 1;
case DXGI_FORMAT_BC1_TYPELESS:
case DXGI_FORMAT_BC1_UNORM:
case DXGI_FORMAT_BC1_UNORM_SRGB:
case DXGI_FORMAT_BC4_TYPELESS:
case DXGI_FORMAT_BC4_UNORM:
case DXGI_FORMAT_BC4_SNORM:
return 4;
case DXGI_FORMAT_BC2_TYPELESS:
case DXGI_FORMAT_BC2_UNORM:
case DXGI_FORMAT_BC2_UNORM_SRGB:
@ -162,35 +164,24 @@ namespace DirectX
case DXGI_FORMAT_BC7_TYPELESS:
case DXGI_FORMAT_BC7_UNORM:
case DXGI_FORMAT_BC7_UNORM_SRGB:
return 8;
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
case DXGI_FORMAT_V408:
return 24;
case DXGI_FORMAT_P208:
case DXGI_FORMAT_V208:
return 16;
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
#if defined(_XBOX_ONE) && defined(_TITLE)
case DXGI_FORMAT_R10G10B10_7E3_A2_FLOAT:
case DXGI_FORMAT_R10G10B10_6E4_A2_FLOAT:
case DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM:
return 32;
case DXGI_FORMAT_D16_UNORM_S8_UINT:
case DXGI_FORMAT_R16_UNORM_X8_TYPELESS:
case DXGI_FORMAT_X16_TYPELESS_G8_UINT:
return 24;
case DXGI_FORMAT_AI44:
case DXGI_FORMAT_IA44:
case DXGI_FORMAT_P8:
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
case DXGI_FORMAT_R4G4_UNORM:
#endif
return 8;
#endif // _XBOX_ONE && _TITLE
case DXGI_FORMAT_R1_UNORM:
return 1;
case DXGI_FORMAT_BC1_TYPELESS:
case DXGI_FORMAT_BC1_UNORM:
case DXGI_FORMAT_BC1_UNORM_SRGB:
case DXGI_FORMAT_BC4_TYPELESS:
case DXGI_FORMAT_BC4_UNORM:
case DXGI_FORMAT_BC4_SNORM:
return 4;
case DXGI_FORMAT_UNKNOWN:
case DXGI_FORMAT_FORCE_UINT:
@ -552,7 +543,7 @@ namespace DirectX
bpe = 4;
break;
#if defined(_XBOX_ONE) && defined(_TITLE)
#if (defined(_XBOX_ONE) && defined(_TITLE)) || defined(_GAMING_XBOX)
case DXGI_FORMAT_D16_UNORM_S8_UINT:
case DXGI_FORMAT_R16_UNORM_X8_TYPELESS:

Просмотреть файл

@ -9,7 +9,6 @@
#include "pch.h"
#include "Model.h"
#include "CommonStates.h"
#include "DirectXHelpers.h"
#include "Effects.h"
@ -115,25 +114,19 @@ void ModelMeshPart::DrawInstanced(
_Use_decl_annotations_
void ModelMeshPart::CreateInputLayout(ID3D11Device* d3dDevice, IEffect* ieffect, ID3D11InputLayout** iinputLayout) const
{
if (iinputLayout)
{
*iinputLayout = nullptr;
}
if (!vbDecl || vbDecl->empty())
throw std::exception("Model mesh part missing vertex buffer input elements data");
if (vbDecl->size() > D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT)
throw std::exception("Model mesh part input layout size is too large for DirectX 11");
void const* shaderByteCode;
size_t byteCodeLength;
assert(ieffect != nullptr);
ieffect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength);
assert(d3dDevice != nullptr);
ThrowIfFailed(
d3dDevice->CreateInputLayout(vbDecl->data(),
static_cast<UINT>(vbDecl->size()),
shaderByteCode, byteCodeLength,
iinputLayout)
CreateInputLayoutFromEffect(d3dDevice, ieffect, vbDecl->data(), vbDecl->size(), iinputLayout)
);
assert(iinputLayout != nullptr && *iinputLayout != nullptr);
@ -154,18 +147,10 @@ void ModelMeshPart::ModifyEffect(ID3D11Device* d3dDevice, std::shared_ptr<IEffec
this->effect = ieffect;
this->isAlpha = isalpha;
void const* shaderByteCode;
size_t byteCodeLength;
effect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength);
assert(d3dDevice != nullptr);
ThrowIfFailed(
d3dDevice->CreateInputLayout(vbDecl->data(),
static_cast<UINT>(vbDecl->size()),
shaderByteCode, byteCodeLength,
&inputLayout)
CreateInputLayoutFromEffect(d3dDevice, effect.get(), vbDecl->data(), vbDecl->size(), inputLayout.ReleaseAndGetAddressOf())
);
}

Просмотреть файл

@ -9,14 +9,12 @@
#include "pch.h"
#include "Model.h"
#include "DDSTextureLoader.h"
#include "DirectXHelpers.h"
#include "Effects.h"
#include "VertexTypes.h"
#include "DirectXHelpers.h"
#include "PlatformHelpers.h"
#include "BinaryReader.h"
#include "PlatformHelpers.h"
using namespace DirectX;
using Microsoft::WRL::ComPtr;
@ -195,29 +193,18 @@ namespace
};
// Helper for creating a D3D input layout.
void CreateInputLayout(_In_ ID3D11Device* device, IEffect* effect, _Out_ ID3D11InputLayout** pInputLayout, bool skinning)
void CreateCMOInputLayout(_In_ ID3D11Device* device, _In_ IEffect* effect, _Outptr_ ID3D11InputLayout** pInputLayout, bool skinning)
{
void const* shaderByteCode;
size_t byteCodeLength;
effect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength);
if (skinning)
{
ThrowIfFailed(
device->CreateInputLayout(VertexPositionNormalTangentColorTextureSkinning::InputElements,
VertexPositionNormalTangentColorTextureSkinning::InputElementCount,
shaderByteCode, byteCodeLength,
pInputLayout)
CreateInputLayoutFromEffect<VertexPositionNormalTangentColorTextureSkinning>(device, effect, pInputLayout)
);
}
else
{
ThrowIfFailed(
device->CreateInputLayout(VertexPositionNormalTangentColorTexture::InputElements,
VertexPositionNormalTangentColorTexture::InputElementCount,
shaderByteCode, byteCodeLength,
pInputLayout)
CreateInputLayoutFromEffect<VertexPositionNormalTangentColorTexture>(device, effect, pInputLayout)
);
}
@ -473,8 +460,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromCMO(
desc.ByteWidth = static_cast<UINT>(ibBytes);
desc.BindFlags = D3D11_BIND_INDEX_BUFFER;
D3D11_SUBRESOURCE_DATA initData = {};
initData.pSysMem = indexes;
D3D11_SUBRESOURCE_DATA initData = { indexes, 0, 0 };
ThrowIfFailed(
device->CreateBuffer(&desc, &initData, &ibs[j])
@ -698,8 +684,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromCMO(
if (fxFactoryDGSL && !enableSkinning)
{
// Can use CMO vertex data directly
D3D11_SUBRESOURCE_DATA initData = {};
initData.pSysMem = vbData[j].ptr;
D3D11_SUBRESOURCE_DATA initData = { vbData[j].ptr, 0, 0 };
ThrowIfFailed(
device->CreateBuffer(&desc, &initData, &vbs[j])
@ -799,8 +784,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromCMO(
}
// Create vertex buffer from temporary buffer
D3D11_SUBRESOURCE_DATA initData = {};
initData.pSysMem = temp.get();
D3D11_SUBRESOURCE_DATA initData = { temp.get(), 0, 0 };
ThrowIfFailed(
device->CreateBuffer(&desc, &initData, &vbs[j])
@ -837,7 +821,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromCMO(
info.emissiveTexture = m.texture[3].empty() ? nullptr : m.texture[3].c_str();
info.pixelShader = m.pixelShader.c_str();
const int offset = DGSLEffectFactory::DGSLEffectInfo::BaseTextureOffset;
constexpr int offset = DGSLEffectFactory::DGSLEffectInfo::BaseTextureOffset;
for (int i = 0; i < (DGSLEffect::MaxTextures - offset); ++i)
{
info.textures[i] = m.texture[i + offset].empty() ? nullptr : m.texture[i + offset].c_str();
@ -865,7 +849,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromCMO(
m.effect = fxFactory.CreateEffect(info, nullptr);
}
CreateInputLayout(device, m.effect.get(), &m.il, enableSkinning);
CreateCMOInputLayout(device, m.effect.get(), &m.il, enableSkinning);
}
// Build mesh parts

Просмотреть файл

@ -9,14 +9,11 @@
#include "pch.h"
#include "Model.h"
#include "DirectXHelpers.h"
#include "Effects.h"
#include "VertexTypes.h"
#include "DirectXHelpers.h"
#include "PlatformHelpers.h"
#include "BinaryReader.h"
#include "PlatformHelpers.h"
#include "SDKMesh.h"
using namespace DirectX;
@ -364,27 +361,6 @@ namespace
return flags;
}
// Helper for creating a D3D input layout.
void CreateInputLayout(_In_ ID3D11Device* device, _In_ IEffect* effect, std::vector<D3D11_INPUT_ELEMENT_DESC>& inputDesc, _Out_ ID3D11InputLayout** pInputLayout)
{
void const* shaderByteCode;
size_t byteCodeLength;
effect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength);
ThrowIfFailed(
device->CreateInputLayout(inputDesc.data(),
static_cast<UINT>(inputDesc.size()),
shaderByteCode, byteCodeLength,
pInputLayout)
);
assert(pInputLayout != nullptr && *pInputLayout != nullptr);
_Analysis_assume_(pInputLayout != nullptr && *pInputLayout != nullptr);
SetDebugObjectName(*pInputLayout, "ModelSDKMESH");
}
}
@ -542,8 +518,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromSDKMESH(
desc.ByteWidth = static_cast<UINT>(vh.SizeBytes);
desc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
D3D11_SUBRESOURCE_DATA initData = {};
initData.pSysMem = verts;
D3D11_SUBRESOURCE_DATA initData = { verts, 0, 0 };
ThrowIfFailed(
d3dDevice->CreateBuffer(&desc, &initData, &vbs[j])
@ -589,8 +564,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromSDKMESH(
desc.ByteWidth = static_cast<UINT>(ih.SizeBytes);
desc.BindFlags = D3D11_BIND_INDEX_BUFFER;
D3D11_SUBRESOURCE_DATA initData = {};
initData.pSysMem = indices;
D3D11_SUBRESOURCE_DATA initData = { indices, 0, 0 };
ThrowIfFailed(
d3dDevice->CreateBuffer(&desc, &initData, &ibs[j])
@ -705,7 +679,12 @@ std::unique_ptr<Model> DirectX::Model::CreateFromSDKMESH(
}
ComPtr<ID3D11InputLayout> il;
CreateInputLayout(d3dDevice, mat.effect.get(), *vbDecls[mh.VertexBuffers[0]].get(), &il);
ThrowIfFailed(
CreateInputLayoutFromEffect(d3dDevice, mat.effect.get(),
vbDecls[mh.VertexBuffers[0]]->data(), vbDecls[mh.VertexBuffers[0]]->size(), il.GetAddressOf())
);
SetDebugObjectName(il.Get(), "ModelSDKMESH");
auto part = new ModelMeshPart();
part->isAlpha = mat.alpha;

Просмотреть файл

@ -9,13 +9,11 @@
#include "pch.h"
#include "Model.h"
#include "DirectXHelpers.h"
#include "Effects.h"
#include "VertexTypes.h"
#include "DirectXHelpers.h"
#include "PlatformHelpers.h"
#include "BinaryReader.h"
#include "PlatformHelpers.h"
#include "vbo.h"
@ -110,8 +108,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromVBO(
desc.ByteWidth = static_cast<UINT>(vertSize);
desc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
D3D11_SUBRESOURCE_DATA initData = {};
initData.pSysMem = verts;
D3D11_SUBRESOURCE_DATA initData = { verts, 0, 0 };
ThrowIfFailed(
device->CreateBuffer(&desc, &initData, vb.GetAddressOf())
@ -128,8 +125,7 @@ std::unique_ptr<Model> DirectX::Model::CreateFromVBO(
desc.ByteWidth = static_cast<UINT>(indexSize);
desc.BindFlags = D3D11_BIND_INDEX_BUFFER;
D3D11_SUBRESOURCE_DATA initData = {};
initData.pSysMem = indices;
D3D11_SUBRESOURCE_DATA initData = { indices, 0, 0 };
ThrowIfFailed(
device->CreateBuffer(&desc, &initData, ib.GetAddressOf())
@ -149,20 +145,12 @@ std::unique_ptr<Model> DirectX::Model::CreateFromVBO(
}
ComPtr<ID3D11InputLayout> il;
{
void const* shaderByteCode;
size_t byteCodeLength;
ieffect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength);
ThrowIfFailed(
CreateInputLayoutFromEffect<VertexPositionNormalTexture>(device, ieffect.get(), il.GetAddressOf())
);
ThrowIfFailed(
device->CreateInputLayout(VertexPositionNormalTexture::InputElements,
VertexPositionNormalTexture::InputElementCount,
shaderByteCode, byteCodeLength,
il.GetAddressOf()));
SetDebugObjectName(il.Get(), "ModelVBO");
}
SetDebugObjectName(il.Get(), "ModelVBO");
auto part = new ModelMeshPart();
part->indexCount = header->numIndices;

Просмотреть файл

@ -17,7 +17,383 @@ using namespace DirectX;
using Microsoft::WRL::ComPtr;
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
#include <GameInput.h>
//======================================================================================
// Win32 + GameInput implementation
//======================================================================================
//
// Call this static function from your Window Message Procedure
//
// LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
// {
// switch (message)
// {
// case WM_ACTIVATEAPP:
// case WM_MOUSEMOVE:
// case WM_LBUTTONDOWN:
// case WM_LBUTTONUP:
// case WM_RBUTTONDOWN:
// case WM_RBUTTONUP:
// case WM_MBUTTONDOWN:
// case WM_MBUTTONUP:
// case WM_MOUSEWHEEL:
// case WM_XBUTTONDOWN:
// case WM_XBUTTONUP:
// Mouse::ProcessMessage(message, wParam, lParam);
// break;
//
// }
// }
//
class Mouse::Impl
{
public:
explicit Impl(Mouse* owner) noexcept(false) :
mState{},
mOwner(owner),
mIs4k(false),
mConnected(0),
mDeviceToken(0),
mMode(MODE_ABSOLUTE),
mScrollWheelCurrent(0),
mRelativeX(INT64_MAX),
mRelativeY(INT64_MAX),
mRelativeWheelY(INT64_MAX)
{
if (s_mouse)
{
throw std::exception("Mouse is a singleton");
}
s_mouse = this;
ThrowIfFailed(GameInputCreate(mGameInput.GetAddressOf()));
ThrowIfFailed(mGameInput->RegisterDeviceCallback(
nullptr,
GameInputKindMouse,
GameInputDeviceConnected,
GameInputBlockingEnumeration,
this,
OnGameInputDevice,
&mDeviceToken));
mScrollWheelValue.reset(CreateEventEx(nullptr, nullptr, CREATE_EVENT_MANUAL_RESET, EVENT_MODIFY_STATE | SYNCHRONIZE));
if (!mScrollWheelValue)
{
throw std::exception("CreateEventEx");
}
}
Impl(Impl&&) = default;
Impl& operator= (Impl&&) = default;
Impl(Impl const&) = delete;
Impl& operator= (Impl const&) = delete;
~Impl()
{
if (mDeviceToken)
{
if (mGameInput)
{
HRESULT hr = mGameInput->UnregisterCallback(mDeviceToken, UINT64_MAX);
if (FAILED(hr))
{
DebugTrace("ERROR: GameInput::UnregisterCallback [mouse] failed (%08X)", static_cast<unsigned int>(hr));
}
}
mDeviceToken = 0;
}
s_mouse = nullptr;
}
void GetState(State& state) const
{
memcpy(&state, &mState, sizeof(State));
state.positionMode = mMode;
DWORD result = WaitForSingleObjectEx(mScrollWheelValue.get(), 0, FALSE);
if (result == WAIT_FAILED)
throw std::exception("WaitForSingleObjectEx");
if (result == WAIT_OBJECT_0)
{
mScrollWheelCurrent = 0;
}
if (state.positionMode == MODE_RELATIVE)
{
state.x = state.y = 0;
ComPtr<IGameInputReading> reading;
if (SUCCEEDED(mGameInput->GetCurrentReading(GameInputKindMouse, nullptr, reading.GetAddressOf())))
{
GameInputMouseState mouse;
if (reading->GetMouseState(&mouse))
{
state.leftButton = (mouse.buttons & GameInputMouseLeftButton) != 0;
state.middleButton = (mouse.buttons & GameInputMouseMiddleButton) != 0;
state.rightButton = (mouse.buttons & GameInputMouseRightButton) != 0;
state.xButton1 = (mouse.buttons & GameInputMouseButton4) != 0;
state.xButton2 = (mouse.buttons & GameInputMouseButton5) != 0;
if (mRelativeX != INT64_MAX)
{
state.x = static_cast<int>(mouse.positionX - mRelativeX);
state.y = static_cast<int>(mouse.positionY - mRelativeY);
int scrollDelta = static_cast<int>(mouse.wheelY - mRelativeWheelY);
mScrollWheelCurrent += scrollDelta;
}
mRelativeX = mouse.positionX;
mRelativeY = mouse.positionY;
mRelativeWheelY = mouse.wheelY;
}
}
}
state.scrollWheelValue = mScrollWheelCurrent;
}
void ResetScrollWheelValue() noexcept
{
SetEvent(mScrollWheelValue.get());
}
void SetMode(Mode mode)
{
if (mMode == mode)
return;
mMode = mode;
mRelativeX = INT64_MAX;
mRelativeY = INT64_MAX;
mRelativeWheelY = INT64_MAX;
ShowCursor((mode == MODE_ABSOLUTE) ? TRUE : FALSE);
}
bool IsConnected() const noexcept
{
return mConnected > 0;
}
bool IsVisible() const noexcept
{
if (mMode == MODE_RELATIVE)
return false;
CURSORINFO info = { sizeof(CURSORINFO), 0, nullptr, {} };
if (!GetCursorInfo(&info))
return false;
return (info.flags & CURSOR_SHOWING) != 0;
}
void SetVisible(bool visible)
{
if (mMode == MODE_RELATIVE)
return;
CURSORINFO info = { sizeof(CURSORINFO), 0, nullptr, {} };
if (!GetCursorInfo(&info))
{
throw std::exception("GetCursorInfo");
}
bool isvisible = (info.flags & CURSOR_SHOWING) != 0;
if (isvisible != visible)
{
ShowCursor(visible);
}
}
State mState;
Mouse* mOwner;
bool mIs4k;
uint32_t mConnected;
static Mouse::Impl* s_mouse;
private:
ComPtr<IGameInput> mGameInput;
GameInputCallbackToken mDeviceToken;
Mode mMode;
ScopedHandle mScrollWheelValue;
mutable int mScrollWheelCurrent;
mutable int64_t mRelativeX;
mutable int64_t mRelativeY;
mutable int64_t mRelativeWheelY;
friend void Mouse::ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam);
static void CALLBACK OnGameInputDevice(
_In_ GameInputCallbackToken,
_In_ void * context,
_In_ IGameInputDevice *,
_In_ uint64_t,
_In_ GameInputDeviceStatus currentStatus,
_In_ GameInputDeviceStatus) noexcept
{
auto impl = reinterpret_cast<Mouse::Impl*>(context);
if (currentStatus & GameInputDeviceConnected)
{
++impl->mConnected;
}
else if (impl->mConnected > 0)
{
--impl->mConnected;
}
}
};
Mouse::Impl* Mouse::Impl::s_mouse = nullptr;
void Mouse::ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
auto pImpl = Impl::s_mouse;
if (!pImpl)
return;
DWORD result = WaitForSingleObjectEx(pImpl->mScrollWheelValue.get(), 0, FALSE);
if (result == WAIT_FAILED)
throw std::exception("WaitForSingleObjectEx");
if (result == WAIT_OBJECT_0)
{
pImpl->mScrollWheelCurrent = 0;
}
switch (message)
{
case WM_ACTIVATEAPP:
if (wParam)
{
if (pImpl->mMode == MODE_RELATIVE)
{
pImpl->mRelativeX = INT64_MAX;
pImpl->mRelativeY = INT64_MAX;
ShowCursor(FALSE);
}
}
else
{
memset(&pImpl->mState, 0, sizeof(State));
}
return;
case WM_MOUSEMOVE:
break;
case WM_LBUTTONDOWN:
pImpl->mState.leftButton = true;
break;
case WM_LBUTTONUP:
pImpl->mState.leftButton = false;
break;
case WM_RBUTTONDOWN:
pImpl->mState.rightButton = true;
break;
case WM_RBUTTONUP:
pImpl->mState.rightButton = false;
break;
case WM_MBUTTONDOWN:
pImpl->mState.middleButton = true;
break;
case WM_MBUTTONUP:
pImpl->mState.middleButton = false;
break;
case WM_MOUSEWHEEL:
if (pImpl->mMode == MODE_ABSOLUTE)
{
pImpl->mScrollWheelCurrent += GET_WHEEL_DELTA_WPARAM(wParam);
}
return;
case WM_XBUTTONDOWN:
switch (GET_XBUTTON_WPARAM(wParam))
{
case XBUTTON1:
pImpl->mState.xButton1 = true;
break;
case XBUTTON2:
pImpl->mState.xButton2 = true;
break;
}
break;
case WM_XBUTTONUP:
switch (GET_XBUTTON_WPARAM(wParam))
{
case XBUTTON1:
pImpl->mState.xButton1 = false;
break;
case XBUTTON2:
pImpl->mState.xButton2 = false;
break;
}
break;
default:
// Not a mouse message, so exit
return;
}
if (pImpl->mMode == MODE_ABSOLUTE)
{
// All mouse messages provide a new pointer position
int xPos = static_cast<short>(LOWORD(lParam)); // GET_X_LPARAM(lParam);
int yPos = static_cast<short>(HIWORD(lParam)); // GET_Y_LPARAM(lParam);
if (pImpl->mIs4k)
{
pImpl->mState.x = static_cast<int>(xPos) * 2;
pImpl->mState.y = static_cast<int>(yPos) * 2;
}
else
{
pImpl->mState.x = static_cast<int>(xPos);
pImpl->mState.y = static_cast<int>(yPos);
}
}
}
void Mouse::SetResolution(bool use4k)
{
auto pImpl = Impl::s_mouse;
if (!pImpl)
return;
pImpl->mIs4k = use4k;
}
#elif !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
//======================================================================================
// Win32 desktop implementation
@ -57,7 +433,7 @@ using Microsoft::WRL::ComPtr;
class Mouse::Impl
{
public:
Impl(Mouse* owner) :
explicit Impl(Mouse* owner) noexcept(false) :
mState{},
mOwner(owner),
mWindow(nullptr),
@ -162,16 +538,14 @@ public:
return GetSystemMetrics(SM_MOUSEPRESENT) != 0;
}
bool IsVisible() const
bool IsVisible() const noexcept
{
if (mMode == MODE_RELATIVE)
return false;
CURSORINFO info = { sizeof(CURSORINFO), 0, nullptr, {} };
if (!GetCursorInfo(&info))
{
throw std::exception("GetCursorInfo");
}
return false;
return (info.flags & CURSOR_SHOWING) != 0;
}
@ -496,7 +870,7 @@ void Mouse::ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam)
class Mouse::Impl
{
public:
Impl(Mouse* owner) :
explicit Impl(Mouse* owner) noexcept(false) :
mOwner(owner)
{
if (s_mouse)
@ -530,7 +904,7 @@ public:
return false;
}
bool IsVisible() const
bool IsVisible() const noexcept
{
return false;
}
@ -561,7 +935,7 @@ Mouse::Impl* Mouse::Impl::s_mouse = nullptr;
// {
// m_mouse->SetWindow(window);
// }
//
//
// void App::OnDpiChanged(DisplayInformation^ sender, Object^ args)
// {
// m_mouse->SetDpi(sender->LogicalDpi);
@ -573,7 +947,7 @@ Mouse::Impl* Mouse::Impl::s_mouse = nullptr;
class Mouse::Impl
{
public:
Impl(Mouse* owner) :
explicit Impl(Mouse* owner) noexcept(false) :
mState{},
mOwner(owner),
mDPI(96.f),
@ -717,14 +1091,14 @@ public:
return false;
}
bool IsVisible() const
bool IsVisible() const noexcept
{
if (mMode == MODE_RELATIVE)
return false;
ComPtr<ABI::Windows::UI::Core::ICoreCursor> cursor;
HRESULT hr = mWindow->get_PointerCursor(cursor.GetAddressOf());
ThrowIfFailed(hr);
if (FAILED(mWindow->get_PointerCursor(cursor.GetAddressOf())))
return false;
return cursor != 0;
}
@ -1076,7 +1450,7 @@ bool Mouse::IsConnected() const
return pImpl->IsConnected();
}
bool Mouse::IsVisible() const
bool Mouse::IsVisible() const noexcept
{
return pImpl->IsVisible();
}

Просмотреть файл

@ -42,9 +42,9 @@ struct NormalMapEffectTraits
{
using ConstantBufferType = NormalMapEffectConstants;
static const int VertexShaderCount = 4;
static const int PixelShaderCount = 4;
static const int ShaderPermutationCount = 16;
static constexpr int VertexShaderCount = 4;
static constexpr int PixelShaderCount = 4;
static constexpr int ShaderPermutationCount = 16;
};

Просмотреть файл

@ -44,10 +44,10 @@ struct PBREffectTraits
{
using ConstantBufferType = PBREffectConstants;
static const int VertexShaderCount = 4;
static const int PixelShaderCount = 5;
static const int ShaderPermutationCount = 10;
static const int RootSignatureCount = 1;
static constexpr int VertexShaderCount = 4;
static constexpr int PixelShaderCount = 5;
static constexpr int ShaderPermutationCount = 10;
static constexpr int RootSignatureCount = 1;
};

Просмотреть файл

@ -38,6 +38,8 @@ namespace DirectX
return s_str;
}
HRESULT get_result() const noexcept { return result; }
private:
HRESULT result;
};

Просмотреть файл

@ -68,11 +68,11 @@ namespace
{
// Helper for creating a D3D vertex or index buffer.
#if defined(_XBOX_ONE) && defined(_TITLE)
void CreateBuffer(_In_ ID3D11DeviceX* device, size_t bufferSize, D3D11_BIND_FLAG bindFlag, _Out_ ID3D11Buffer** pBuffer)
void CreateDynamicBuffer(_In_ ID3D11DeviceX* device, uint32_t bufferSize, D3D11_BIND_FLAG bindFlag, _Outptr_ ID3D11Buffer** pBuffer)
{
D3D11_BUFFER_DESC desc = {};
desc.ByteWidth = static_cast<UINT>(bufferSize);
desc.ByteWidth = bufferSize;
desc.BindFlags = bindFlag;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
@ -84,11 +84,11 @@ namespace
SetDebugObjectName(*pBuffer, "DirectXTK:PrimitiveBatch");
}
#else
void CreateBuffer(_In_ ID3D11Device* device, size_t bufferSize, D3D11_BIND_FLAG bindFlag, _Out_ ID3D11Buffer** pBuffer)
void CreateDynamicBuffer(_In_ ID3D11Device* device, uint32_t bufferSize, D3D11_BIND_FLAG bindFlag, _Outptr_ ID3D11Buffer** pBuffer)
{
D3D11_BUFFER_DESC desc = {};
desc.ByteWidth = static_cast<UINT>(bufferSize);
desc.ByteWidth = bufferSize;
desc.BindFlags = bindFlag;
desc.Usage = D3D11_USAGE_DYNAMIC;
desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
@ -135,10 +135,14 @@ PrimitiveBatchBase::Impl::Impl(_In_ ID3D11DeviceContext* deviceContext, size_t m
if (vertexSize > D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES)
throw std::exception("Vertex size is too large for DirectX 11");
if ((uint64_t(maxIndices) * sizeof(uint16_t)) > uint64_t(D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM * 1024u * 1024u))
uint64_t ibBytes = uint64_t(maxIndices) * sizeof(uint16_t);
if (ibBytes > uint64_t(D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM * 1024u * 1024u)
|| ibBytes > UINT32_MAX)
throw std::exception("IB too large for DirectX 11");
if ((uint64_t(maxVertices) * uint64_t(vertexSize)) > uint64_t(D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM * 1024u * 1024u))
uint64_t vbBytes = uint64_t(maxVertices) * uint64_t(vertexSize);
if (vbBytes > uint64_t(D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM * 1024u * 1024u)
|| vbBytes > UINT32_MAX)
throw std::exception("VB too large for DirectX 11");
#if defined(_XBOX_ONE) && defined(_TITLE)
@ -150,11 +154,11 @@ PrimitiveBatchBase::Impl::Impl(_In_ ID3D11DeviceContext* deviceContext, size_t m
// If you only intend to draw non-indexed geometry, specify maxIndices = 0 to skip creating the index buffer.
if (maxIndices > 0)
{
CreateBuffer(deviceX.Get(), maxIndices * sizeof(uint16_t), D3D11_BIND_INDEX_BUFFER, &mIndexBuffer);
CreateDynamicBuffer(deviceX.Get(), static_cast<uint32_t>(ibBytes), D3D11_BIND_INDEX_BUFFER, &mIndexBuffer);
}
// Create the vertex buffer.
CreateBuffer(deviceX.Get(), maxVertices * vertexSize, D3D11_BIND_VERTEX_BUFFER, &mVertexBuffer);
CreateDynamicBuffer(deviceX.Get(), static_cast<uint32_t>(vbBytes), D3D11_BIND_VERTEX_BUFFER, &mVertexBuffer);
grfxMemoryIB = grfxMemoryVB = nullptr;
#else
@ -163,11 +167,11 @@ PrimitiveBatchBase::Impl::Impl(_In_ ID3D11DeviceContext* deviceContext, size_t m
// If you only intend to draw non-indexed geometry, specify maxIndices = 0 to skip creating the index buffer.
if (maxIndices > 0)
{
CreateBuffer(device.Get(), maxIndices * sizeof(uint16_t), D3D11_BIND_INDEX_BUFFER, &mIndexBuffer);
CreateDynamicBuffer(device.Get(), static_cast<uint32_t>(ibBytes), D3D11_BIND_INDEX_BUFFER, &mIndexBuffer);
}
// Create the vertex buffer.
CreateBuffer(device.Get(), maxVertices * vertexSize, D3D11_BIND_VERTEX_BUFFER, &mVertexBuffer);
CreateDynamicBuffer(device.Get(), static_cast<uint32_t>(vbBytes), D3D11_BIND_VERTEX_BUFFER, &mVertexBuffer);
#endif
}

Просмотреть файл

@ -15,6 +15,7 @@
#pragma once
#include <cstdint>
namespace DXUT
{
@ -105,24 +106,22 @@ namespace DXUT
//--------------------------------------------------------------------------------------
// Hard Defines for the various structures
//--------------------------------------------------------------------------------------
const uint32_t SDKMESH_FILE_VERSION = 101;
const uint32_t SDKMESH_FILE_VERSION_V2 = 200;
constexpr uint32_t SDKMESH_FILE_VERSION = 101;
constexpr uint32_t SDKMESH_FILE_VERSION_V2 = 200;
const uint32_t MAX_VERTEX_ELEMENTS = 32;
const uint32_t MAX_VERTEX_STREAMS = 16;
const uint32_t MAX_FRAME_NAME = 100;
const uint32_t MAX_MESH_NAME = 100;
const uint32_t MAX_SUBSET_NAME = 100;
const uint32_t MAX_MATERIAL_NAME = 100;
const uint32_t MAX_TEXTURE_NAME = MAX_PATH;
const uint32_t MAX_MATERIAL_PATH = MAX_PATH;
const uint32_t INVALID_FRAME = uint32_t(-1);
const uint32_t INVALID_MESH = uint32_t(-1);
const uint32_t INVALID_MATERIAL = uint32_t(-1);
const uint32_t INVALID_SUBSET = uint32_t(-1);
const uint32_t INVALID_ANIMATION_DATA = uint32_t(-1);
const uint32_t INVALID_SAMPLER_SLOT = uint32_t(-1);
const uint32_t ERROR_RESOURCE_VALUE = 1;
constexpr uint32_t MAX_VERTEX_ELEMENTS = 32;
constexpr uint32_t MAX_VERTEX_STREAMS = 16;
constexpr uint32_t MAX_FRAME_NAME = 100;
constexpr uint32_t MAX_MESH_NAME = 100;
constexpr uint32_t MAX_SUBSET_NAME = 100;
constexpr uint32_t MAX_MATERIAL_NAME = 100;
constexpr uint32_t MAX_TEXTURE_NAME = MAX_PATH;
constexpr uint32_t MAX_MATERIAL_PATH = MAX_PATH;
constexpr uint32_t INVALID_FRAME = uint32_t(-1);
constexpr uint32_t INVALID_MESH = uint32_t(-1);
constexpr uint32_t INVALID_MATERIAL = uint32_t(-1);
constexpr uint32_t INVALID_SUBSET = uint32_t(-1);
constexpr uint32_t INVALID_ANIMATION_DATA = uint32_t(-1);
//--------------------------------------------------------------------------------------
// Enumerated Types.

Просмотреть файл

@ -349,7 +349,7 @@ HRESULT DirectX::SaveWICTextureToFile(
const wchar_t* fileName,
const GUID* targetFormat,
std::function<void(IPropertyBag2*)> setCustomProps,
bool forceSRGB) noexcept
bool forceSRGB)
{
if (!fileName)
return E_INVALIDARG;

Просмотреть файл

@ -30,7 +30,7 @@ goto continue
:continuepc
set PCDXC="%WindowsSdkVerBinPath%\x86\fxc.exe"
set PCFXC="%WindowsSdkVerBinPath%x86\fxc.exe"
if exist %PCFXC% goto continue
set PCFXC="%WindowsSdkBinPath%%WindowsSDKVersion%\x86\fxc.exe"
if exist %PCFXC% goto continue
@ -118,6 +118,8 @@ call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapOneLightFresnel
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapOneLightFresnelBn
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapPixelLighting
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapPixelLightingBn
call :CompileShaderSM4%1 EnvironmentMapEffect vs VSEnvMapPixelLightingSM4
call :CompileShaderSM4%1 EnvironmentMapEffect vs VSEnvMapPixelLightingBnSM4
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMap
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapNoFog
@ -128,6 +130,16 @@ call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingNoFog
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingFresnel
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingFresnelNoFog
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLighting
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLightingNoFog
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLightingFresnel
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLightingFresnelNoFog
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLighting
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLightingNoFog
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLightingFresnel
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLightingFresnelNoFog
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingOneBone
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingOneBoneBn
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingTwoBones

Просмотреть файл

@ -1,343 +0,0 @@
#if 0
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// COLOR 1 xyzw 1 NONE float w
// TEXCOORD 0 xy 2 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
//
// Constant buffer to DX9 shader constant mappings:
//
// Target Reg Buffer Start Reg # of Regs Data Conversion
// ---------- ------- --------- --------- ----------------------
// c0 cb0 1 2 ( FLT, FLT, FLT, FLT)
//
//
// Sampler/Resource to DX9 shader sampler mappings:
//
// Target Sampler Source Sampler Source Resource
// -------------- --------------- ----------------
// s0 s0 t0
//
//
// Level9 shader bytecode:
//
ps_2_0
dcl t0 // pin<0,1,2,3>
dcl t1 // pin<4,5,6,7>
dcl t2.xy // pin<8,9>
dcl_2d s0
#line 111 "D:\ATG\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx"
texld r0, t2, s0
mad r1.w, r0.w, t0.w, -c0.x
mul r0, r0, t0 // ::color<0,1,2,3>
abs r1.x, r1.w
add r1.x, r1.x, -c0.y
cmp r1, r1.x, c0.w, c0.z
texkill r1
#line 18 "D:\ATG\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh"
mad r1.xyz, c1, r0.w, -r0
mad r0.xyz, t1.w, r1, r0 // ApplyFog::color<0,1,2>
mov oC0, r0 // ::PSAlphaTestEqNe<0,1,2,3>
// approximately 10 instruction slots used (1 texture, 9 arithmetic)
ps_4_0
dcl_constantbuffer CB0[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.w
dcl_input_ps linear v2.xy
dcl_output o0.xyzw
dcl_temps 2
sample r0.xyzw, v2.xyxx, t0.xyzw, s0
mad r1.x, r0.w, v0.w, -cb0[1].x
mul r0.xyzw, r0.xyzw, v0.xyzw
lt r1.x, |r1.x|, cb0[1].y
movc r1.x, r1.x, cb0[1].z, cb0[1].w
lt r1.x, r1.x, l(0.000000)
discard_nz r1.x
mad r1.xyz, cb0[2].xyzx, r0.wwww, -r0.xyzx
mad o0.xyz, v1.wwww, r1.xyzx, r0.xyzx
mov o0.w, r0.w
ret
// Approximately 0 instruction slots used
#endif
const BYTE AlphaTestEffect_PSAlphaTestEqNe[] =
{
68, 88, 66, 67, 65, 153,
224, 77, 127, 159, 122, 32,
3, 97, 172, 234, 185, 5,
105, 111, 1, 0, 0, 0,
16, 6, 0, 0, 4, 0,
0, 0, 48, 0, 0, 0,
180, 3, 0, 0, 116, 5,
0, 0, 220, 5, 0, 0,
65, 111, 110, 57, 124, 3,
0, 0, 124, 3, 0, 0,
0, 2, 255, 255, 72, 3,
0, 0, 52, 0, 0, 0,
1, 0, 40, 0, 0, 0,
52, 0, 0, 0, 52, 0,
1, 0, 36, 0, 0, 0,
52, 0, 0, 0, 0, 0,
0, 0, 1, 0, 2, 0,
0, 0, 0, 0, 0, 0,
0, 2, 255, 255, 254, 255,
155, 0, 68, 66, 85, 71,
40, 0, 0, 0, 64, 2,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 152, 0,
0, 0, 14, 0, 0, 0,
160, 0, 0, 0, 4, 0,
0, 0, 240, 1, 0, 0,
16, 1, 0, 0, 68, 58,
92, 65, 84, 71, 92, 115,
116, 95, 100, 101, 118, 92,
75, 105, 116, 115, 92, 68,
105, 114, 101, 99, 116, 88,
84, 75, 92, 83, 114, 99,
92, 83, 104, 97, 100, 101,
114, 115, 92, 65, 108, 112,
104, 97, 84, 101, 115, 116,
69, 102, 102, 101, 99, 116,
46, 102, 120, 0, 68, 58,
92, 65, 84, 71, 92, 115,
116, 95, 100, 101, 118, 92,
75, 105, 116, 115, 92, 68,
105, 114, 101, 99, 116, 88,
84, 75, 92, 83, 114, 99,
92, 83, 104, 97, 100, 101,
114, 115, 92, 67, 111, 109,
109, 111, 110, 46, 102, 120,
104, 0, 40, 0, 0, 0,
100, 0, 0, 0, 0, 0,
255, 255, 116, 2, 0, 0,
0, 0, 255, 255, 128, 2,
0, 0, 0, 0, 255, 255,
140, 2, 0, 0, 0, 0,
255, 255, 152, 2, 0, 0,
111, 0, 0, 0, 164, 2,
0, 0, 113, 0, 0, 0,
180, 2, 0, 0, 111, 0,
0, 0, 200, 2, 0, 0,
113, 0, 0, 0, 216, 2,
0, 0, 113, 0, 0, 0,
228, 2, 0, 0, 113, 0,
0, 0, 244, 2, 0, 0,
113, 0, 0, 0, 8, 3,
0, 0, 18, 0, 1, 0,
16, 3, 0, 0, 18, 0,
1, 0, 36, 3, 0, 0,
18, 0, 1, 0, 56, 3,
0, 0, 80, 83, 65, 108,
112, 104, 97, 84, 101, 115,
116, 69, 113, 78, 101, 0,
1, 0, 3, 0, 1, 0,
4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 13, 0,
0, 0, 0, 0, 1, 0,
2, 0, 3, 0, 65, 112,
112, 108, 121, 70, 111, 103,
0, 99, 111, 108, 111, 114,
0, 171, 1, 0, 3, 0,
1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0,
12, 0, 0, 0, 0, 0,
1, 0, 2, 0, 255, 255,
6, 0, 0, 0, 0, 0,
1, 0, 2, 0, 3, 0,
112, 105, 110, 0, 68, 105,
102, 102, 117, 115, 101, 0,
83, 112, 101, 99, 117, 108,
97, 114, 0, 84, 101, 120,
67, 111, 111, 114, 100, 0,
171, 171, 1, 0, 3, 0,
1, 0, 2, 0, 1, 0,
0, 0, 0, 0, 0, 0,
120, 1, 0, 0, 76, 1,
0, 0, 128, 1, 0, 0,
76, 1, 0, 0, 137, 1,
0, 0, 148, 1, 0, 0,
5, 0, 0, 0, 1, 0,
10, 0, 1, 0, 3, 0,
164, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
2, 0, 3, 0, 1, 0,
0, 0, 4, 0, 5, 0,
6, 0, 7, 0, 2, 0,
0, 0, 8, 0, 9, 0,
255, 255, 255, 255, 0, 0,
0, 0, 16, 1, 0, 0,
32, 1, 0, 0, 1, 0,
0, 0, 48, 1, 0, 0,
60, 1, 0, 0, 69, 1,
0, 0, 76, 1, 0, 0,
1, 0, 0, 0, 92, 1,
0, 0, 0, 0, 0, 0,
69, 1, 0, 0, 76, 1,
0, 0, 1, 0, 0, 0,
104, 1, 0, 0, 16, 1,
0, 0, 116, 1, 0, 0,
188, 1, 0, 0, 3, 0,
0, 0, 204, 1, 0, 0,
77, 105, 99, 114, 111, 115,
111, 102, 116, 32, 40, 82,
41, 32, 72, 76, 83, 76,
32, 83, 104, 97, 100, 101,
114, 32, 67, 111, 109, 112,
105, 108, 101, 114, 32, 49,
48, 46, 49, 0, 31, 0,
0, 2, 0, 0, 0, 128,
0, 0, 15, 176, 31, 0,
0, 2, 0, 0, 0, 128,
1, 0, 15, 176, 31, 0,
0, 2, 0, 0, 0, 128,
2, 0, 3, 176, 31, 0,
0, 2, 0, 0, 0, 144,
0, 8, 15, 160, 66, 0,
0, 3, 0, 0, 15, 128,
2, 0, 228, 176, 0, 8,
228, 160, 4, 0, 0, 4,
1, 0, 8, 128, 0, 0,
255, 128, 0, 0, 255, 176,
0, 0, 0, 161, 5, 0,
0, 3, 0, 0, 15, 128,
0, 0, 228, 128, 0, 0,
228, 176, 35, 0, 0, 2,
1, 0, 1, 128, 1, 0,
255, 128, 2, 0, 0, 3,
1, 0, 1, 128, 1, 0,
0, 128, 0, 0, 85, 161,
88, 0, 0, 4, 1, 0,
15, 128, 1, 0, 0, 128,
0, 0, 255, 160, 0, 0,
170, 160, 65, 0, 0, 1,
1, 0, 15, 128, 4, 0,
0, 4, 1, 0, 7, 128,
1, 0, 228, 160, 0, 0,
255, 128, 0, 0, 228, 129,
4, 0, 0, 4, 0, 0,
7, 128, 1, 0, 255, 176,
1, 0, 228, 128, 0, 0,
228, 128, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 128, 255, 255, 0, 0,
83, 72, 68, 82, 184, 1,
0, 0, 64, 0, 0, 0,
110, 0, 0, 0, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 3, 0,
0, 0, 90, 0, 0, 3,
0, 96, 16, 0, 0, 0,
0, 0, 88, 24, 0, 4,
0, 112, 16, 0, 0, 0,
0, 0, 85, 85, 0, 0,
98, 16, 0, 3, 242, 16,
16, 0, 0, 0, 0, 0,
98, 16, 0, 3, 130, 16,
16, 0, 1, 0, 0, 0,
98, 16, 0, 3, 50, 16,
16, 0, 2, 0, 0, 0,
101, 0, 0, 3, 242, 32,
16, 0, 0, 0, 0, 0,
104, 0, 0, 2, 2, 0,
0, 0, 69, 0, 0, 9,
242, 0, 16, 0, 0, 0,
0, 0, 70, 16, 16, 0,
2, 0, 0, 0, 70, 126,
16, 0, 0, 0, 0, 0,
0, 96, 16, 0, 0, 0,
0, 0, 50, 0, 0, 11,
18, 0, 16, 0, 1, 0,
0, 0, 58, 0, 16, 0,
0, 0, 0, 0, 58, 16,
16, 0, 0, 0, 0, 0,
10, 128, 32, 128, 65, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 56, 0,
0, 7, 242, 0, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 0, 0, 0, 0,
70, 30, 16, 0, 0, 0,
0, 0, 49, 0, 0, 9,
18, 0, 16, 0, 1, 0,
0, 0, 10, 0, 16, 128,
129, 0, 0, 0, 1, 0,
0, 0, 26, 128, 32, 0,
0, 0, 0, 0, 1, 0,
0, 0, 55, 0, 0, 11,
18, 0, 16, 0, 1, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 42, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 58, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 49, 0,
0, 7, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
16, 0, 1, 0, 0, 0,
1, 64, 0, 0, 0, 0,
0, 0, 13, 0, 4, 3,
10, 0, 16, 0, 1, 0,
0, 0, 50, 0, 0, 11,
114, 0, 16, 0, 1, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 2, 0,
0, 0, 246, 15, 16, 0,
0, 0, 0, 0, 70, 2,
16, 128, 65, 0, 0, 0,
0, 0, 0, 0, 50, 0,
0, 9, 114, 32, 16, 0,
0, 0, 0, 0, 246, 31,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 54, 0,
0, 5, 130, 32, 16, 0,
0, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
62, 0, 0, 1, 73, 83,
71, 78, 96, 0, 0, 0,
3, 0, 0, 0, 8, 0,
0, 0, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 15,
0, 0, 80, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
1, 0, 0, 0, 15, 8,
0, 0, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
2, 0, 0, 0, 3, 3,
0, 0, 67, 79, 76, 79,
82, 0, 84, 69, 88, 67,
79, 79, 82, 68, 0, 171,
79, 83, 71, 78, 44, 0,
0, 0, 1, 0, 0, 0,
8, 0, 0, 0, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 83, 86,
95, 84, 97, 114, 103, 101,
116, 0, 171, 171
};

Двоичный файл не отображается.

Просмотреть файл

@ -1,283 +0,0 @@
#if 0
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
//
// Constant buffer to DX9 shader constant mappings:
//
// Target Reg Buffer Start Reg # of Regs Data Conversion
// ---------- ------- --------- --------- ----------------------
// c0 cb0 1 1 ( FLT, FLT, FLT, FLT)
//
//
// Sampler/Resource to DX9 shader sampler mappings:
//
// Target Sampler Source Sampler Source Resource
// -------------- --------------- ----------------
// s0 s0 t0
//
//
// Level9 shader bytecode:
//
ps_2_0
dcl t0 // pin<0,1,2,3>
dcl t1.xy // pin<4,5>
dcl_2d s0
#line 124 "D:\ATG\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx"
texld r0, t1, s0
mad r1.w, r0.w, t0.w, -c0.x
mul r0, r0, t0 // ::color<0,1,2,3>
mov oC0, r0 // ::PSAlphaTestEqNeNoFog<0,1,2,3>
abs r0.x, r1.w
add r0.x, r0.x, -c0.y
cmp r0, r0.x, c0.w, c0.z
texkill r0
// approximately 8 instruction slots used (1 texture, 7 arithmetic)
ps_4_0
dcl_constantbuffer CB0[2], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 2
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
mad r1.x, r0.w, v0.w, -cb0[1].x
mul r0.xyzw, r0.xyzw, v0.xyzw
mov o0.xyzw, r0.xyzw
lt r0.x, |r1.x|, cb0[1].y
movc r0.x, r0.x, cb0[1].z, cb0[1].w
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
ret
// Approximately 0 instruction slots used
#endif
const BYTE AlphaTestEffect_PSAlphaTestEqNeNoFog[] =
{
68, 88, 66, 67, 51, 166,
176, 29, 155, 181, 178, 64,
208, 217, 33, 166, 4, 202,
58, 59, 1, 0, 0, 0,
220, 4, 0, 0, 4, 0,
0, 0, 48, 0, 0, 0,
244, 2, 0, 0, 88, 4,
0, 0, 168, 4, 0, 0,
65, 111, 110, 57, 188, 2,
0, 0, 188, 2, 0, 0,
0, 2, 255, 255, 136, 2,
0, 0, 52, 0, 0, 0,
1, 0, 40, 0, 0, 0,
52, 0, 0, 0, 52, 0,
1, 0, 36, 0, 0, 0,
52, 0, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 2, 255, 255, 254, 255,
120, 0, 68, 66, 85, 71,
40, 0, 0, 0, 180, 1,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 100, 0,
0, 0, 11, 0, 0, 0,
104, 0, 0, 0, 3, 0,
0, 0, 120, 1, 0, 0,
192, 0, 0, 0, 68, 58,
92, 65, 84, 71, 92, 115,
116, 95, 100, 101, 118, 92,
75, 105, 116, 115, 92, 68,
105, 114, 101, 99, 116, 88,
84, 75, 92, 83, 114, 99,
92, 83, 104, 97, 100, 101,
114, 115, 92, 65, 108, 112,
104, 97, 84, 101, 115, 116,
69, 102, 102, 101, 99, 116,
46, 102, 120, 0, 40, 0,
0, 0, 0, 0, 255, 255,
232, 1, 0, 0, 0, 0,
255, 255, 244, 1, 0, 0,
0, 0, 255, 255, 0, 2,
0, 0, 124, 0, 0, 0,
12, 2, 0, 0, 126, 0,
0, 0, 28, 2, 0, 0,
124, 0, 0, 0, 48, 2,
0, 0, 124, 0, 0, 0,
64, 2, 0, 0, 126, 0,
0, 0, 76, 2, 0, 0,
126, 0, 0, 0, 88, 2,
0, 0, 126, 0, 0, 0,
104, 2, 0, 0, 126, 0,
0, 0, 124, 2, 0, 0,
80, 83, 65, 108, 112, 104,
97, 84, 101, 115, 116, 69,
113, 78, 101, 78, 111, 70,
111, 103, 0, 171, 171, 171,
1, 0, 3, 0, 1, 0,
4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 6, 0,
0, 0, 0, 0, 1, 0,
2, 0, 3, 0, 99, 111,
108, 111, 114, 0, 171, 171,
1, 0, 3, 0, 1, 0,
4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 5, 0,
0, 0, 0, 0, 1, 0,
2, 0, 3, 0, 112, 105,
110, 0, 68, 105, 102, 102,
117, 115, 101, 0, 84, 101,
120, 67, 111, 111, 114, 100,
0, 171, 171, 171, 1, 0,
3, 0, 1, 0, 2, 0,
1, 0, 0, 0, 0, 0,
0, 0, 28, 1, 0, 0,
252, 0, 0, 0, 36, 1,
0, 0, 48, 1, 0, 0,
5, 0, 0, 0, 1, 0,
6, 0, 1, 0, 2, 0,
64, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
2, 0, 3, 0, 1, 0,
0, 0, 4, 0, 5, 0,
255, 255, 255, 255, 0, 0,
0, 0, 192, 0, 0, 0,
216, 0, 0, 0, 1, 0,
0, 0, 232, 0, 0, 0,
0, 0, 0, 0, 244, 0,
0, 0, 252, 0, 0, 0,
1, 0, 0, 0, 12, 1,
0, 0, 192, 0, 0, 0,
24, 1, 0, 0, 80, 1,
0, 0, 2, 0, 0, 0,
96, 1, 0, 0, 77, 105,
99, 114, 111, 115, 111, 102,
116, 32, 40, 82, 41, 32,
72, 76, 83, 76, 32, 83,
104, 97, 100, 101, 114, 32,
67, 111, 109, 112, 105, 108,
101, 114, 32, 49, 48, 46,
49, 0, 31, 0, 0, 2,
0, 0, 0, 128, 0, 0,
15, 176, 31, 0, 0, 2,
0, 0, 0, 128, 1, 0,
3, 176, 31, 0, 0, 2,
0, 0, 0, 144, 0, 8,
15, 160, 66, 0, 0, 3,
0, 0, 15, 128, 1, 0,
228, 176, 0, 8, 228, 160,
4, 0, 0, 4, 1, 0,
8, 128, 0, 0, 255, 128,
0, 0, 255, 176, 0, 0,
0, 161, 5, 0, 0, 3,
0, 0, 15, 128, 0, 0,
228, 128, 0, 0, 228, 176,
1, 0, 0, 2, 0, 8,
15, 128, 0, 0, 228, 128,
35, 0, 0, 2, 0, 0,
1, 128, 1, 0, 255, 128,
2, 0, 0, 3, 0, 0,
1, 128, 0, 0, 0, 128,
0, 0, 85, 161, 88, 0,
0, 4, 0, 0, 15, 128,
0, 0, 0, 128, 0, 0,
255, 160, 0, 0, 170, 160,
65, 0, 0, 1, 0, 0,
15, 128, 255, 255, 0, 0,
83, 72, 68, 82, 92, 1,
0, 0, 64, 0, 0, 0,
87, 0, 0, 0, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 2, 0,
0, 0, 90, 0, 0, 3,
0, 96, 16, 0, 0, 0,
0, 0, 88, 24, 0, 4,
0, 112, 16, 0, 0, 0,
0, 0, 85, 85, 0, 0,
98, 16, 0, 3, 242, 16,
16, 0, 0, 0, 0, 0,
98, 16, 0, 3, 50, 16,
16, 0, 1, 0, 0, 0,
101, 0, 0, 3, 242, 32,
16, 0, 0, 0, 0, 0,
104, 0, 0, 2, 2, 0,
0, 0, 69, 0, 0, 9,
242, 0, 16, 0, 0, 0,
0, 0, 70, 16, 16, 0,
1, 0, 0, 0, 70, 126,
16, 0, 0, 0, 0, 0,
0, 96, 16, 0, 0, 0,
0, 0, 50, 0, 0, 11,
18, 0, 16, 0, 1, 0,
0, 0, 58, 0, 16, 0,
0, 0, 0, 0, 58, 16,
16, 0, 0, 0, 0, 0,
10, 128, 32, 128, 65, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 56, 0,
0, 7, 242, 0, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 0, 0, 0, 0,
70, 30, 16, 0, 0, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
0, 0, 0, 0, 49, 0,
0, 9, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 128, 129, 0, 0, 0,
1, 0, 0, 0, 26, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 55, 0,
0, 11, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
42, 128, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
58, 128, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
49, 0, 0, 7, 18, 0,
16, 0, 0, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 0, 0, 0, 13, 0,
4, 3, 10, 0, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 73, 83, 71, 78,
72, 0, 0, 0, 2, 0,
0, 0, 8, 0, 0, 0,
56, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 15, 0, 0,
62, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 1, 0,
0, 0, 3, 3, 0, 0,
67, 79, 76, 79, 82, 0,
84, 69, 88, 67, 79, 79,
82, 68, 0, 171, 79, 83,
71, 78, 44, 0, 0, 0,
1, 0, 0, 0, 8, 0,
0, 0, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 84,
97, 114, 103, 101, 116, 0,
171, 171
};

Двоичный файл не отображается.

Просмотреть файл

@ -1,325 +0,0 @@
#if 0
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// COLOR 1 xyzw 1 NONE float w
// TEXCOORD 0 xy 2 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
//
// Constant buffer to DX9 shader constant mappings:
//
// Target Reg Buffer Start Reg # of Regs Data Conversion
// ---------- ------- --------- --------- ----------------------
// c0 cb0 1 2 ( FLT, FLT, FLT, FLT)
//
//
// Sampler/Resource to DX9 shader sampler mappings:
//
// Target Sampler Source Sampler Source Resource
// -------------- --------------- ----------------
// s0 s0 t0
//
//
// Level9 shader bytecode:
//
ps_2_0
dcl t0 // pin<0,1,2,3>
dcl t1 // pin<4,5,6,7>
dcl t2.xy // pin<8,9>
dcl_2d s0
#line 87 "D:\ATG\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx"
texld r0, t2, s0
mad r1.w, r0.w, t0.w, -c0.x
mul r0, r0, t0 // ::color<0,1,2,3>
cmp r1, r1.w, c0.w, c0.z
texkill r1
#line 18 "D:\ATG\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh"
mad r1.xyz, c1, r0.w, -r0
mad r0.xyz, t1.w, r1, r0 // ApplyFog::color<0,1,2>
mov oC0, r0 // ::PSAlphaTestLtGt<0,1,2,3>
// approximately 8 instruction slots used (1 texture, 7 arithmetic)
ps_4_0
dcl_constantbuffer CB0[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.w
dcl_input_ps linear v2.xy
dcl_output o0.xyzw
dcl_temps 2
sample r0.xyzw, v2.xyxx, t0.xyzw, s0
mul r0.xyzw, r0.xyzw, v0.xyzw
lt r1.x, r0.w, cb0[1].x
movc r1.x, r1.x, cb0[1].z, cb0[1].w
lt r1.x, r1.x, l(0.000000)
discard_nz r1.x
mad r1.xyz, cb0[2].xyzx, r0.wwww, -r0.xyzx
mad o0.xyz, v1.wwww, r1.xyzx, r0.xyzx
mov o0.w, r0.w
ret
// Approximately 0 instruction slots used
#endif
const BYTE AlphaTestEffect_PSAlphaTestLtGt[] =
{
68, 88, 66, 67, 98, 25,
91, 169, 6, 124, 199, 15,
68, 135, 172, 93, 172, 15,
224, 179, 1, 0, 0, 0,
180, 5, 0, 0, 4, 0,
0, 0, 48, 0, 0, 0,
136, 3, 0, 0, 24, 5,
0, 0, 128, 5, 0, 0,
65, 111, 110, 57, 80, 3,
0, 0, 80, 3, 0, 0,
0, 2, 255, 255, 28, 3,
0, 0, 52, 0, 0, 0,
1, 0, 40, 0, 0, 0,
52, 0, 0, 0, 52, 0,
1, 0, 36, 0, 0, 0,
52, 0, 0, 0, 0, 0,
0, 0, 1, 0, 2, 0,
0, 0, 0, 0, 0, 0,
0, 2, 255, 255, 254, 255,
151, 0, 68, 66, 85, 71,
40, 0, 0, 0, 48, 2,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 152, 0,
0, 0, 12, 0, 0, 0,
160, 0, 0, 0, 4, 0,
0, 0, 224, 1, 0, 0,
0, 1, 0, 0, 68, 58,
92, 65, 84, 71, 92, 115,
116, 95, 100, 101, 118, 92,
75, 105, 116, 115, 92, 68,
105, 114, 101, 99, 116, 88,
84, 75, 92, 83, 114, 99,
92, 83, 104, 97, 100, 101,
114, 115, 92, 65, 108, 112,
104, 97, 84, 101, 115, 116,
69, 102, 102, 101, 99, 116,
46, 102, 120, 0, 68, 58,
92, 65, 84, 71, 92, 115,
116, 95, 100, 101, 118, 92,
75, 105, 116, 115, 92, 68,
105, 114, 101, 99, 116, 88,
84, 75, 92, 83, 114, 99,
92, 83, 104, 97, 100, 101,
114, 115, 92, 67, 111, 109,
109, 111, 110, 46, 102, 120,
104, 0, 40, 0, 0, 0,
100, 0, 0, 0, 0, 0,
255, 255, 100, 2, 0, 0,
0, 0, 255, 255, 112, 2,
0, 0, 0, 0, 255, 255,
124, 2, 0, 0, 0, 0,
255, 255, 136, 2, 0, 0,
87, 0, 0, 0, 148, 2,
0, 0, 89, 0, 0, 0,
164, 2, 0, 0, 87, 0,
0, 0, 184, 2, 0, 0,
89, 0, 0, 0, 200, 2,
0, 0, 89, 0, 0, 0,
220, 2, 0, 0, 18, 0,
1, 0, 228, 2, 0, 0,
18, 0, 1, 0, 248, 2,
0, 0, 18, 0, 1, 0,
12, 3, 0, 0, 80, 83,
65, 108, 112, 104, 97, 84,
101, 115, 116, 76, 116, 71,
116, 0, 1, 0, 3, 0,
1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0,
11, 0, 0, 0, 0, 0,
1, 0, 2, 0, 3, 0,
65, 112, 112, 108, 121, 70,
111, 103, 0, 99, 111, 108,
111, 114, 0, 171, 1, 0,
3, 0, 1, 0, 4, 0,
1, 0, 0, 0, 0, 0,
0, 0, 10, 0, 0, 0,
0, 0, 1, 0, 2, 0,
255, 255, 6, 0, 0, 0,
0, 0, 1, 0, 2, 0,
3, 0, 112, 105, 110, 0,
68, 105, 102, 102, 117, 115,
101, 0, 83, 112, 101, 99,
117, 108, 97, 114, 0, 84,
101, 120, 67, 111, 111, 114,
100, 0, 171, 171, 1, 0,
3, 0, 1, 0, 2, 0,
1, 0, 0, 0, 0, 0,
0, 0, 104, 1, 0, 0,
60, 1, 0, 0, 112, 1,
0, 0, 60, 1, 0, 0,
121, 1, 0, 0, 132, 1,
0, 0, 5, 0, 0, 0,
1, 0, 10, 0, 1, 0,
3, 0, 148, 1, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 2, 0, 3, 0,
1, 0, 0, 0, 4, 0,
5, 0, 6, 0, 7, 0,
2, 0, 0, 0, 8, 0,
9, 0, 255, 255, 255, 255,
0, 0, 0, 0, 0, 1,
0, 0, 16, 1, 0, 0,
1, 0, 0, 0, 32, 1,
0, 0, 44, 1, 0, 0,
53, 1, 0, 0, 60, 1,
0, 0, 1, 0, 0, 0,
76, 1, 0, 0, 0, 0,
0, 0, 53, 1, 0, 0,
60, 1, 0, 0, 1, 0,
0, 0, 88, 1, 0, 0,
0, 1, 0, 0, 100, 1,
0, 0, 172, 1, 0, 0,
3, 0, 0, 0, 188, 1,
0, 0, 77, 105, 99, 114,
111, 115, 111, 102, 116, 32,
40, 82, 41, 32, 72, 76,
83, 76, 32, 83, 104, 97,
100, 101, 114, 32, 67, 111,
109, 112, 105, 108, 101, 114,
32, 49, 48, 46, 49, 0,
31, 0, 0, 2, 0, 0,
0, 128, 0, 0, 15, 176,
31, 0, 0, 2, 0, 0,
0, 128, 1, 0, 15, 176,
31, 0, 0, 2, 0, 0,
0, 128, 2, 0, 3, 176,
31, 0, 0, 2, 0, 0,
0, 144, 0, 8, 15, 160,
66, 0, 0, 3, 0, 0,
15, 128, 2, 0, 228, 176,
0, 8, 228, 160, 4, 0,
0, 4, 1, 0, 8, 128,
0, 0, 255, 128, 0, 0,
255, 176, 0, 0, 0, 161,
5, 0, 0, 3, 0, 0,
15, 128, 0, 0, 228, 128,
0, 0, 228, 176, 88, 0,
0, 4, 1, 0, 15, 128,
1, 0, 255, 128, 0, 0,
255, 160, 0, 0, 170, 160,
65, 0, 0, 1, 1, 0,
15, 128, 4, 0, 0, 4,
1, 0, 7, 128, 1, 0,
228, 160, 0, 0, 255, 128,
0, 0, 228, 129, 4, 0,
0, 4, 0, 0, 7, 128,
1, 0, 255, 176, 1, 0,
228, 128, 0, 0, 228, 128,
1, 0, 0, 2, 0, 8,
15, 128, 0, 0, 228, 128,
255, 255, 0, 0, 83, 72,
68, 82, 136, 1, 0, 0,
64, 0, 0, 0, 98, 0,
0, 0, 89, 0, 0, 4,
70, 142, 32, 0, 0, 0,
0, 0, 3, 0, 0, 0,
90, 0, 0, 3, 0, 96,
16, 0, 0, 0, 0, 0,
88, 24, 0, 4, 0, 112,
16, 0, 0, 0, 0, 0,
85, 85, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
0, 0, 0, 0, 98, 16,
0, 3, 130, 16, 16, 0,
1, 0, 0, 0, 98, 16,
0, 3, 50, 16, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 2, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 0, 0, 0, 0,
70, 16, 16, 0, 2, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
56, 0, 0, 7, 242, 0,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 0, 0,
0, 0, 70, 30, 16, 0,
0, 0, 0, 0, 49, 0,
0, 8, 18, 0, 16, 0,
1, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
55, 0, 0, 11, 18, 0,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 1, 0,
0, 0, 42, 128, 32, 0,
0, 0, 0, 0, 1, 0,
0, 0, 58, 128, 32, 0,
0, 0, 0, 0, 1, 0,
0, 0, 49, 0, 0, 7,
18, 0, 16, 0, 1, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 1, 64,
0, 0, 0, 0, 0, 0,
13, 0, 4, 3, 10, 0,
16, 0, 1, 0, 0, 0,
50, 0, 0, 11, 114, 0,
16, 0, 1, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 2, 0, 0, 0,
246, 15, 16, 0, 0, 0,
0, 0, 70, 2, 16, 128,
65, 0, 0, 0, 0, 0,
0, 0, 50, 0, 0, 9,
114, 32, 16, 0, 0, 0,
0, 0, 246, 31, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 32, 16, 0, 0, 0,
0, 0, 58, 0, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 73, 83, 71, 78,
96, 0, 0, 0, 3, 0,
0, 0, 8, 0, 0, 0,
80, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 15, 0, 0,
80, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 1, 0,
0, 0, 15, 8, 0, 0,
86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 2, 0,
0, 0, 3, 3, 0, 0,
67, 79, 76, 79, 82, 0,
84, 69, 88, 67, 79, 79,
82, 68, 0, 171, 79, 83,
71, 78, 44, 0, 0, 0,
1, 0, 0, 0, 8, 0,
0, 0, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 84,
97, 114, 103, 101, 116, 0,
171, 171
};

Двоичный файл не отображается.

Просмотреть файл

@ -1,264 +0,0 @@
#if 0
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
//
// Constant buffer to DX9 shader constant mappings:
//
// Target Reg Buffer Start Reg # of Regs Data Conversion
// ---------- ------- --------- --------- ----------------------
// c0 cb0 1 1 ( FLT, FLT, FLT, FLT)
//
//
// Sampler/Resource to DX9 shader sampler mappings:
//
// Target Sampler Source Sampler Source Resource
// -------------- --------------- ----------------
// s0 s0 t0
//
//
// Level9 shader bytecode:
//
ps_2_0
dcl t0 // pin<0,1,2,3>
dcl t1.xy // pin<4,5>
dcl_2d s0
#line 100 "D:\ATG\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx"
texld r0, t1, s0
mad r1.w, r0.w, t0.w, -c0.x
mul r0, r0, t0 // ::color<0,1,2,3>
mov oC0, r0 // ::PSAlphaTestLtGtNoFog<0,1,2,3>
cmp r0, r1.w, c0.w, c0.z
texkill r0
// approximately 6 instruction slots used (1 texture, 5 arithmetic)
ps_4_0
dcl_constantbuffer CB0[2], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 2
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
mul r0.xyzw, r0.xyzw, v0.xyzw
lt r1.x, r0.w, cb0[1].x
mov o0.xyzw, r0.xyzw
movc r0.x, r1.x, cb0[1].z, cb0[1].w
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
ret
// Approximately 0 instruction slots used
#endif
const BYTE AlphaTestEffect_PSAlphaTestLtGtNoFog[] =
{
68, 88, 66, 67, 170, 255,
28, 65, 185, 81, 67, 189,
96, 124, 184, 113, 42, 100,
175, 111, 1, 0, 0, 0,
128, 4, 0, 0, 4, 0,
0, 0, 48, 0, 0, 0,
200, 2, 0, 0, 252, 3,
0, 0, 76, 4, 0, 0,
65, 111, 110, 57, 144, 2,
0, 0, 144, 2, 0, 0,
0, 2, 255, 255, 92, 2,
0, 0, 52, 0, 0, 0,
1, 0, 40, 0, 0, 0,
52, 0, 0, 0, 52, 0,
1, 0, 36, 0, 0, 0,
52, 0, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 2, 255, 255, 254, 255,
116, 0, 68, 66, 85, 71,
40, 0, 0, 0, 164, 1,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 100, 0,
0, 0, 9, 0, 0, 0,
104, 0, 0, 0, 3, 0,
0, 0, 104, 1, 0, 0,
176, 0, 0, 0, 68, 58,
92, 65, 84, 71, 92, 115,
116, 95, 100, 101, 118, 92,
75, 105, 116, 115, 92, 68,
105, 114, 101, 99, 116, 88,
84, 75, 92, 83, 114, 99,
92, 83, 104, 97, 100, 101,
114, 115, 92, 65, 108, 112,
104, 97, 84, 101, 115, 116,
69, 102, 102, 101, 99, 116,
46, 102, 120, 0, 40, 0,
0, 0, 0, 0, 255, 255,
216, 1, 0, 0, 0, 0,
255, 255, 228, 1, 0, 0,
0, 0, 255, 255, 240, 1,
0, 0, 100, 0, 0, 0,
252, 1, 0, 0, 102, 0,
0, 0, 12, 2, 0, 0,
100, 0, 0, 0, 32, 2,
0, 0, 100, 0, 0, 0,
48, 2, 0, 0, 102, 0,
0, 0, 60, 2, 0, 0,
102, 0, 0, 0, 80, 2,
0, 0, 80, 83, 65, 108,
112, 104, 97, 84, 101, 115,
116, 76, 116, 71, 116, 78,
111, 70, 111, 103, 0, 171,
171, 171, 1, 0, 3, 0,
1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0,
1, 0, 2, 0, 3, 0,
99, 111, 108, 111, 114, 0,
171, 171, 1, 0, 3, 0,
1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0,
5, 0, 0, 0, 0, 0,
1, 0, 2, 0, 3, 0,
112, 105, 110, 0, 68, 105,
102, 102, 117, 115, 101, 0,
84, 101, 120, 67, 111, 111,
114, 100, 0, 171, 171, 171,
1, 0, 3, 0, 1, 0,
2, 0, 1, 0, 0, 0,
0, 0, 0, 0, 12, 1,
0, 0, 236, 0, 0, 0,
20, 1, 0, 0, 32, 1,
0, 0, 5, 0, 0, 0,
1, 0, 6, 0, 1, 0,
2, 0, 48, 1, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 2, 0, 3, 0,
1, 0, 0, 0, 4, 0,
5, 0, 255, 255, 255, 255,
0, 0, 0, 0, 176, 0,
0, 0, 200, 0, 0, 0,
1, 0, 0, 0, 216, 0,
0, 0, 0, 0, 0, 0,
228, 0, 0, 0, 236, 0,
0, 0, 1, 0, 0, 0,
252, 0, 0, 0, 176, 0,
0, 0, 8, 1, 0, 0,
64, 1, 0, 0, 2, 0,
0, 0, 80, 1, 0, 0,
77, 105, 99, 114, 111, 115,
111, 102, 116, 32, 40, 82,
41, 32, 72, 76, 83, 76,
32, 83, 104, 97, 100, 101,
114, 32, 67, 111, 109, 112,
105, 108, 101, 114, 32, 49,
48, 46, 49, 0, 31, 0,
0, 2, 0, 0, 0, 128,
0, 0, 15, 176, 31, 0,
0, 2, 0, 0, 0, 128,
1, 0, 3, 176, 31, 0,
0, 2, 0, 0, 0, 144,
0, 8, 15, 160, 66, 0,
0, 3, 0, 0, 15, 128,
1, 0, 228, 176, 0, 8,
228, 160, 4, 0, 0, 4,
1, 0, 8, 128, 0, 0,
255, 128, 0, 0, 255, 176,
0, 0, 0, 161, 5, 0,
0, 3, 0, 0, 15, 128,
0, 0, 228, 128, 0, 0,
228, 176, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 128, 88, 0, 0, 4,
0, 0, 15, 128, 1, 0,
255, 128, 0, 0, 255, 160,
0, 0, 170, 160, 65, 0,
0, 1, 0, 0, 15, 128,
255, 255, 0, 0, 83, 72,
68, 82, 44, 1, 0, 0,
64, 0, 0, 0, 75, 0,
0, 0, 89, 0, 0, 4,
70, 142, 32, 0, 0, 0,
0, 0, 2, 0, 0, 0,
90, 0, 0, 3, 0, 96,
16, 0, 0, 0, 0, 0,
88, 24, 0, 4, 0, 112,
16, 0, 0, 0, 0, 0,
85, 85, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
0, 0, 0, 0, 98, 16,
0, 3, 50, 16, 16, 0,
1, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 2, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 0, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
56, 0, 0, 7, 242, 0,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 0, 0,
0, 0, 70, 30, 16, 0,
0, 0, 0, 0, 49, 0,
0, 8, 18, 0, 16, 0,
1, 0, 0, 0, 58, 0,
16, 0, 0, 0, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 0, 0,
0, 0, 55, 0, 0, 11,
18, 0, 16, 0, 0, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 42, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 58, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 49, 0,
0, 7, 18, 0, 16, 0,
0, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
1, 64, 0, 0, 0, 0,
0, 0, 13, 0, 4, 3,
10, 0, 16, 0, 0, 0,
0, 0, 62, 0, 0, 1,
73, 83, 71, 78, 72, 0,
0, 0, 2, 0, 0, 0,
8, 0, 0, 0, 56, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
15, 15, 0, 0, 62, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
3, 3, 0, 0, 67, 79,
76, 79, 82, 0, 84, 69,
88, 67, 79, 79, 82, 68,
0, 171, 79, 83, 71, 78,
44, 0, 0, 0, 1, 0,
0, 0, 8, 0, 0, 0,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
83, 86, 95, 84, 97, 114,
103, 101, 116, 0, 171, 171
};

Двоичный файл не отображается.

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше