From 86ec124751fb42a6cef96c02ae84c196c5a9290c Mon Sep 17 00:00:00 2001 From: Peter Schaefer Date: Sun, 27 Mar 2016 15:35:33 +0200 Subject: [PATCH] added Debug Entries --- Weave/Graphix/Debug.h | 153 ++++++++++ Weave/Graphix/Graphix.cpp | 543 +++++++++++++++++++----------------- Weave/Weave.vcxproj | 327 +++++++++++----------- Weave/Weave.vcxproj.filters | 355 +++++++++++------------ 4 files changed, 783 insertions(+), 595 deletions(-) create mode 100644 Weave/Graphix/Debug.h diff --git a/Weave/Graphix/Debug.h b/Weave/Graphix/Debug.h new file mode 100644 index 0000000..6cd1a7c --- /dev/null +++ b/Weave/Graphix/Debug.h @@ -0,0 +1,153 @@ +#pragma once + +#if _DEBUG + +#include +#include +#include +#include +#include + + +static std::string FormatDebugOutput(GLenum source, GLenum type, GLuint id, GLenum severity, const char* msg) { + std::stringstream stringStream; + std::string sourceString; + std::string typeString; + std::string severityString; + + // The AMD variant of this extension provides a less detailed classification of the error, + // which is why some arguments might be "Unknown". + switch (source) { + case GL_DEBUG_CATEGORY_API_ERROR_AMD: + case GL_DEBUG_SOURCE_API: { + sourceString = "API"; + break; + } + case GL_DEBUG_CATEGORY_APPLICATION_AMD: + case GL_DEBUG_SOURCE_APPLICATION: { + sourceString = "Application"; + break; + } + case GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD: + case GL_DEBUG_SOURCE_WINDOW_SYSTEM: { + sourceString = "Window System"; + break; + } + case GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD: + case GL_DEBUG_SOURCE_SHADER_COMPILER: { + sourceString = "Shader Compiler"; + break; + } + case GL_DEBUG_SOURCE_THIRD_PARTY: { + sourceString = "Third Party"; + break; + } + case GL_DEBUG_CATEGORY_OTHER_AMD: + case GL_DEBUG_SOURCE_OTHER: { + sourceString = "Other"; + break; + } + default: { + sourceString = "Unknown"; + break; + } + } + + switch (type) { + case GL_DEBUG_TYPE_ERROR: { + typeString = "Error"; + break; + } + case GL_DEBUG_CATEGORY_DEPRECATION_AMD: + case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: { + typeString = "Deprecated Behavior"; + break; + } + case GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD: + case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: { + typeString = "Undefined Behavior"; + break; + } + case GL_DEBUG_TYPE_PORTABILITY_ARB: { + typeString = "Portability"; + break; + } + case GL_DEBUG_CATEGORY_PERFORMANCE_AMD: + case GL_DEBUG_TYPE_PERFORMANCE: { + typeString = "Performance"; + break; + } + case GL_DEBUG_CATEGORY_OTHER_AMD: + case GL_DEBUG_TYPE_OTHER: { + typeString = "Other"; + break; + } + default: { + typeString = "Unknown"; + break; + } + } + + switch (severity) { + case GL_DEBUG_SEVERITY_HIGH: { + severityString = "High"; + break; + } + case GL_DEBUG_SEVERITY_MEDIUM: { + severityString = "Medium"; + break; + } + case GL_DEBUG_SEVERITY_LOW: { + severityString = "Low"; + break; + } + default: { + severityString = "Unknown"; + break; + } + } + + stringStream << "OpenGL Error: " << msg; + stringStream << " [Source = " << sourceString; + stringStream << ", Type = " << typeString; + stringStream << ", Severity = " << severityString; + stringStream << ", ID = " << id << "]"; + + return stringStream.str(); +} + +static void APIENTRY DebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const GLvoid* userParam) { + switch (id) { + case 131218: { + // Program/shader state performance warning: + // Fragment Shader is going to be recompiled because the shader key based on GL state mismatches. + + return; + } + default: { + break; + } + } + + std::string error = FormatDebugOutput(source, type, id, severity, message); + std::cout << error << std::endl; //set BREAKPOINT HERE +} + +static void APIENTRY DebugCallbackAMD(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam) { + switch (id) { + case 131218: { + // Program/shader state performance warning: + // Fragment Shader is going to be recompiled because the shader key based on GL state mismatches. + + return; + } + default: { + break; + } + } + + std::string error = FormatDebugOutput(category, category, id, severity, message); + std::cout << error << std::endl; //set BREAKPOINT HERE +} +#endif + diff --git a/Weave/Graphix/Graphix.cpp b/Weave/Graphix/Graphix.cpp index cfe9e34..d0b064e 100644 --- a/Weave/Graphix/Graphix.cpp +++ b/Weave/Graphix/Graphix.cpp @@ -1,256 +1,287 @@ -#include "Graphix.h" - -#include "../Message.h" -#include "Shader.h" -#include - -using std::string; - -#define MOTION_BLUR_COEFF 0.99f -#define MOTION_BLUR_INTENS 0.99f - -void Graphix::setWindowSize(unsigned int _width, unsigned int _height) -{ - width = _width; - height = _height; -} - -void Graphix::setWindowPos(unsigned int _xpos, unsigned int _ypos) -{ - xpos = _xpos; - ypos = _ypos; -} - -unsigned int Graphix::getWindowHeight() -{ - return height; -} -unsigned int Graphix::getWindowWidth() -{ - return width; -} - - -void Graphix::enableEffects(Effects _eff) -{ - effects |= _eff; - - updateEffects(); -} - - -void Graphix::disableEffects(Effects _eff) -{ - effects &= ~_eff; - - updateEffects(); -} - -bool Graphix::testEffect(Effects _eff) -{ - return effects & _eff; -} - -void Graphix::updateEffects() -{ - //Transparency - if (effects & EF_TRANSPARENCY) - { - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - } - else - glDisable(GL_BLEND); -} - -void Graphix::init() -{ - - if (SDL_Init(sdlFlags) != 0) - { - Message::error((string)"SDL_Init: " + SDL_GetError()); - } - - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - - SDL_GL_SetAttribute(SDL_GL_ACCUM_RED_SIZE, 16); - SDL_GL_SetAttribute(SDL_GL_ACCUM_GREEN_SIZE, 16); - SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE, 16); - SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE, 16); - - sdl_window = SDL_CreateWindow(windowTitle.c_str(), xpos, ypos, width, height, windowFlags); - - if (sdl_window == nullptr) - { - Message::error((string)"SDL_CreateWindow: " + SDL_GetError()); - } - - sdl_glcontext = SDL_GL_CreateContext(sdl_window); - - GLenum err = glewInit(); - if (err != GLEW_OK) - { - Message::error((string)"glewInit: " + (char*)glewGetErrorString(err)); - } - - SDL_ShowCursor(SDL_DISABLE); - - glEnable(GL_DEPTH_TEST); - - //SDL_SetWindowGrab(sdl_window, SDL_TRUE); - //SDL_ShowCursor(SDL_DISABLE); - glEnable(GL_COLOR_MATERIAL); - //glEnable(GL_TEXTURE_CUBE_MAP); - //glEnable(GL_LIGHTING); - //glEnable(GL_LIGHT0); - glEnable(GL_CULL_FACE); - glShadeModel(GL_SMOOTH); - - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glClearColor(0.9f, 0.9f, 1.0f, 1.f); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glClearAccum(0.f, 0.f, 0.f, 0.f); - glClear(GL_ACCUM_BUFFER_BIT); - - shader_BBox = new Shader("basic_VS.hlsl", "basic_FS.hlsl"); -} - -void Graphix::FullScreen(bool _enable, bool _keepDesktopResolution) -{ - if (_enable) - { - if (_keepDesktopResolution) - { - width_bkp = width; - height_bkp = height; - - SDL_DisplayMode dm; - if (SDL_GetDesktopDisplayMode(0, &dm) != 0) - Message::error((string)"SDL_GetDesktopDisplayMode failed:" + SDL_GetError()); - - width = dm.w; - height = dm.h; - - SDL_SetWindowSize(sdl_window, width, height); - } - SDL_SetWindowFullscreen(sdl_window, SDL_WINDOW_FULLSCREEN); - } - else - { - if (_keepDesktopResolution && width_bkp !=0) - { - width = width_bkp; - height = height_bkp; - - SDL_SetWindowSize(sdl_window, width, height); - } - SDL_SetWindowFullscreen(sdl_window, 0); - } - -} - -void Graphix::catchMouse() -{ - //SDL_SetWindowGrab(sdl_window, SDL_TRUE); - SDL_ShowCursor(SDL_DISABLE); //TODO eventuell nicht nötig -} - -void Graphix::freeMouse() -{ - //SDL_SetWindowGrab(sdl_window, SDL_FALSE); - SDL_ShowCursor(SDL_ENABLE); //TODO eventuell nicht nötig -} - -void Graphix::hideMouse(bool _enable) -{ - if (_enable) - SDL_ShowCursor(SDL_DISABLE); - else - SDL_ShowCursor(SDL_ENABLE); -} - -void Graphix::clear() -{ - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - if (testEffect(EF_MOTION_BLUR)) - { - glAccum(GL_RETURN, MOTION_BLUR_INTENS); - glClear(GL_ACCUM_BUFFER_BIT); - } - - -} - - -void Graphix::swap() -{ - if (testEffect(EF_MOTION_BLUR)) - glAccum(GL_ACCUM, MOTION_BLUR_COEFF); - SDL_GL_SwapWindow(sdl_window); -} - - - -void Graphix::cleanup() -{ - delete shader_BBox; - - //SDL_SetWindowGrab(sdl_window, SDL_FALSE); - - SDL_GL_DeleteContext(sdl_glcontext); - SDL_DestroyWindow(sdl_window); - - SDL_Quit(); -} - -unsigned int Graphix::getGlError() -{ - GLenum error = glGetError(); - - if (error != GL_NO_ERROR) { - switch (error) { - case GL_INVALID_ENUM: - Message::error((string)"GL: enum argument out of range."); - break; - case GL_INVALID_VALUE: - Message::error((string)"GL: Numeric argument out of range."); - break; - case GL_INVALID_OPERATION: - Message::error((string)"GL: Operation illegal in current state."); - break; - case GL_INVALID_FRAMEBUFFER_OPERATION: - Message::error((string)"GL: Framebuffer object is not complete."); - break; - case GL_OUT_OF_MEMORY: - Message::error((string)"GL: Not enough memory left to execute command."); - break; - default: - Message::error((string)"GL: Unknown error."); - } - } - return error; -} - -unsigned int Graphix::width = 1024; -unsigned int Graphix::height = 768; - -unsigned int Graphix::xpos = SDL_WINDOWPOS_UNDEFINED; -unsigned int Graphix::ypos = SDL_WINDOWPOS_UNDEFINED; - -unsigned int Graphix::width_bkp = 0; -unsigned int Graphix::height_bkp = 0; - -string Graphix::windowTitle = "Weave"; - -Uint32 Graphix::windowFlags = SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_INPUT_GRABBED; -Uint32 Graphix::sdlFlags = SDL_INIT_VIDEO | SDL_INIT_TIMER; - -SDL_Window* Graphix::sdl_window; - -SDL_GLContext Graphix::sdl_glcontext; - -short Graphix::effects = EF_TRANSPARENCY; - -Shader* Graphix::shader_BBox; +#include "Graphix.h" + +#include "Debug.h" + +#include "../Message.h" +#include "Shader.h" +#include + +using std::string; + +#define MOTION_BLUR_COEFF 0.99f +#define MOTION_BLUR_INTENS 0.99f + +void Graphix::setWindowSize(unsigned int _width, unsigned int _height) +{ + width = _width; + height = _height; +} + +void Graphix::setWindowPos(unsigned int _xpos, unsigned int _ypos) +{ + xpos = _xpos; + ypos = _ypos; +} + +unsigned int Graphix::getWindowHeight() +{ + return height; +} +unsigned int Graphix::getWindowWidth() +{ + return width; +} + + +void Graphix::enableEffects(Effects _eff) +{ + effects |= _eff; + + updateEffects(); +} + + +void Graphix::disableEffects(Effects _eff) +{ + effects &= ~_eff; + + updateEffects(); +} + +bool Graphix::testEffect(Effects _eff) +{ + return effects & _eff; +} + +void Graphix::updateEffects() +{ + //Transparency + if (effects & EF_TRANSPARENCY) + { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + else + glDisable(GL_BLEND); +} + +void Graphix::init() +{ + + if (SDL_Init(sdlFlags) != 0) + { + Message::error((string)"SDL_Init: " + SDL_GetError()); + } + +#if _DEBUG + SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG); +#endif + + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + + SDL_GL_SetAttribute(SDL_GL_ACCUM_RED_SIZE, 16); + SDL_GL_SetAttribute(SDL_GL_ACCUM_GREEN_SIZE, 16); + SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE, 16); + SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE, 16); + + sdl_window = SDL_CreateWindow(windowTitle.c_str(), xpos, ypos, width, height, windowFlags); + + if (sdl_window == nullptr) + { + Message::error((string)"SDL_CreateWindow: " + SDL_GetError()); + } + + sdl_glcontext = SDL_GL_CreateContext(sdl_window); + + GLenum err = glewInit(); + if (err != GLEW_OK) + { + Message::error((string)"glewInit: " + (char*)glewGetErrorString(err)); + } + +#if _DEBUG + // Query the OpenGL function to register your callback function. + PFNGLDEBUGMESSAGECALLBACKPROC _glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)wglGetProcAddress("glDebugMessageCallback"); + PFNGLDEBUGMESSAGECALLBACKARBPROC _glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)wglGetProcAddress("glDebugMessageCallbackARB"); + PFNGLDEBUGMESSAGECALLBACKAMDPROC _glDebugMessageCallbackAMD = (PFNGLDEBUGMESSAGECALLBACKAMDPROC)wglGetProcAddress("glDebugMessageCallbackAMD"); + + // Register your callback function. + if (_glDebugMessageCallback != NULL) { + _glDebugMessageCallback(DebugCallback, NULL); + } + else if (_glDebugMessageCallbackARB != NULL) { + _glDebugMessageCallbackARB(DebugCallback, NULL); + } + else if (_glDebugMessageCallbackAMD != NULL) { + _glDebugMessageCallbackAMD(DebugCallbackAMD, NULL); + } + + // Enable synchronous callback. This ensures that your callback function is called + // right after an error has occurred. This capability is not defined in the AMD + // version. + if ((_glDebugMessageCallback != NULL) || (_glDebugMessageCallbackARB != NULL)) { + glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); + } +#endif + + SDL_ShowCursor(SDL_DISABLE); + + glEnable(GL_DEPTH_TEST); + + //SDL_SetWindowGrab(sdl_window, SDL_TRUE); + //SDL_ShowCursor(SDL_DISABLE); + glEnable(GL_COLOR_MATERIAL); + //glEnable(GL_TEXTURE_CUBE_MAP); + //glEnable(GL_LIGHTING); + //glEnable(GL_LIGHT0); + glEnable(GL_CULL_FACE); + glShadeModel(GL_SMOOTH); + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glClearColor(0.9f, 0.9f, 1.0f, 1.f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glClearAccum(0.f, 0.f, 0.f, 0.f); + glClear(GL_ACCUM_BUFFER_BIT); + + shader_BBox = new Shader("basic_VS.hlsl", "basic_FS.hlsl"); +} + +void Graphix::FullScreen(bool _enable, bool _keepDesktopResolution) +{ + if (_enable) + { + if (_keepDesktopResolution) + { + width_bkp = width; + height_bkp = height; + + SDL_DisplayMode dm; + if (SDL_GetDesktopDisplayMode(0, &dm) != 0) + Message::error((string)"SDL_GetDesktopDisplayMode failed:" + SDL_GetError()); + + width = dm.w; + height = dm.h; + + SDL_SetWindowSize(sdl_window, width, height); + } + SDL_SetWindowFullscreen(sdl_window, SDL_WINDOW_FULLSCREEN); + } + else + { + if (_keepDesktopResolution && width_bkp !=0) + { + width = width_bkp; + height = height_bkp; + + SDL_SetWindowSize(sdl_window, width, height); + } + SDL_SetWindowFullscreen(sdl_window, 0); + } + +} + +void Graphix::catchMouse() +{ + //SDL_SetWindowGrab(sdl_window, SDL_TRUE); + SDL_ShowCursor(SDL_DISABLE); //TODO eventuell nicht nötig +} + +void Graphix::freeMouse() +{ + //SDL_SetWindowGrab(sdl_window, SDL_FALSE); + SDL_ShowCursor(SDL_ENABLE); //TODO eventuell nicht nötig +} + +void Graphix::hideMouse(bool _enable) +{ + if (_enable) + SDL_ShowCursor(SDL_DISABLE); + else + SDL_ShowCursor(SDL_ENABLE); +} + +void Graphix::clear() +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + if (testEffect(EF_MOTION_BLUR)) + { + glAccum(GL_RETURN, MOTION_BLUR_INTENS); + glClear(GL_ACCUM_BUFFER_BIT); + } + + +} + + +void Graphix::swap() +{ + if (testEffect(EF_MOTION_BLUR)) + glAccum(GL_ACCUM, MOTION_BLUR_COEFF); + SDL_GL_SwapWindow(sdl_window); +} + + + +void Graphix::cleanup() +{ + delete shader_BBox; + + //SDL_SetWindowGrab(sdl_window, SDL_FALSE); + + SDL_GL_DeleteContext(sdl_glcontext); + SDL_DestroyWindow(sdl_window); + + SDL_Quit(); +} + +unsigned int Graphix::getGlError() +{ + GLenum error = glGetError(); + + if (error != GL_NO_ERROR) { + switch (error) { + case GL_INVALID_ENUM: + Message::error((string)"GL: enum argument out of range."); + break; + case GL_INVALID_VALUE: + Message::error((string)"GL: Numeric argument out of range."); + break; + case GL_INVALID_OPERATION: + Message::error((string)"GL: Operation illegal in current state."); + break; + case GL_INVALID_FRAMEBUFFER_OPERATION: + Message::error((string)"GL: Framebuffer object is not complete."); + break; + case GL_OUT_OF_MEMORY: + Message::error((string)"GL: Not enough memory left to execute command."); + break; + default: + Message::error((string)"GL: Unknown error."); + } + } + return error; +} + +unsigned int Graphix::width = 1024; +unsigned int Graphix::height = 768; + +unsigned int Graphix::xpos = SDL_WINDOWPOS_UNDEFINED; +unsigned int Graphix::ypos = SDL_WINDOWPOS_UNDEFINED; + +unsigned int Graphix::width_bkp = 0; +unsigned int Graphix::height_bkp = 0; + +string Graphix::windowTitle = "Weave"; + +Uint32 Graphix::windowFlags = SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_INPUT_GRABBED; +Uint32 Graphix::sdlFlags = SDL_INIT_VIDEO | SDL_INIT_TIMER; + +SDL_Window* Graphix::sdl_window; + +SDL_GLContext Graphix::sdl_glcontext; + +short Graphix::effects = EF_TRANSPARENCY; + +Shader* Graphix::shader_BBox; diff --git a/Weave/Weave.vcxproj b/Weave/Weave.vcxproj index 3f81b1e..8f95dbd 100644 --- a/Weave/Weave.vcxproj +++ b/Weave/Weave.vcxproj @@ -1,164 +1,165 @@ - - - - - Debug - Win32 - - - bin - Win32 - - - - {A2F0B06D-880C-4B90-9D4B-8B174418E1BE} - Win32Proj - Weave - - - - Application - true - v140 - Unicode - - - Application - false - v140 - true - Unicode - - - - - - - - - - - - - $(SolutionDir)build-$(Configuration)-$(ProjectName)\ - - - $(SolutionDir)build-$(Configuration)-$(ProjectName)\ - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) - $(SolutionDir)include;$(SolutionDir)include/freetype2;$(SolutionDir)res\bullet3\src - true - - - Console - true - $(SolutionDir)lib\$(PlatformTarget);$(SolutionDir)lib - OpenGL32.lib;SDL2.lib;SDL2main.lib;freetype.lib;zdll.lib;glew32.lib;FreeImage.lib;assimp.lib - - - - - true - - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) - $(SolutionDir)include;$(SolutionDir)include/freetype2;$(SolutionDir)res\bullet3\src - - - Console - true - true - true - $(SolutionDir)lib\$(PlatformTarget);$(SolutionDir)lib;$(SolutionDir)res\bulletMAKE\lib\$(PlatformTarget) - OpenGL32.lib;SDL2.lib;SDL2main.lib;freetype.lib;zdll.lib;glew32.lib;FreeImage.lib;assimp.lib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {7165bc00-1390-48dd-b00f-aa2789359081} - - - {ae9328ac-e966-41c6-9e6a-b5f4468aa1ea} - - - {80889ecf-0f1c-4cef-987b-25d1856c2b50} - - - - - + + + + + Debug + Win32 + + + bin + Win32 + + + + {A2F0B06D-880C-4B90-9D4B-8B174418E1BE} + Win32Proj + Weave + + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + $(SolutionDir)build-$(Configuration)-$(ProjectName)\ + + + $(SolutionDir)build-$(Configuration)-$(ProjectName)\ + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)include;$(SolutionDir)include/freetype2;$(SolutionDir)res\bullet3\src + true + + + Console + true + $(SolutionDir)lib\$(PlatformTarget);$(SolutionDir)lib + OpenGL32.lib;SDL2.lib;SDL2main.lib;freetype.lib;zdll.lib;glew32.lib;FreeImage.lib;assimp.lib + + + + + true + + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)include;$(SolutionDir)include/freetype2;$(SolutionDir)res\bullet3\src + + + Console + true + true + true + $(SolutionDir)lib\$(PlatformTarget);$(SolutionDir)lib;$(SolutionDir)res\bulletMAKE\lib\$(PlatformTarget) + OpenGL32.lib;SDL2.lib;SDL2main.lib;freetype.lib;zdll.lib;glew32.lib;FreeImage.lib;assimp.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {7165bc00-1390-48dd-b00f-aa2789359081} + + + {ae9328ac-e966-41c6-9e6a-b5f4468aa1ea} + + + {80889ecf-0f1c-4cef-987b-25d1856c2b50} + + + + + \ No newline at end of file diff --git a/Weave/Weave.vcxproj.filters b/Weave/Weave.vcxproj.filters index c9f3dc3..6795ff9 100644 --- a/Weave/Weave.vcxproj.filters +++ b/Weave/Weave.vcxproj.filters @@ -1,177 +1,180 @@ - - - - - {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 - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - 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 - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - + + + + + {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 + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + 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 + + + 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 -- 2.47.3