Commit aed9aece authored by Administrator's avatar Administrator
Browse files

Debug: box and triangle defined, but triangle does NOT display

If only define triangle, it can display.
Both box and triangle have same pixel shader constant buffer.
Suspect conflict of pixel shader constant buffer.
parent 2942ed94
...@@ -7,3 +7,5 @@ x64/ ...@@ -7,3 +7,5 @@ x64/
# Exclude cso files # Exclude cso files
*.cso *.cso
# Exclude log.txt
*/log.txt
#pragma once #pragma once
#include "Graphics.h" #include "Graphics.h"
#include "Logger.h"
class Bindable class Bindable
{ {
public: public:
virtual void Bind(Graphics& gfx) noexcept = 0; virtual void Bind(Graphics& gfx, Logger& logger) noexcept = 0;
virtual ~Bindable() = default; virtual ~Bindable() = default;
protected: protected:
static ID3D11DeviceContext* GetContext(Graphics& gfx) noexcept; static ID3D11DeviceContext* GetContext(Graphics& gfx) noexcept;
......
#pragma once
#include "Box.h"
#include "Bindable.h"
#include "VertexBuffer.h"
#include "IndexBuffer.h"
#include "VertexShader.h"
#include "PixelShader.h"
#include "ConstantBuffer.h"
#include "InputLayout.h"
#include "Topology.h"
#include "TransformCBuf.h"
#include "Graphics.h"
Box::Box(Graphics& gfx, float position[][6], float r, float g, float b, Logger& logger)
:
r(r),
g(g),
b(b)
{
// Assign position values
/*for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
this->position[i][j] = position[i][j];
}
}*/
/************************************
* 2.3 DefineVertexBuffer
************************************/
const std::vector<StructBoxVertex> vertices =
{
// left bottom back
{ -1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f },
// right bottom back
{ 1.0f, -1.0f, -1.0f, 0.0f, 1.0f, 0.0f },
// left top back
{ -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f },
// right top back
{ 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 0.0f },
// left bottom front
{ -1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 1.0f },
// right bottom front
{ 1.0f, -1.0f, 1.0f, 0.0f, 1.0f, 1.0f },
// left top front
{ -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f },
// right top front
{ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f },
};
AddBind(std::make_unique<VertexBuffer>(gfx, vertices, logger));
/*for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
logger.PutLog("Box::Box", std::to_string(this->position[i][j]));
}
}*/
/************************************
* 2.7 DefineVertexShader
************************************/
auto pVertexShader = std::make_unique<VertexShader>(gfx, L"VertexShader.cso");
auto pvsbc = pVertexShader->GetBytecode();
AddBind(std::move(pVertexShader));
/************************************
* 2.8 DefinePixelShader
************************************/
AddBind(std::make_unique<PixelShader>(gfx, L"PixelShader.cso"));
/************************************
* 2.4 DefineIndexBuffer
************************************/
const std::vector<unsigned short> indices =
{
0,2,1, 2,3,1,
1,3,5, 3,7,5,
2,6,3, 3,6,7,
4,5,7, 4,7,6,
0,4,2, 2,4,6,
0,1,4, 1,5,4
};
/*const std::vector<unsigned short> indices =
{
0,1,2, 0,2,1,
0,1,2, 0,2,1
};*/
AddIndexBuffer(std::make_unique<IndexBuffer>(gfx, indices, logger));
/************************************
* 2.6 DefineColorConstBuffer(PixelConstBuf)
************************************/
/*const StructPixelConstBuf cb2 =
{
{
{ 1.0f,0.0f,1.0f },
{ 1.0f,0.0f,0.0f },
{ 0.0f,1.0f,0.0f },
{ 0.0f,0.0f,1.0f },
{ 1.0f,1.0f,0.0f },
{ 0.0f,1.0f,1.0f },
}
};*/
const StructPixelConstBuf cb2 =
{
{
{ 1.0f,0.0f,1.0f },
{ 1.0f,0.0f,0.0f },
{ 0.0f,1.0f,0.0f },
{ 0.0f,0.0f,1.0f },
{ 1.0f,1.0f,0.0f },
{ 0.0f,1.0f,1.0f },
{ 1.0f,0.0f,1.0f },
{ 1.0f,0.0f,0.0f },
{ 0.0f,1.0f,0.0f },
{ 0.0f,0.0f,1.0f },
{ 1.0f,1.0f,0.0f },
{ 0.0f,1.0f,1.0f },
}
};
AddBind(std::make_unique<PixelConstantBuffer<StructPixelConstBuf>>(gfx, cb2));
/************************************
* 2.9 DefineInputLayout
************************************/
const std::vector<D3D11_INPUT_ELEMENT_DESC> ied =
{
{ "Position",0,DXGI_FORMAT_R32G32B32_FLOAT,0,0,D3D11_INPUT_PER_VERTEX_DATA,0 },
};
AddBind(std::make_unique<InputLayout>(gfx, ied, pvsbc));
/************************************
* 2.10 DefinePrimitiveTopology
************************************/
AddBind(std::make_unique<Topology>(gfx, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST));
/************************************
* 2.5 DefineTransConstBuffer
************************************/
AddBind(std::make_unique<TransformCbuf>(gfx, *this));
}
/*
void Box::Update(float dt) noexcept
{
roll += droll * dt;
pitch += dpitch * dt;
yaw += dyaw * dt;
theta += dtheta * dt;
phi += dphi * dt;
chi += dchi * dt;
}
*/
DirectX::XMMATRIX Box::GetTransformXM() const noexcept
{
/*return DirectX::XMMatrixRotationRollPitchYaw(pitch, yaw, roll) *
DirectX::XMMatrixTranslation(r, 0.0f, 0.0f) *
DirectX::XMMatrixRotationRollPitchYaw(theta, phi, chi) *
DirectX::XMMatrixTranslation(0.0f, 0.0f, 20.0f);*/
return
DirectX::XMMatrixTranslation(0.0f, 0.0f, 4.0f);
}
\ No newline at end of file
#pragma once
#include "Drawable.h"
#include "Logger.h"
class Box : public Drawable
{
public:
Box(Graphics& gfx, float position[][6], float r, float g, float b, Logger& logger);
DirectX::XMMATRIX GetTransformXM() const noexcept override;
private:
// positional
float position[8][6];
// color
float r;
float g;
float b;
};
\ No newline at end of file
...@@ -52,7 +52,7 @@ class VertexConstantBuffer : public ConstantBuffer<C> ...@@ -52,7 +52,7 @@ class VertexConstantBuffer : public ConstantBuffer<C>
using Bindable::GetContext; using Bindable::GetContext;
public: public:
using ConstantBuffer<C>::ConstantBuffer; using ConstantBuffer<C>::ConstantBuffer;
void Bind(Graphics& gfx) noexcept override void Bind(Graphics& gfx, Logger& logger) noexcept override
{ {
GetContext(gfx)->VSSetConstantBuffers(0u, 1u, pConstantBuffer.GetAddressOf()); GetContext(gfx)->VSSetConstantBuffers(0u, 1u, pConstantBuffer.GetAddressOf());
} }
...@@ -65,8 +65,9 @@ class PixelConstantBuffer : public ConstantBuffer<C> ...@@ -65,8 +65,9 @@ class PixelConstantBuffer : public ConstantBuffer<C>
using Bindable::GetContext; using Bindable::GetContext;
public: public:
using ConstantBuffer<C>::ConstantBuffer; using ConstantBuffer<C>::ConstantBuffer;
void Bind(Graphics& gfx) noexcept override void Bind(Graphics& gfx, Logger& logger) noexcept override
{ {
GetContext(gfx)->PSSetConstantBuffers(0u, 1u, pConstantBuffer.GetAddressOf()); GetContext(gfx)->PSSetConstantBuffers(0u, 1u, pConstantBuffer.GetAddressOf());
logger.PutLog("PixelConstantBuffer::Bind", "PSSetConstantBuffers");
} }
}; };
\ No newline at end of file
...@@ -3,14 +3,22 @@ ...@@ -3,14 +3,22 @@
#include <cassert> #include <cassert>
#include <typeinfo> #include <typeinfo>
void Drawable::Draw(Graphics& gfx) const noexcept void Drawable::Draw(Graphics& gfx, Logger& logger) const noexcept
{
/*for (auto& b : binds)
{
b->Bind(gfx, logger);
}*/
gfx.DrawIndexed(pIndexBuffer->GetCount());
};
void Drawable::ExecuteBind(Graphics& gfx, Logger& logger) noexcept
{ {
for (auto& b : binds) for (auto& b : binds)
{ {
b->Bind(gfx); b->Bind(gfx, logger);
} }
gfx.DrawIndexed(pIndexBuffer->GetCount()); };
}
void Drawable::AddBind(std::unique_ptr<Bindable> bind) noexcept void Drawable::AddBind(std::unique_ptr<Bindable> bind) noexcept
{ {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <vector> #include <vector>
#include "Bindable.h" #include "Bindable.h"
#include "IndexBuffer.h" #include "IndexBuffer.h"
#include "Logger.h"
class Bindable; class Bindable;
...@@ -14,11 +15,12 @@ public: ...@@ -14,11 +15,12 @@ public:
Drawable() = default; Drawable() = default;
Drawable(const Drawable&) = delete; Drawable(const Drawable&) = delete;
virtual DirectX::XMMATRIX GetTransformXM() const noexcept = 0; virtual DirectX::XMMATRIX GetTransformXM() const noexcept = 0;
void Draw(Graphics& gfx) const noexcept; void Draw(Graphics& gfx, Logger& logger) const noexcept;
//virtual void Update(float dt) noexcept = 0; //virtual void Update(float dt) noexcept = 0;
void AddBind(std::unique_ptr<Bindable> bind) noexcept; void AddBind(std::unique_ptr<Bindable> bind) noexcept;
void AddIndexBuffer(std::unique_ptr<class IndexBuffer> ibuf) noexcept; void AddIndexBuffer(std::unique_ptr<class IndexBuffer> ibuf) noexcept;
void ExecuteBind(Graphics& gfx, Logger& logger) noexcept;
virtual ~Drawable() = default; virtual ~Drawable() = default;
private: private:
const IndexBuffer* pIndexBuffer = nullptr; const IndexBuffer* pIndexBuffer = nullptr;
......
...@@ -170,3 +170,18 @@ void Graphics::DrawIndexed(UINT count) noexcept ...@@ -170,3 +170,18 @@ void Graphics::DrawIndexed(UINT count) noexcept
{ {
pContext->DrawIndexed(count, 0u, 0u); pContext->DrawIndexed(count, 0u, 0u);
} }
// for debug
wrl::ComPtr<ID3D11Device> Graphics::getDevice()
{
return pDevice;
};
wrl::ComPtr<IDXGISwapChain> Graphics::getSwapChain()
{
return pSwapChain;
};
wrl::ComPtr<ID3D11DeviceContext> Graphics::getContext()
{
return pContext;
};
\ No newline at end of file
...@@ -28,6 +28,11 @@ public: ...@@ -28,6 +28,11 @@ public:
void SetProjection(DirectX::FXMMATRIX proj) noexcept; void SetProjection(DirectX::FXMMATRIX proj) noexcept;
DirectX::XMMATRIX GetProjection() const noexcept; DirectX::XMMATRIX GetProjection() const noexcept;
// for debug
wrl::ComPtr<ID3D11Device> getDevice();
wrl::ComPtr<IDXGISwapChain> getSwapChain();
wrl::ComPtr<ID3D11DeviceContext> getContext();
private: private:
DirectX::XMMATRIX projection; DirectX::XMMATRIX projection;
// 指向Device的指针 // 指向Device的指针
......
#include "IndexBuffer.h" #include "IndexBuffer.h"
IndexBuffer::IndexBuffer(Graphics& gfx, const std::vector<unsigned short>& indices) IndexBuffer::IndexBuffer(Graphics& gfx, const std::vector<unsigned short>& indices, Logger& logger)
: :
count((UINT)indices.size()) count((UINT)indices.size())
{ {
...@@ -14,9 +14,13 @@ IndexBuffer::IndexBuffer(Graphics& gfx, const std::vector<unsigned short>& indic ...@@ -14,9 +14,13 @@ IndexBuffer::IndexBuffer(Graphics& gfx, const std::vector<unsigned short>& indic
D3D11_SUBRESOURCE_DATA isd = {}; D3D11_SUBRESOURCE_DATA isd = {};
isd.pSysMem = indices.data(); isd.pSysMem = indices.data();
GetDevice(gfx)->CreateBuffer(&ibd, &isd, &pIndexBuffer); GetDevice(gfx)->CreateBuffer(&ibd, &isd, &pIndexBuffer);
logger.PutLog("IndexBuffer::IndexBuffer", "size of unsigned short: " + std::to_string(sizeof(unsigned short)));
logger.PutLog("IndexBuffer::IndexBuffer", "ByteWidth: " + std::to_string(ibd.ByteWidth));
logger.PutLog("IndexBuffer::IndexBuffer", "StructureByteStride: " + std::to_string(ibd.StructureByteStride));
} }
void IndexBuffer::Bind(Graphics& gfx) noexcept void IndexBuffer::Bind(Graphics& gfx, Logger& logger) noexcept
{ {
GetContext(gfx)->IASetIndexBuffer(pIndexBuffer.Get(), DXGI_FORMAT_R16_UINT, 0u); GetContext(gfx)->IASetIndexBuffer(pIndexBuffer.Get(), DXGI_FORMAT_R16_UINT, 0u);
} }
......
...@@ -2,12 +2,13 @@ ...@@ -2,12 +2,13 @@
#include "Bindable.h" #include "Bindable.h"
#include <d3d11.h> #include <d3d11.h>
#include <vector> #include <vector>
#include "Logger.h"
class IndexBuffer : public Bindable class IndexBuffer : public Bindable
{ {
public: public:
IndexBuffer(Graphics& gfx, const std::vector<unsigned short>& indices); IndexBuffer(Graphics& gfx, const std::vector<unsigned short>& indices, Logger& logger);
void Bind(Graphics& gfx) noexcept override; void Bind(Graphics& gfx, Logger& logger) noexcept override;
UINT GetCount() const noexcept; UINT GetCount() const noexcept;
protected: protected:
UINT count; UINT count;
......
...@@ -12,7 +12,7 @@ InputLayout::InputLayout(Graphics& gfx, ...@@ -12,7 +12,7 @@ InputLayout::InputLayout(Graphics& gfx,
); );
} }
void InputLayout::Bind(Graphics& gfx) noexcept void InputLayout::Bind(Graphics& gfx, Logger& logger) noexcept
{ {
GetContext(gfx)->IASetInputLayout(pInputLayout.Get()); GetContext(gfx)->IASetInputLayout(pInputLayout.Get());
} }
...@@ -8,7 +8,7 @@ public: ...@@ -8,7 +8,7 @@ public:
InputLayout(Graphics& gfx, InputLayout(Graphics& gfx,
const std::vector<D3D11_INPUT_ELEMENT_DESC>& layout, const std::vector<D3D11_INPUT_ELEMENT_DESC>& layout,
ID3DBlob* pVertexShaderBytecode); ID3DBlob* pVertexShaderBytecode);
void Bind(Graphics& gfx) noexcept override; void Bind(Graphics& gfx, Logger& logger) noexcept override;
protected: protected:
Microsoft::WRL::ComPtr<ID3D11InputLayout> pInputLayout; Microsoft::WRL::ComPtr<ID3D11InputLayout> pInputLayout;
}; };
\ No newline at end of file
#pragma once
#pragma warning(disable : 4996) //_CRT_SECURE_NO_WARNINGS
#include "Logger.h"
#include <iostream>
#include <fstream>
#include <chrono>
#include <ctime>
using namespace std;
Logger::Logger(std::string loggerFile)
{
this->loggerFile = loggerFile;
};
void Logger::start()
{
// ios::app - 追加
// ios::ate - 移动到文件末
// ios::out - 写(默认清空)
// ios::trunc - 清空
this->fs.open(this->loggerFile, ios::out | ios::app);
};
void Logger::PutLog(std::string module, std::string text)
{
// Get current system time
auto now = std::chrono::system_clock::now();
// Convert system time to time_t (seconds since Jan 1, 1970)
std::time_t now_time = std::chrono::system_clock::to_time_t(now);
// Convert time_t to struct tm (broken down time)
std::tm* now_tm = std::localtime(&now_time);
// Format timestamp string manually
char timestamp[20];
std::strftime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S", now_tm);
fs << "[" << timestamp << "]: " << "[" << module << "] " << text << endl;
};
void Logger::end()
{
fs.close();
};
\ No newline at end of file
#pragma once
#include <string>
#include <fstream>
class Logger
{
public:
Logger(std::string loggerFile);
// 单例设计模式,禁止复制
Logger(const Logger&) = delete;
Logger& operator=(const Logger&) = delete;
~Logger() = default;
void start();
void PutLog(std::string module, std::string text);
void end();
private:
std::string loggerFile;
std::fstream fs;
};
\ No newline at end of file
...@@ -10,7 +10,7 @@ PixelShader::PixelShader(Graphics& gfx, const std::wstring& path) ...@@ -10,7 +10,7 @@ PixelShader::PixelShader(Graphics& gfx, const std::wstring& path)
GetDevice(gfx)->CreatePixelShader(pBlob->GetBufferPointer(), pBlob->GetBufferSize(), nullptr, &pPixelShader); GetDevice(gfx)->CreatePixelShader(pBlob->GetBufferPointer(), pBlob->GetBufferSize(), nullptr, &pPixelShader);
} }
void PixelShader::Bind(Graphics& gfx) noexcept void PixelShader::Bind(Graphics& gfx, Logger& logger) noexcept
{ {
GetContext(gfx)->PSSetShader(pPixelShader.Get(), nullptr, 0u); GetContext(gfx)->PSSetShader(pPixelShader.Get(), nullptr, 0u);
} }
...@@ -6,7 +6,7 @@ class PixelShader : public Bindable ...@@ -6,7 +6,7 @@ class PixelShader : public Bindable
{ {
public: public:
PixelShader(Graphics& gfx, const std::wstring& path); PixelShader(Graphics& gfx, const std::wstring& path);
void Bind(Graphics& gfx) noexcept override; void Bind(Graphics& gfx, Logger& logger) noexcept override;
protected: protected:
Microsoft::WRL::ComPtr<ID3D11PixelShader> pPixelShader; Microsoft::WRL::ComPtr<ID3D11PixelShader> pPixelShader;
}; };
\ No newline at end of file
...@@ -7,5 +7,6 @@ cbuffer CBuf ...@@ -7,5 +7,6 @@ cbuffer CBuf
float4 main(uint tid: SV_PrimitiveID) : SV_Target float4 main(uint tid: SV_PrimitiveID) : SV_Target
{ {
//return float4(color, 1.0f); //return float4(color, 1.0f);
return face_color[tid / 2]; return face_color[tid];
//return float4(0.5f, 0.5f, 0.5f, 1.0f);
} }
\ No newline at end of file
...@@ -128,11 +128,13 @@ ...@@ -128,11 +128,13 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="Bindable.cpp" /> <ClCompile Include="Bindable.cpp" />
<ClCompile Include="Box.cpp" />
<ClCompile Include="ConstantBuffer.h" /> <ClCompile Include="ConstantBuffer.h" />
<ClCompile Include="Drawable.cpp" /> <ClCompile Include="Drawable.cpp" />
<ClCompile Include="Graphics.cpp" /> <ClCompile Include="Graphics.cpp" />
<ClCompile Include="IndexBuffer.cpp" /> <ClCompile Include="IndexBuffer.cpp" />
<ClCompile Include="InputLayout.cpp" /> <ClCompile Include="InputLayout.cpp" />
<ClCompile Include="Logger.cpp" />
<ClCompile Include="PixelShader.cpp" /> <ClCompile Include="PixelShader.cpp" />
<ClCompile Include="Timer.cpp" /> <ClCompile Include="Timer.cpp" />
<ClCompile Include="Topology.cpp" /> <ClCompile Include="Topology.cpp" />
...@@ -164,10 +166,12 @@ ...@@ -164,10 +166,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="Bindable.h" /> <ClInclude Include="Bindable.h" />
<ClInclude Include="Box.h" />
<ClInclude Include="Drawable.h" /> <ClInclude Include="Drawable.h" />
<ClInclude Include="Graphics.h" /> <ClInclude Include="Graphics.h" />
<ClInclude Include="IndexBuffer.h" /> <ClInclude Include="IndexBuffer.h" />
<ClInclude Include="InputLayout.h" /> <ClInclude Include="InputLayout.h" />
<ClInclude Include="Logger.h" />
<ClInclude Include="PixelShader.h" /> <ClInclude Include="PixelShader.h" />
<ClInclude Include="Structs.h" /> <ClInclude Include="Structs.h" />
<ClInclude Include="Timer.h" /> <ClInclude Include="Timer.h" />
......
...@@ -16,6 +16,24 @@ ...@@ -16,6 +16,24 @@
<Filter Include="Shaders"> <Filter Include="Shaders">
<UniqueIdentifier>{8305ae76-37a2-484d-a157-5d9c921795ea}</UniqueIdentifier> <UniqueIdentifier>{8305ae76-37a2-484d-a157-5d9c921795ea}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Header Files\Bindables">
<UniqueIdentifier>{d7384705-be75-4663-8d23-83b73b3c5b38}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Drawables">
<UniqueIdentifier>{4980fc1f-4538-4c44-a83e-fb769ee5f9ec}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Common">
<UniqueIdentifier>{b665a2cf-965a-4eb8-bbf2-e5b6f6ee3262}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Bindables">
<UniqueIdentifier>{bc831b9d-7a5c-4f1d-8746-3e0049897fe1}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Drawables">
<UniqueIdentifier>{2edbfa37-15ce-47c5-a0c1-c48660bebcc8}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Common">
<UniqueIdentifier>{aaf941b8-e05d-4faa-a18c-4ccb5206d8dc}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="WinMain.cpp"> <ClCompile Include="WinMain.cpp">
...@@ -24,26 +42,47 @@ ...@@ -24,26 +42,47 @@
<ClCompile Include="Timer.cpp"> <ClCompile Include="Timer.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Graphics.h">
<Filter>Header Files</Filter>
</ClCompile>
<ClCompile Include="Graphics.cpp"> <ClCompile Include="Graphics.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="ConstantBuffer.h">
<Filter>Header Files\Bindables</Filter>
</ClCompile>
<ClCompile Include="Bindable.cpp"> <ClCompile Include="Bindable.cpp">
<Filter>Source Files</Filter> <Filter>Source Files\Bindables</Filter>
</ClCompile>
<ClCompile Include="IndexBuffer.cpp">
<Filter>Source Files\Bindables</Filter>
</ClCompile>
<ClCompile Include="InputLayout.cpp">
<Filter>Source Files\Bindables</Filter>
</ClCompile>
<ClCompile Include="PixelShader.cpp">
<Filter>Source Files\Bindables</Filter>
</ClCompile>
<ClCompile Include="Topology.cpp">
<Filter>Source Files\Bindables</Filter>
</ClCompile>
<ClCompile Include="TransformCBuf.cpp">
<Filter>Source Files\Bindables</Filter>
</ClCompile>
<ClCompile Include="Drawable.cpp">
<Filter>Source Files\Drawables</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Triangle.cpp"> <ClCompile Include="Triangle.cpp">
<Filter>Source Files</Filter> <Filter>Source Files\Drawables</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="VertexBuffer.cpp"> <ClCompile Include="VertexBuffer.cpp">
<Filter>Source Files</Filter> <Filter>Source Files\Bindables</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Drawable.cpp"> <ClCompile Include="VertexShader.cpp">
<Filter>Source Files</Filter> <Filter>Source Files\Bindables</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="MyGraphics.cpp"> <ClCompile Include="Logger.cpp">
<Filter>Source Files</Filter> <Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="Box.cpp">
<Filter>Source Files\Drawables</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
...@@ -58,20 +97,47 @@ ...@@ -58,20 +97,47 @@
<ClInclude Include="Timer.h"> <ClInclude Include="Timer.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Bindable.h"> <ClInclude Include="Graphics.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Triangle.h"> <ClInclude Include="Bindable.h">
<Filter>Header Files</Filter> <Filter>Header Files\Bindables</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Drawable.h"> <ClInclude Include="IndexBuffer.h">
<Filter>Header Files</Filter> <Filter>Header Files\Bindables</Filter>
</ClInclude>
<ClInclude Include="InputLayout.h">
<Filter>Header Files\Bindables</Filter>
</ClInclude>
<ClInclude Include="PixelShader.h">
<Filter>Header Files\Bindables</Filter>
</ClInclude>
<ClInclude Include="Topology.h">
<Filter>Header Files\Bindables</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="VertexBuffer.h"> <ClInclude Include="VertexBuffer.h">
<Filter>Header Files</Filter> <Filter>Header Files\Bindables</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="MyGraphics.h"> <ClInclude Include="VertexShader.h">
<Filter>Header Files</Filter> <Filter>Header Files\Bindables</Filter>
</ClInclude>
<ClInclude Include="Drawable.h">
<Filter>Header Files\Drawables</Filter>
</ClInclude>
<ClInclude Include="Triangle.h">
<Filter>Header Files\Drawables</Filter>
</ClInclude>
<ClInclude Include="Structs.h">
<Filter>Header Files\Common</Filter>
</ClInclude>
<ClInclude Include="TransformCBuf.h">
<Filter>Header Files\Bindables</Filter>
</ClInclude>
<ClInclude Include="Logger.h">
<Filter>Header Files\Common</Filter>
</ClInclude>
<ClInclude Include="Box.h">
<Filter>Header Files\Drawables</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment