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