diff --git a/cpp_entity_example/cpp_entity_example.sdf b/cpp_entity_example/cpp_entity_example.sdf new file mode 100644 index 00000000..f7dca29e Binary files /dev/null and b/cpp_entity_example/cpp_entity_example.sdf differ diff --git a/cpp_entity_example/cpp_entity_example.sln b/cpp_entity_example/cpp_entity_example.sln new file mode 100644 index 00000000..055b03e1 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp_entity_example", "cpp_entity_example\cpp_entity_example.vcxproj", "{824B9034-F61C-4936-A66C-C0D27C9C2923}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Debug|x64.ActiveCfg = Debug|x64 + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Debug|x64.Build.0 = Debug|x64 + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Debug|x86.ActiveCfg = Debug|Win32 + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Debug|x86.Build.0 = Debug|Win32 + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Release|x64.ActiveCfg = Release|x64 + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Release|x64.Build.0 = Release|x64 + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Release|x86.ActiveCfg = Release|Win32 + {824B9034-F61C-4936-A66C-C0D27C9C2923}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpp_entity_example/cpp_entity_example/Debug/cpp_entity_example.log b/cpp_entity_example/cpp_entity_example/Debug/cpp_entity_example.log new file mode 100644 index 00000000..4e98b722 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/Debug/cpp_entity_example.log @@ -0,0 +1,25 @@ +Build started 2015-09-26 4:02:44 PM. + 1>Project "C:\github\SG14\cpp_entity_example\cpp_entity_example\cpp_entity_example.vcxproj" on node 2 (Build target(s)). + 1>ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /sdl /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Yu"stdafx.h" /Fp"Debug\cpp_entity_example.pch" /Fo"Debug\\" /Fd"Debug\vc140.pdb" /Gd /TP /analyze- /errorReport:prompt cpp_entity_example.cpp + cpp_entity_example.cpp + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(57): error C2065: 'default_random_engine': undeclared identifier + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(57): error C2146: syntax error: missing ';' before identifier 'generator' + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(57): error C2065: 'generator': undeclared identifier + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(58): error C2065: 'uniform_real_distribution': undeclared identifier + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(58): error C2062: type 'float' unexpected + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(59): error C2065: 'unique_ptr': undeclared identifier + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(59): error C2275: 'entity': illegal use of this type as an expression + c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(32): note: see declaration of 'entity' + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(59): error C2974: 'std::vector': invalid template argument for '_Ty', type expected + c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector(678): note: see declaration of 'std::vector' + c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector(678): note: see declaration of 'std::vector' + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(59): error C2143: syntax error: missing ';' before '>' + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(59): error C2059: syntax error: '>' + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(60): error C2065: 'entity_vec': undeclared identifier + 1>c:\github\sg14\cpp_entity_example\cpp_entity_example\cpp_entity_example.cpp(62): error C2059: syntax error: 'return' + 1>Done Building Project "C:\github\SG14\cpp_entity_example\cpp_entity_example\cpp_entity_example.vcxproj" (Build target(s)) -- FAILED. + +Build FAILED. + +Time Elapsed 00:00:00.22 diff --git a/cpp_entity_example/cpp_entity_example/Debug/cpp_entity_example.pch b/cpp_entity_example/cpp_entity_example/Debug/cpp_entity_example.pch new file mode 100644 index 00000000..38579ee9 Binary files /dev/null and b/cpp_entity_example/cpp_entity_example/Debug/cpp_entity_example.pch differ diff --git a/cpp_entity_example/cpp_entity_example/ReadMe.txt b/cpp_entity_example/cpp_entity_example/ReadMe.txt new file mode 100644 index 00000000..007dc45b --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/ReadMe.txt @@ -0,0 +1,40 @@ +======================================================================== + CONSOLE APPLICATION : cpp_entity_example Project Overview +======================================================================== + +AppWizard has created this cpp_entity_example application for you. + +This file contains a summary of what you will find in each of the files that +make up your cpp_entity_example application. + + +cpp_entity_example.vcxproj + This is the main project file for VC++ projects generated using an Application Wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + Application Wizard. + +cpp_entity_example.vcxproj.filters + This is the filters file for VC++ projects generated using an Application Wizard. + It contains information about the association between the files in your project + and the filters. This association is used in the IDE to show grouping of files with + similar extensions under a specific node (for e.g. ".cpp" files are associated with the + "Source Files" filter). + +cpp_entity_example.cpp + This is the main application source file. + +///////////////////////////////////////////////////////////////////////////// +Other standard files: + +StdAfx.h, StdAfx.cpp + These files are used to build a precompiled header (PCH) file + named cpp_entity_example.pch and a precompiled types file named StdAfx.obj. + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" comments to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/cpp_entity_example/cpp_entity_example/cpp_entity_example.cpp b/cpp_entity_example/cpp_entity_example/cpp_entity_example.cpp new file mode 100644 index 00000000..295aea01 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/cpp_entity_example.cpp @@ -0,0 +1,238 @@ +// cpp_entity_example.cpp : Defines the entry point for the console application. +// + +#include "stdafx.h" +#include "entity.h" +#include "lerp.h" +#include "hermite.h" + +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +#define ARRAY_SIZE(array) (sizeof((array))/sizeof((array[0]))) +float dummyOut[100]; +int dummyOutIndex = 0; +vector>> gSlowSimpleUpdateExampleTimers; +vector>> gSlowComplicatedUpdateExampleTimers; +vector>> gFastUpdateExampleTimers; + + +class mytimer +{ +public: + std::chrono::time_point m_start; + std::chrono::time_point m_end; + mytimer() + { + m_start = std::chrono::high_resolution_clock::now(); + } + std::chrono::duration stop() + { + m_end = std::chrono::high_resolution_clock::now(); + return m_end - m_start; + } +}; + + +void SlowUpdateExample() +{ +#ifdef PRINT + cout << "SlowUpdateExample" << endl; +#endif + default_random_engine generator; + uniform_real_distribution distribution(0, 1); + + int number_of_lerp = 400; + int number_of_hermite = 1000; + vector create_types; + for (int i = 0; i < number_of_lerp; i++) + { + create_types.emplace_back(entity_lerp_slow::type); + } + for (int i = 0; i < number_of_hermite; i++) + { + create_types.emplace_back(entity_hermite::type); + } + + shuffle(create_types.begin(), create_types.end(), generator); + + vector> entity_vec; + for (auto &create_type : create_types) + { + if (create_type == entity_hermite::type) + { + unique_ptr a(create_entity_hermite(distribution(generator), distribution(generator), distribution(generator), distribution(generator))); + entity_vec.emplace_back(std::move(a)); + } + else + { + unique_ptr a(create_entity_lerp_slow(distribution(generator), distribution(generator))); + entity_vec.emplace_back(std::move(a)); + } + } + + { + mytimer a; + for (float t = 0.0f; t < 1.0; t += 0.05f) + { + for (auto &a : entity_vec) + { + a->Update(t); +#ifdef PRINT + cout << endl; +#endif + } + } + gSlowSimpleUpdateExampleTimers.emplace_back(a.stop()); + } +} + +void SlowComplicatedUpdateExample() +{ +#ifdef PRINT + cout << "SlowComplicatedUpdateExample" << endl; +#endif + default_random_engine generator; + uniform_real_distribution distribution(0, 1); + + int number_of_lerp = 400; + int number_of_hermite = 1000; + vector create_types; + for (int i = 0; i < number_of_lerp; i++) + { + create_types.emplace_back(entity_lerp_fast::type); + } + for (int i = 0; i < number_of_hermite; i++) + { + create_types.emplace_back(entity_hermite::type); + } + + shuffle(create_types.begin(), create_types.end(), generator); + + vector> entity_vec; + for (auto &create_type : create_types) + { + if (create_type == entity_hermite::type) + { + unique_ptr a(create_entity_hermite(distribution(generator), distribution(generator), distribution(generator), distribution(generator))); + entity_vec.emplace_back(std::move(a)); + } + else + { + unique_ptr a(create_entity_lerp_fast(distribution(generator), distribution(generator))); + entity_vec.emplace_back(std::move(a)); + } + } + + + { + mytimer a; + for (float t = 0.0f; t < 1.0; t += 0.05f) + { + for (auto &a : entity_vec) + { + if (a->GetType() != entity_lerp_fast::type) + { + a->Update(t); +#ifdef PRINT + cout << endl; +#endif + } + } + entity_lerp_fast::UpdateAll(t); + } + gSlowComplicatedUpdateExampleTimers.emplace_back(a.stop()); + } +} + +void FastUpdateExampleTimers() +{ +#ifdef PRINT + cout << "FastUpdateExampleTimers" << endl; +#endif + default_random_engine generator; + uniform_real_distribution distribution(0, 1); + + int number_of_lerp = 400; + int number_of_hermite = 1000; + vector create_types; + for (int i = 0; i < number_of_lerp; i++) + { + create_types.emplace_back(entity_lerp_fast::type); + } + for (int i = 0; i < number_of_hermite; i++) + { + create_types.emplace_back(entity_hermite::type); + } + + shuffle(create_types.begin(), create_types.end(), generator); + + vector> entity_vec; + for (auto &create_type : create_types) + { + if (create_type == entity_hermite::type) + { + unique_ptr a(create_entity_hermite(distribution(generator), distribution(generator), distribution(generator), distribution(generator))); + entity_vec.emplace_back(std::move(a)); + } + else + { + unique_ptr a(create_entity_lerp_fast(distribution(generator), distribution(generator))); + entity_vec.emplace_back(std::move(a)); + } + } + + + { + mytimer a; + for (float t = 0.0f; t < 1.0; t += 0.05f) + { + for (auto &a : entity_vec) + { + if (*a->m_typedata != entity_lerp_fast::type) + { + a->Update(t); +#ifdef PRINT + cout << endl; +#endif + } + } + entity_lerp_fast::UpdateAll(t); + } + gFastUpdateExampleTimers.emplace_back(a.stop()); + } +} + +int main() +{ + SlowUpdateExample(); + SlowComplicatedUpdateExample(); + FastUpdateExampleTimers(); + + for (auto a : dummyOut) + { + cout << "dummyOut " << a << endl; + } + + for (auto & t : gSlowSimpleUpdateExampleTimers) + { + cout << "gSlowUpdateExample ms " << t.count() << endl; + } + for (auto & t : gSlowComplicatedUpdateExampleTimers) + { + cout << "gSlowComplicatedUpdateExampleTimers ms " << t.count() << endl; + } + for (auto & t : gFastUpdateExampleTimers) + { + cout << "gFastUpdateExampleTimers ms " << t.count() << endl; + } + return 0; +} + diff --git a/cpp_entity_example/cpp_entity_example/cpp_entity_example.vcxproj b/cpp_entity_example/cpp_entity_example/cpp_entity_example.vcxproj new file mode 100644 index 00000000..2469b53a --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/cpp_entity_example.vcxproj @@ -0,0 +1,168 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {824B9034-F61C-4936-A66C-C0D27C9C2923} + Win32Proj + cpp_entity_example + 8.1 + + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Use + Level3 + Disabled + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + Use + MaxSpeed + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/cpp_entity_example/cpp_entity_example/cpp_entity_example.vcxproj.filters b/cpp_entity_example/cpp_entity_example/cpp_entity_example.vcxproj.filters new file mode 100644 index 00000000..516cfba7 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/cpp_entity_example.vcxproj.filters @@ -0,0 +1,51 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;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 + + + + + + + + Header Files + + + Header Files + + + Source Files + + + Source Files + + + Source Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/cpp_entity_example/cpp_entity_example/entity.h b/cpp_entity_example/cpp_entity_example/entity.h new file mode 100644 index 00000000..8e047f3d --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/entity.h @@ -0,0 +1,12 @@ +#pragma once + +class entity +{ +public: + const long long* m_typedata; + entity(const long long* typedata) :m_typedata(typedata) {} + + virtual void Update(float t) const = 0; + virtual int GetType() const = 0; + virtual ~entity() {} +}; diff --git a/cpp_entity_example/cpp_entity_example/hermite.cpp b/cpp_entity_example/cpp_entity_example/hermite.cpp new file mode 100644 index 00000000..3b8c570a --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/hermite.cpp @@ -0,0 +1,70 @@ +// cpp_entity_example.cpp : Defines the entry point for the console application. +// + +#include "stdafx.h" + +#include "entity.h" +#include "hermite.h" + +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +#define ARRAY_SIZE(array) (sizeof((array))/sizeof((array[0]))) +extern float dummyOut[100]; +extern int dummyOutIndex; + +float hermite(float t, float p1, float p2, float n1, float n2) +{ + float t2 = t*t*t; + float t3 = t2*t; + float h1 = 2*t3 - 3*t2 + 1; + float h2 = -2*t3 + 3*t2; + float h3 = t3 - 2 * t2 + t; + float h4 = t3 - t2; + return h1*p1 + h2*p2 + h3*n1 + h4*n2; +} + +class entity_hermite_impl : public entity_hermite +{ + float m_p1; + float m_p2; + float m_n1; + float m_n2; +public: + const static int type = 3; + entity_hermite_impl(float p1, float p2, float n1, float n2) + : m_p1(p1) + , m_p2(p2) + , m_n1(n1) + , m_n2(n2) + { + + } + virtual ~entity_hermite_impl() {} + + int GetType() const override + { + return type; + } + + virtual void Update(float t) const override + { +#ifdef PRINT + cout << "hermite "; + cout << hermite(t, m_p1, m_p2, m_n1, m_n2); +#endif + dummyOut[dummyOutIndex % ARRAY_SIZE(dummyOut)] = hermite(t, m_p1, m_p2, m_n1, m_n2); + dummyOutIndex++; + } +}; + +entity_hermite* create_entity_hermite(float p1, float p2, float n1, float n2) +{ + return new entity_hermite_impl(p1, p2, n1, n2); +} \ No newline at end of file diff --git a/cpp_entity_example/cpp_entity_example/hermite.h b/cpp_entity_example/cpp_entity_example/hermite.h new file mode 100644 index 00000000..318ec3a1 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/hermite.h @@ -0,0 +1,14 @@ +#pragma once +#include "entity.h" + +class entity_hermite : public entity +{ +public: + const static long long type = 3LL; + entity_hermite() :entity(&type) {} + + virtual int GetType() const override = 0; + virtual void Update(float t) const override = 0; +}; + +entity_hermite* create_entity_hermite(float p1, float p2, float n1, float n2); \ No newline at end of file diff --git a/cpp_entity_example/cpp_entity_example/lerp.cpp b/cpp_entity_example/cpp_entity_example/lerp.cpp new file mode 100644 index 00000000..9b5b6ad2 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/lerp.cpp @@ -0,0 +1,120 @@ +// cpp_entity_example.cpp : Defines the entry point for the console application. +// + +#include "stdafx.h" +#include "entity.h" +#include "lerp.h" + + +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +#define ARRAY_SIZE(array) (sizeof((array))/sizeof((array[0]))) +extern float dummyOut[100]; +extern int dummyOutIndex; + +float lerp(float t, float s, float d) +{ + return t * (s - d) + d; +} + +class entity_lerp_slow_impl : public entity_lerp_slow +{ + float m_s; + float m_d; +public: + const static int type = 1; + + entity_lerp_slow_impl(float s, float d) + :m_s(s) + , m_d(d) + {} + virtual ~entity_lerp_slow_impl() {} + + int GetType() const override + { + return type; + } + + virtual void Update(float t) const override + { +#ifdef PRINT + cout << "lerp "; + cout << lerp(t, m_s, m_d); +#endif + dummyOut[dummyOutIndex % ARRAY_SIZE(dummyOut)] = lerp(t, m_s, m_d); + dummyOutIndex++; + } +}; + +struct Pos +{ + float x; + float y; +}; + +class entity_lerp_fast_impl : public entity_lerp_fast +{ + static vector s_positions; +public: + const static int type = 2; + + entity_lerp_fast_impl(float s, float d) + { + s_positions.push_back({ s,d }); + } + + virtual ~entity_lerp_fast_impl() + { + s_positions.pop_back(); + } + + int GetType() const override + { + return type; + } + + void Update(float t) const override + { + assert(0); // don't call. + } + + static void UpdateAll(float t) + { + for (auto& pos : s_positions) + { +#ifdef PRINT + cout << "fast_lerp "; + cout << lerp(t, pos.x, pos.y); + cout << endl; +#endif + dummyOut[dummyOutIndex % ARRAY_SIZE(dummyOut)] = lerp(t, pos.x, pos.y); + dummyOutIndex++; + } + } +}; + +vector entity_lerp_fast_impl::s_positions; + +void entity_lerp_fast::UpdateAll(float t) +{ + entity_lerp_fast_impl::UpdateAll(t); +} + +entity_lerp_fast* create_entity_lerp_fast(float p1, float p2) +{ + return new entity_lerp_fast_impl(p1, p2); +} + + +entity_lerp_slow* create_entity_lerp_slow(float p1, float p2) +{ + return new entity_lerp_slow_impl(p1, p2); +} + diff --git a/cpp_entity_example/cpp_entity_example/lerp.h b/cpp_entity_example/cpp_entity_example/lerp.h new file mode 100644 index 00000000..f3e85055 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/lerp.h @@ -0,0 +1,24 @@ +#pragma once +class entity_lerp_slow : public entity +{ +public: + const static long long type = 1LL; + entity_lerp_slow() :entity(&type) {} + + virtual int GetType() const override = 0; + virtual void Update(float t) const override = 0; +}; + +class entity_lerp_fast : public entity +{ +public: + const static long long type = 2LL; + entity_lerp_fast() :entity(&type) {} + + virtual int GetType() const override = 0; + virtual void Update(float t) const override = 0; + static void UpdateAll(float t); +}; + +entity_lerp_fast* create_entity_lerp_fast(float p1, float p2); +entity_lerp_slow* create_entity_lerp_slow(float p1, float p2); diff --git a/cpp_entity_example/cpp_entity_example/stdafx.cpp b/cpp_entity_example/cpp_entity_example/stdafx.cpp new file mode 100644 index 00000000..eb98063c --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// cpp_entity_example.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/cpp_entity_example/cpp_entity_example/stdafx.h b/cpp_entity_example/cpp_entity_example/stdafx.h new file mode 100644 index 00000000..b005a839 --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/stdafx.h @@ -0,0 +1,15 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "targetver.h" + +#include +#include + + + +// TODO: reference additional headers your program requires here diff --git a/cpp_entity_example/cpp_entity_example/targetver.h b/cpp_entity_example/cpp_entity_example/targetver.h new file mode 100644 index 00000000..87c0086d --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// Including SDKDDKVer.h defines the highest available Windows platform. + +// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and +// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. + +#include diff --git a/cpp_entity_example/cpp_entity_example/x64/Debug/cpp_entity_example.log b/cpp_entity_example/cpp_entity_example/x64/Debug/cpp_entity_example.log new file mode 100644 index 00000000..c24e597a --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/x64/Debug/cpp_entity_example.log @@ -0,0 +1,19 @@ +Build started 2015-09-26 6:18:57 PM. + 1>Project "C:\github\SG14\cpp_entity_example\cpp_entity_example\cpp_entity_example.vcxproj" on node 2 (Build target(s)). + 1>ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c /ZI /nologo /W3 /WX- /sdl /Od /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Yu"stdafx.h" /Fp"x64\Debug\cpp_entity_example.pch" /Fo"x64\Debug\\" /Fd"x64\Debug\vc140.pdb" /Gd /TP /errorReport:prompt cpp_entity_example.cpp hermite.cpp lerp.cpp + lerp.cpp + hermite.cpp + cpp_entity_example.cpp + Generating Code... + Link: + C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:PROMPT /OUT:"C:\github\SG14\cpp_entity_example\x64\Debug\cpp_entity_example.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:\github\SG14\cpp_entity_example\x64\Debug\cpp_entity_example.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\github\SG14\cpp_entity_example\x64\Debug\cpp_entity_example.lib" /MACHINE:X64 x64\Debug\cpp_entity_example.obj + x64\Debug\hermite.obj + x64\Debug\lerp.obj + x64\Debug\stdafx.obj + cpp_entity_example.vcxproj -> C:\github\SG14\cpp_entity_example\x64\Debug\cpp_entity_example.exe + 1>Done Building Project "C:\github\SG14\cpp_entity_example\cpp_entity_example\cpp_entity_example.vcxproj" (Build target(s)). + +Build succeeded. + +Time Elapsed 00:00:01.57 diff --git a/cpp_entity_example/cpp_entity_example/x64/Debug/cpp_entity_example.pch b/cpp_entity_example/cpp_entity_example/x64/Debug/cpp_entity_example.pch new file mode 100644 index 00000000..60837fcb Binary files /dev/null and b/cpp_entity_example/cpp_entity_example/x64/Debug/cpp_entity_example.pch differ diff --git a/cpp_entity_example/cpp_entity_example/x64/Release/cpp_entity_example.log b/cpp_entity_example/cpp_entity_example/x64/Release/cpp_entity_example.log new file mode 100644 index 00000000..27a15b5e --- /dev/null +++ b/cpp_entity_example/cpp_entity_example/x64/Release/cpp_entity_example.log @@ -0,0 +1,21 @@ +Build started 2015-09-27 12:25:17 AM. + 1>Project "C:\github\SG14\cpp_entity_example\cpp_entity_example\cpp_entity_example.vcxproj" on node 2 (Build target(s)). + 1>ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c /Zi /nologo /W3 /WX- /sdl /O2 /Oi /GL /D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Yu"stdafx.h" /Fp"x64\Release\cpp_entity_example.pch" /Fo"x64\Release\\" /Fd"x64\Release\vc140.pdb" /Gd /TP /errorReport:prompt cpp_entity_example.cpp + cpp_entity_example.cpp + Link: + C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:PROMPT /OUT:"C:\github\SG14\cpp_entity_example\x64\Release\cpp_entity_example.exe" /INCREMENTAL:NO /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:\github\SG14\cpp_entity_example\x64\Release\cpp_entity_example.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG:incremental /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\github\SG14\cpp_entity_example\x64\Release\cpp_entity_example.lib" /MACHINE:X64 x64\Release\cpp_entity_example.obj + x64\Release\hermite.obj + x64\Release\lerp.obj + x64\Release\stdafx.obj + Generating code + 86 of 450 functions (19.1%) were compiled, the rest were copied from previous compilation. + 82 functions were new in current compilation + 5 functions had inline decision re-evaluated but remain unchanged + Finished generating code + cpp_entity_example.vcxproj -> C:\github\SG14\cpp_entity_example\x64\Release\cpp_entity_example.exe + 1>Done Building Project "C:\github\SG14\cpp_entity_example\cpp_entity_example\cpp_entity_example.vcxproj" (Build target(s)). + +Build succeeded. + +Time Elapsed 00:00:00.84 diff --git a/cpp_entity_example/cpp_entity_example/x64/Release/cpp_entity_example.pch b/cpp_entity_example/cpp_entity_example/x64/Release/cpp_entity_example.pch new file mode 100644 index 00000000..5bd13af3 Binary files /dev/null and b/cpp_entity_example/cpp_entity_example/x64/Release/cpp_entity_example.pch differ diff --git a/cpp_entity_example/x64/Release/cpp_entity_example.iobj b/cpp_entity_example/x64/Release/cpp_entity_example.iobj new file mode 100644 index 00000000..a42de827 Binary files /dev/null and b/cpp_entity_example/x64/Release/cpp_entity_example.iobj differ