diff --git a/Code/Debug/Tester.ilk b/Code/Debug/Tester.ilk
new file mode 100644
index 00000000..c3e62e31
Binary files /dev/null and b/Code/Debug/Tester.ilk differ
diff --git a/Code/Debug/Tester.pdb b/Code/Debug/Tester.pdb
new file mode 100644
index 00000000..af9f5679
Binary files /dev/null and b/Code/Debug/Tester.pdb differ
diff --git a/Code/OysterGraphics/OysterGraphics.vcxproj b/Code/OysterGraphics/OysterGraphics.vcxproj
index 7dfb0e7a..b3a68b9c 100644
--- a/Code/OysterGraphics/OysterGraphics.vcxproj
+++ b/Code/OysterGraphics/OysterGraphics.vcxproj
@@ -145,20 +145,20 @@
-
-
-
+
+
+
-
-
+
+
diff --git a/Code/OysterGraphics/OysterGraphics.vcxproj.filters b/Code/OysterGraphics/OysterGraphics.vcxproj.filters
index 734eba8b..e415c69e 100644
--- a/Code/OysterGraphics/OysterGraphics.vcxproj.filters
+++ b/Code/OysterGraphics/OysterGraphics.vcxproj.filters
@@ -27,13 +27,13 @@
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
@@ -47,9 +47,6 @@
Header Files
-
- Header Files
-
Header Files
@@ -62,7 +59,10 @@
Header Files
-
+
+ Header Files
+
+
Header Files
diff --git a/Code/OysterGraphics/OysterGraphics.vcxproj.orig b/Code/OysterGraphics/OysterGraphics.vcxproj.orig
new file mode 100644
index 00000000..61f5d281
--- /dev/null
+++ b/Code/OysterGraphics/OysterGraphics.vcxproj.orig
@@ -0,0 +1,197 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {0EC83E64-230E-48EF-B08C-6AC9651B4F82}
+ OysterGraphics
+
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+ $(WindowsSDK_IncludePath);$(VCInstallDir)atlmfc\include;$(VCInstallDir)include
+ $(WindowsSDK_LibraryPath_x86);$(VCInstallDir)atlmfc\lib;$(VCInstallDir)lib
+ $(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(VSInstallDir);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+ $(WindowsSDK_IncludePath);$(VCInstallDir)atlmfc\include;$(VCInstallDir)include
+ $(WindowsSDK_LibraryPath_x86);$(VCInstallDir)atlmfc\lib;$(VCInstallDir)lib
+ $(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(VSInstallDir);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)
+ $(VCInstallDir)atlmfc\lib;$(VCInstallDir)lib
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ $(SolutionDir)OysterMath;$(SolutionDir)Misc;%(AdditionalIncludeDirectories)
+
+
+ true
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ ..\OysterMath;..\Misc;%(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ ..\OysterPhysics3D;..\OysterMath;..\Misc;%(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ ..\OysterPhysics3D;..\OysterMath;..\Misc;%(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee}
+
+
+ {f10cbc03-9809-4cba-95d8-327c287b18ee}
+
+
+
+
+ Pixel
+ Pixel
+ Pixel
+ Pixel
+ true
+ 5.0
+ main
+
+
+ Vertex
+ Vertex
+ Vertex
+ Vertex
+ true
+ 5.0
+ main
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Code/Tester/Debug/MainTest.obj b/Code/Tester/Debug/MainTest.obj
index 3fa96e29..704dcbff 100644
Binary files a/Code/Tester/Debug/MainTest.obj and b/Code/Tester/Debug/MainTest.obj differ
diff --git a/Code/Tester/Debug/Tester.lastbuildstate b/Code/Tester/Debug/Tester.lastbuildstate
index 40d074b4..a9539db7 100644
--- a/Code/Tester/Debug/Tester.lastbuildstate
+++ b/Code/Tester/Debug/Tester.lastbuildstate
@@ -1,2 +1,2 @@
#v4.0:v110:false
-Debug|Win32|C:\DanBias\Danbias\|
+Debug|Win32|C:\Users\Tobias\Documents\GitHub\Danbias\|
diff --git a/Code/Tester/Debug/Tester.log b/Code/Tester/Debug/Tester.log
index 2c2e96b0..c8588202 100644
--- a/Code/Tester/Debug/Tester.log
+++ b/Code/Tester/Debug/Tester.log
@@ -1,13 +1,17 @@
-Build started 11/15/2013 11:04:26 AM.
- 1>Project "C:\DanBias\Danbias\Tester\Tester.vcxproj" on node 3 (Build target(s)).
- 1>Link:
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\DanBias\Danbias\Debug\Tester.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:\DanBias\Danbias\Debug\Tester.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\DanBias\Danbias\Debug\Tester.lib" /MACHINE:X86 Debug\MainTest.obj
- C:\DanBias\External\Lib\Misc\Misc_x86D.lib
- C:\DanBias\External\Lib\OysterMath\OysterMath_x86D.lib
- C:\DanBias\External\Lib\OysterGraphics\OysterGraphics_x86D.lib
- Tester.vcxproj -> C:\DanBias\Danbias\Debug\Tester.exe
- 1>Done Building Project "C:\DanBias\Danbias\Tester\Tester.vcxproj" (Build target(s)).
+Build started 2013-11-19 09:36:20.
+ 1>Project "C:\Users\Tobias\Documents\GitHub\Danbias\Tester\Tester.vcxproj" on node 2 (Build target(s)).
+ 1>InitializeBuildStatus:
+ Creating "Debug\Tester.unsuccessfulbuild" because "AlwaysCreate" was specified.
+ ClCompile:
+ All outputs are up-to-date.
+ Link:
+ All outputs are up-to-date.
+ Tester.vcxproj -> C:\Users\Tobias\Documents\GitHub\Danbias\Debug\Tester.exe
+ FinalizeBuildStatus:
+ Deleting file "Debug\Tester.unsuccessfulbuild".
+ Touching "Debug\Tester.lastbuildstate".
+ 1>Done Building Project "C:\Users\Tobias\Documents\GitHub\Danbias\Tester\Tester.vcxproj" (Build target(s)).
Build succeeded.
-Time Elapsed 00:00:00.98
+Time Elapsed 00:00:00.30
diff --git a/Code/Tester/Debug/Tester.vcxprojResolveAssemblyReference.cache b/Code/Tester/Debug/Tester.vcxprojResolveAssemblyReference.cache
index 7a891077..93520706 100644
Binary files a/Code/Tester/Debug/Tester.vcxprojResolveAssemblyReference.cache and b/Code/Tester/Debug/Tester.vcxprojResolveAssemblyReference.cache differ
diff --git a/Code/Tester/Debug/vc110.idb b/Code/Tester/Debug/vc110.idb
index 7790813b..f13513df 100644
Binary files a/Code/Tester/Debug/vc110.idb and b/Code/Tester/Debug/vc110.idb differ
diff --git a/Code/Tester/Debug/vc110.pdb b/Code/Tester/Debug/vc110.pdb
index 7a8bf47b..686f149c 100644
Binary files a/Code/Tester/Debug/vc110.pdb and b/Code/Tester/Debug/vc110.pdb differ
diff --git a/OysterGraphics/Core/ShaderManager.cpp b/OysterGraphics/Core/ShaderManager.cpp
deleted file mode 100644
index ca607249..00000000
--- a/OysterGraphics/Core/ShaderManager.cpp
+++ /dev/null
@@ -1,351 +0,0 @@
-#include "Core.h"
-#include
-
-const char* ShaderFunction = "main";
-
-namespace Oyster
-{
- bool LoadPrecompiled(std::wstring filename, Core::ShaderManager::ShaderType type, std::wstring name);
- bool LoadCompile(std::wstring filename, Core::ShaderManager::ShaderType type, std::wstring name);
- namespace
- {
- struct ShaderData
- {
- size_t size;
- char* data;
- };
- std::vector PS;
- std::map PSMap;
-
- std::vector GS;
- std::map GSMap;
-
- std::vector CS;
- std::map CSMap;
-
- std::vector VS;
- std::vector VData;
- std::map VSMap;
- }
-
-#pragma region Init
- bool Core::ShaderManager::Init(std::wstring filename, ShaderType type, std::wstring name, bool Precompiled)
- {
- if(Precompiled)
- {
- return LoadPrecompiled(filename, type, name);
- }
- else
- {
- return LoadCompile(filename, type, name);
- }
- return true;
- }
-
- bool LoadPrecompiled(std::wstring filename, Core::ShaderManager::ShaderType type, std::wstring name)
- {
-
- std::ifstream stream;
- ShaderData sd;
-
-
- //Create Vertex shader and Layout
- stream.open(filename, std::ifstream::in | std::ifstream::binary);
- if(stream.good())
- {
- stream.seekg(0, std::ios::end);
- sd.size = size_t(stream.tellg());
- sd.data = new char[sd.size];
- stream.seekg(0, std::ios::beg);
- stream.read(&sd.data[0], sd.size);
- stream.close();
-
-
- ID3D11VertexShader* vertex;
- ID3D11GeometryShader* geometry;
- ID3D11PixelShader* pixel;
- ID3D11ComputeShader* compute;
-
- switch(type)
- {
- case Core::ShaderManager::ShaderType::Vertex:
-
- if(VSMap.count(name))
- return false;
-
- if(FAILED(Core::Device->CreateVertexShader(sd.data, sd.size, 0, &vertex)))
- {
- return false;
- }
- VSMap[name] = VS.size();
- VS.push_back(vertex);
- VData.push_back(sd);
- break;
-
- case Core::ShaderManager::ShaderType::Hull:
- case Core::ShaderManager::ShaderType::Domain:
-
- return false;
-
- case Core::ShaderManager::ShaderType::Geometry:
-
- if(GSMap.count(name))
- return false;
- if(FAILED(Core::Device->CreateGeometryShader(sd.data, sd.size, 0, &geometry)))
- {
- return false;
- }
- GSMap[name] = GS.size();
- GS.push_back(geometry);
- break;
-
- case Core::ShaderManager::ShaderType::Pixel:
-
- if(PSMap.count(name))
- return false;
- if(FAILED(Core::Device->CreatePixelShader(sd.data, sd.size, 0, &pixel)))
- {
- return false;
- }
- PSMap[name] = PS.size();
- PS.push_back(pixel);
- break;
-
- case Core::ShaderManager::ShaderType::Compute:
-
- if(CSMap.count(name))
- return false;
- if(FAILED(Core::Device->CreateComputeShader(sd.data, sd.size, 0, &compute)))
- {
- return false;
- }
- CSMap[name] = CS.size();
- CS.push_back(compute);
- break;
- }
- }
- else
- {
- return false;
- }
- return true;
- }
-
- bool LoadCompile(std::wstring filename, Core::ShaderManager::ShaderType type, std::wstring name)
- {
- /// \todo error reporting
- ID3D10Blob *Shader,*Error;
- switch(type)
- {
- case Core::ShaderManager::ShaderType::Pixel:
-
- ID3D11PixelShader* pixel;
-
- if(FAILED(D3DCompileFromFile(filename.c_str(),NULL,NULL,ShaderFunction,"ps_5_0",0,0,&Shader,&Error)))
- {
- std::string fel = (char*)Error->GetBufferPointer();
- Error->Release();
- return false;
- }
- if(FAILED(Oyster::Core::Device->CreatePixelShader(Shader->GetBufferPointer(),Shader->GetBufferSize(),NULL,&pixel)))
- {
- Error->Release();
- Shader->Release();
- return false;
- }
- Shader->Release();
- if(!PSMap.count(name))
- {
- PSMap[name] = PS.size();
- PS.push_back(pixel);
- }
- else
- {
- PS[PSMap[name]] = pixel;
- }
- break;
-
- case Core::ShaderManager::ShaderType::Geometry:
-
- ID3D11GeometryShader* geometry;
-
- if(FAILED(D3DCompileFromFile(filename.c_str(),NULL,NULL,ShaderFunction,"gs_5_0",0,0,&Shader,&Error)))
- {
- std::string fel = (char*)Error->GetBufferPointer();
- Error->Release();
- return false;
- }
- if(FAILED(Oyster::Core::Device->CreateGeometryShader(Shader->GetBufferPointer(),Shader->GetBufferSize(),NULL,&geometry)))
- {
- Error->Release();
- Shader->Release();
- return false;
- }
- Shader->Release();
- if(!GSMap.count(name))
- {
- GSMap[name] = GS.size();
- GS.push_back(geometry);
- }
- else
- {
- GS[GSMap[name]] = geometry;
- }
- break;
-
- case Core::ShaderManager::ShaderType::Vertex:
-
- ID3D11VertexShader* vertex;
-
- if(FAILED(D3DCompileFromFile(filename.c_str(),NULL,NULL,ShaderFunction,"vs_5_0",0,0,&Shader,&Error)))
- {
- std::string fel = (char*)Error->GetBufferPointer();
- Error->Release();
- return false;
- }
- if(FAILED(Oyster::Core::Device->CreateVertexShader(Shader->GetBufferPointer(),Shader->GetBufferSize(),NULL,&vertex)))
- {
- Error->Release();
- Shader->Release();
- return false;
- }
- if(!VSMap.count(name))
- {
- VSMap[name] = VS.size();
- VS.push_back(vertex);
- ShaderData sd;
- sd.size = Shader->GetBufferSize();
- sd.data = new char[sd.size];
- memcpy(sd.data,Shader->GetBufferPointer(),sd.size);
- VData.push_back(sd);
- }
- else
- {
- VS[VSMap[name]] = vertex;
- delete[] VData[VSMap[name]].data;
- VData[VSMap[name]].size = Shader->GetBufferSize();
- VData[VSMap[name]].data = new char[VData[VSMap[name]].size];
- memcpy(VData[VSMap[name]].data,Shader->GetBufferPointer(),VData[VSMap[name]].size);
- }
-
- Shader->Release();
- break;
-
- }
- return true;
- }
-#pragma endregion
-
- void Core::ShaderManager::CreateInputLayout(const D3D11_INPUT_ELEMENT_DESC *desc, int ElementCount,int VertexIndex,ID3D11InputLayout *&Layout)
- {
- if(VertexIndex==-1)
- {
- Layout=0;
- return;
- }
- Device->CreateInputLayout(desc,ElementCount,VData[VertexIndex].data,VData[VertexIndex].size,&Layout);
- }
-
-#pragma region Get
- int Core::ShaderManager::Get::Pixel(std::wstring Name)
- {
- if(PSMap.count(Name))
- return PSMap[Name];
- return -1;
- }
-
- int Core::ShaderManager::Get::Vertex(std::wstring Name)
- {
- if(VSMap.count(Name))
- return VSMap[Name];
- return -1;
- }
- int Core::ShaderManager::Get::Geometry(std::wstring Name)
- {
- if(GSMap.count(Name))
- return GSMap[Name];
- return -1;
- }
-
- int Core::ShaderManager::Get::Compute(std::wstring Name)
- {
- if(CSMap.count(Name))
- return CSMap[Name];
- return -1;
- }
- int Core::ShaderManager::Get::Hull(std::wstring Name)
- {
- return -1;
- }
- int Core::ShaderManager::Get::Domain(std::wstring Name)
- {
- return -1;
- }
-#pragma endregion
-
-#pragma region Set
- /// \todo smart set
- void Core::ShaderManager::Set::Pixel(int Index)
- {
- if(Index==-1)
- DeviceContext->PSSetShader( NULL,NULL,0);
- else
- DeviceContext->PSSetShader( PS[Index],NULL,0);
- }
- void Core::ShaderManager::Set::Vertex(int Index)
- {
- if(Index==-1)
- DeviceContext->VSSetShader( NULL,NULL,0);
- else
- DeviceContext->VSSetShader( VS[Index],NULL,0);
- }
- void Core::ShaderManager::Set::Geometry(int Index)
- {
- if(Index==-1)
- DeviceContext->GSSetShader( NULL,NULL,0);
- else
- DeviceContext->GSSetShader( GS[Index],NULL,0);
- }
- void Core::ShaderManager::Set::Compute(int Index)
- {
- if(Index==-1)
- DeviceContext->CSSetShader( NULL,NULL,0);
- else
- DeviceContext->CSSetShader( CS[Index],NULL,0);
- }
- /// \todo set Hull
- void Core::ShaderManager::Set::Hull(int Index)
- {
- return;
- }
- /// \todo set Domain
- void Core::ShaderManager::Set::Domain(int Index)
- {
- return;
- }
-#pragma endregion
-
- /// \todo smart Set ie. not resetting the shader
- /// \todo research states
- /// \todo smart buffer set
- void Core::ShaderManager::SetShaderEffect(ShaderEffect se)
- {
- Set::Pixel(se.Shaders.Pixel);
- Set::Vertex(se.Shaders.Vertex);
- Set::Geometry(se.Shaders.Geometry);
- Set::Compute(se.Shaders.Compute);
- Oyster::Core::DeviceContext->IASetInputLayout(se.IAStage.Layout);
- Oyster::Core::DeviceContext->IASetPrimitiveTopology(se.IAStage.Topology);
- for(unsigned int i=0;iApply(i);
- for(unsigned int i=0;iApply(i);
- for(unsigned int i=0;iApply(i);
- Oyster::Core::DeviceContext->RSSetState(se.RenderStates.Rasterizer);
- Oyster::Core::DeviceContext->PSSetSamplers(0,se.RenderStates.SampleCount,se.RenderStates.SampleState);
- float test[4] = {0};
- Oyster::Core::DeviceContext->OMSetBlendState(se.RenderStates.BlendState,test,-1);
- }
-
-}
\ No newline at end of file
diff --git a/OysterGraphics/OysterGraphics.vcxproj.filters b/OysterGraphics/OysterGraphics.vcxproj.filters
deleted file mode 100644
index 412e083a..00000000
--- a/OysterGraphics/OysterGraphics.vcxproj.filters
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hpp;hxx;hm;inl;inc;xsd
-
-
- {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
-
-
-
\ No newline at end of file