├── includes ├── GLM │ ├── gtx │ │ ├── type_trait.inl │ │ ├── raw_data.inl │ │ ├── type_aligned.inl │ │ ├── std_based_type.inl │ │ ├── number_precision.inl │ │ ├── projection.inl │ │ ├── perpendicular.inl │ │ ├── mixed_product.inl │ │ ├── normal.inl │ │ ├── float_notmalize.inl │ │ ├── optimum_pow.inl │ │ ├── log_base.inl │ │ ├── normalize_dot.inl │ │ ├── transform.inl │ │ ├── handed_coordinate_space.inl │ │ ├── orthonormalize.inl │ │ ├── scalar_relational.hpp │ │ ├── matrix_cross_product.inl │ │ ├── projection.hpp │ │ ├── polar_coordinates.inl │ │ ├── mixed_product.hpp │ │ ├── extend.hpp │ │ ├── normal.hpp │ │ ├── perpendicular.hpp │ │ ├── gradient_paint.inl │ │ ├── extend.inl │ │ ├── log_base.hpp │ │ ├── raw_data.hpp │ │ ├── matrix_cross_product.hpp │ │ ├── orthonormalize.hpp │ │ ├── polar_coordinates.hpp │ │ ├── closest_point.hpp │ │ ├── optimum_pow.hpp │ │ ├── closest_point.inl │ │ ├── matrix_decompose.hpp │ │ ├── string_cast.hpp │ │ ├── gradient_paint.hpp │ │ ├── wrap.hpp │ │ ├── scalar_relational.inl │ │ ├── handed_coordinate_space.hpp │ │ ├── normalize_dot.hpp │ │ ├── spline.hpp │ │ ├── transform.hpp │ │ ├── matrix_transform_2d.inl │ │ ├── vector_angle.inl │ │ ├── compatibility.inl │ │ ├── vector_angle.hpp │ │ ├── color_space_YCoCg.hpp │ │ ├── rotate_normalized_axis.inl │ │ ├── matrix_interpolation.hpp │ │ ├── std_based_type.hpp │ │ ├── color_space.hpp │ │ ├── wrap.inl │ │ ├── common.hpp │ │ ├── range.hpp │ │ ├── spline.inl │ │ ├── scalar_multiplication.hpp │ │ ├── integer.hpp │ │ ├── number_precision.hpp │ │ ├── rotate_normalized_axis.hpp │ │ ├── vector_query.hpp │ │ ├── component_wise.hpp │ │ ├── fast_trigonometry.hpp │ │ ├── norm.hpp │ │ ├── matrix_operation.hpp │ │ ├── matrix_transform_2d.hpp │ │ └── matrix_query.hpp │ ├── detail │ │ ├── func_trigonometric_simd.inl │ │ ├── type_vec.inl │ │ ├── type_mat.inl │ │ ├── type_mat4x4_simd.inl │ │ ├── func_packing_simd.inl │ │ ├── func_vector_relational_simd.inl │ │ ├── type_half.hpp │ │ ├── _fixes.hpp │ │ ├── func_exponential_simd.inl │ │ ├── precision.hpp │ │ └── func_integer_simd.inl │ ├── out │ │ └── build │ │ │ └── x64-Debug │ │ │ ├── CMakeFiles │ │ │ ├── ShowIncludes │ │ │ │ ├── foo.h │ │ │ │ └── main.c │ │ │ ├── cmake.check_cache │ │ │ ├── feature_tests.bin │ │ │ ├── 3.14.19050301-MSVC_2 │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ ├── CompilerIdC │ │ │ │ │ └── CMakeCCompilerId.exe │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ ├── CompilerIdCXX │ │ │ │ │ └── CMakeCXXCompilerId.exe │ │ │ │ ├── CMakeRCCompiler.cmake │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ └── CMakeCCompiler.cmake │ │ │ ├── TargetDirectories.txt │ │ │ └── feature_tests.c │ │ │ ├── VSInheritEnvironments.txt │ │ │ ├── .cmake │ │ │ └── api │ │ │ │ └── v1 │ │ │ │ ├── query │ │ │ │ └── client-MicrosoftVS │ │ │ │ │ └── query.json │ │ │ │ └── reply │ │ │ │ └── codemodel-v2-2d93f4aed29f2d8af3ee.json │ │ │ └── cmake_install.cmake │ ├── gtc │ │ ├── vec1.inl │ │ ├── type_precision.inl │ │ ├── functions.inl │ │ ├── functions.hpp │ │ ├── matrix_access.inl │ │ ├── matrix_access.hpp │ │ ├── matrix_inverse.hpp │ │ ├── noise.hpp │ │ ├── ulp.hpp │ │ ├── epsilon.hpp │ │ ├── color_space.hpp │ │ └── color_encoding.inl │ ├── vec2.hpp │ ├── vec3.hpp │ ├── vec4.hpp │ ├── common.hpp │ ├── integer.hpp │ ├── matrix.hpp │ ├── packing.hpp │ ├── geometric.hpp │ ├── exponential.hpp │ ├── trigonometric.hpp │ ├── vector_relational.hpp │ ├── simd │ │ ├── packing.h │ │ ├── vector_relational.h │ │ ├── trigonometric.h │ │ └── exponential.h │ ├── mat2x4.hpp │ ├── mat3x2.hpp │ ├── mat3x4.hpp │ ├── mat4x2.hpp │ ├── mat4x3.hpp │ └── mat2x3.hpp └── assimp │ ├── defs.h │ ├── matrix3x3.h │ ├── matrix4x4.h │ ├── matrix3x3.inl │ ├── matrix4x4.inl │ ├── ai_assert.h │ └── Compiler │ ├── poppack1.h │ └── pushpack1.h ├── NormalMapGeneratorTool ├── Resources │ ├── Preference │ │ └── preference.npref │ ├── Textures │ │ ├── UI │ │ │ ├── icon.png │ │ │ ├── clearView.png │ │ │ ├── closeIcon.png │ │ │ ├── maxWinIcon.png │ │ │ ├── minWinIcon.png │ │ │ ├── toTrayIcon.png │ │ │ ├── resetLocation.png │ │ │ ├── maximizePreview.png │ │ │ └── toggleFullscreen.png │ │ ├── wall height.png │ │ ├── Matcaps │ │ │ ├── chrome.png │ │ │ ├── copper.png │ │ │ ├── skin1.png │ │ │ ├── skin2.png │ │ │ ├── organic1.png │ │ │ ├── organic3.png │ │ │ ├── organic4.png │ │ │ ├── outline1.png │ │ │ ├── outline2.png │ │ │ ├── plastic1.png │ │ │ ├── plastic2.png │ │ │ ├── plastic3.png │ │ │ ├── platinum.png │ │ │ ├── red metal.png │ │ │ ├── orange flame.png │ │ │ └── view space normal.png │ │ ├── wall diffuse.png │ │ ├── wall specular.png │ │ ├── Normal Maps │ │ │ └── sample normal 1.png │ │ └── Cubemaps │ │ │ └── Sahara Desert Cubemap │ │ │ ├── sahara_bk.tga │ │ │ ├── sahara_dn.tga │ │ │ ├── sahara_ft.tga │ │ │ ├── sahara_lf.tga │ │ │ ├── sahara_rt.tga │ │ │ └── sahara_up.tga │ ├── Fonts │ │ └── Roboto-Medium.ttf │ ├── 3D Models │ │ ├── Complex │ │ │ ├── Suzanne.fbx │ │ │ └── Utah Teapot.fbx │ │ └── Primitives │ │ │ ├── Cube.fbx │ │ │ ├── Plane.fbx │ │ │ ├── Sphere.fbx │ │ │ ├── Torus.fbx │ │ │ └── Cylinder.fbx │ ├── Brushes │ │ ├── Grunge │ │ │ ├── Crumble 1.png │ │ │ ├── Crumble 2.png │ │ │ ├── Crumble 3.png │ │ │ ├── Dirt Sploch 1.png │ │ │ ├── Dirt Sploch 2.png │ │ │ ├── Dirt Sploch 3.png │ │ │ └── Dirt Sploch 4.png │ │ └── Patterns │ │ │ ├── Chain 1.png │ │ │ ├── Chain 2.png │ │ │ ├── Chain 3.png │ │ │ ├── Chain 4.png │ │ │ └── Floral 1.png │ ├── Shaders │ │ ├── modelAttribsDisplay.fs │ │ ├── frameBuffer.fs │ │ ├── windowChrome.fs │ │ ├── normalPanel.vs │ │ ├── gridLines.fs │ │ ├── gridLines.vs │ │ ├── modelAttribsDisplay.vs │ │ ├── modelView.vs │ │ ├── modelAttribsDisplay.gs │ │ └── brushPreview.fs │ └── Themes │ │ ├── Blue Ice.nort │ │ ├── Ultra Violet.nort │ │ ├── Green Mint.nort │ │ └── Orange Juice.nort ├── src │ ├── Stb │ │ ├── stb_image.cpp │ │ └── stb_image_write.cpp │ ├── ModalWindow.h │ ├── ModelObject.h │ ├── DrawingPanel.h │ ├── BrushData.h │ ├── Camera.h │ ├── UndoRedoSystem.h │ ├── Transform.h │ ├── ShaderProgram.h │ ├── ViewBasedUtilities.h │ ├── TextureData.h │ ├── TextureLoader.h │ ├── ImGui │ │ ├── imgui_impl_opengl2.h │ │ └── imgui_impl_glfw.h │ ├── WindowSystem.h │ ├── ColourData.h │ ├── ModalWindow.cpp │ ├── FileExplorer.h │ ├── FrameBufferSystem.h │ ├── WindowTransformUtility.h │ ├── LayerManager.h │ └── PreferencesHandler.h ├── Nora.ico ├── Resource.rc ├── assimp.dll ├── glew32.dll ├── resource.h └── imgui.ini ├── lib ├── assimp.lib ├── glew32.lib ├── glew32s.lib └── glfw3.lib ├── LICENSE └── NormalMapGeneratorTool.sln /includes/GLM/gtx/type_trait.inl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /includes/GLM/detail/func_trigonometric_simd.inl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/ShowIncludes/foo.h: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/VSInheritEnvironments.txt: -------------------------------------------------------------------------------- 1 | msvc_x64_x64 -------------------------------------------------------------------------------- /includes/GLM/gtc/vec1.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_vec1 2 | /// @file glm/gtc/vec1.inl 3 | -------------------------------------------------------------------------------- /includes/GLM/detail/type_vec.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/type_vec.inl 3 | -------------------------------------------------------------------------------- /includes/GLM/detail/type_mat.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/type_mat.inl 3 | 4 | -------------------------------------------------------------------------------- /includes/GLM/gtx/raw_data.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_raw_data 2 | /// @file glm/gtx/raw_data.inl 3 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Preference/preference.npref: -------------------------------------------------------------------------------- 1 | 4096,4096,20,C:\NoraOutput.tga,Default -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/Stb/stb_image.cpp: -------------------------------------------------------------------------------- 1 | #define STB_IMAGE_IMPLEMENTATION 2 | #include "stb_image.h" -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/ShowIncludes/main.c: -------------------------------------------------------------------------------- 1 | #include "foo.h" 2 | int main(){} 3 | -------------------------------------------------------------------------------- /lib/assimp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/lib/assimp.lib -------------------------------------------------------------------------------- /lib/glew32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/lib/glew32.lib -------------------------------------------------------------------------------- /lib/glew32s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/lib/glew32s.lib -------------------------------------------------------------------------------- /lib/glfw3.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/lib/glfw3.lib -------------------------------------------------------------------------------- /includes/assimp/defs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/assimp/defs.h -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/Stb/stb_image_write.cpp: -------------------------------------------------------------------------------- 1 | #define STB_IMAGE_WRITE_IMPLEMENTATION 2 | #include "stb_image_write.h" -------------------------------------------------------------------------------- /includes/assimp/matrix3x3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/assimp/matrix3x3.h -------------------------------------------------------------------------------- /includes/assimp/matrix4x4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/assimp/matrix4x4.h -------------------------------------------------------------------------------- /includes/GLM/vec2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec2.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/type_vec2.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/vec3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec3.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/type_vec3.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/vec4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec4.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/type_vec4.hpp" 7 | -------------------------------------------------------------------------------- /includes/assimp/matrix3x3.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/assimp/matrix3x3.inl -------------------------------------------------------------------------------- /includes/assimp/matrix4x4.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/assimp/matrix4x4.inl -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Nora.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Nora.ico -------------------------------------------------------------------------------- /includes/GLM/common.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/common.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_common.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/gtc/type_precision.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_swizzle 2 | /// @file glm/gtc/swizzle.inl 3 | 4 | namespace glm 5 | { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /includes/GLM/integer.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/integer.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_integer.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/matrix.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/matrix.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_matrix.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/packing.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/packing.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_packing.hpp" 7 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resource.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resource.rc -------------------------------------------------------------------------------- /NormalMapGeneratorTool/assimp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/assimp.dll -------------------------------------------------------------------------------- /NormalMapGeneratorTool/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/glew32.dll -------------------------------------------------------------------------------- /includes/GLM/gtx/type_aligned.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_type_aligned 2 | /// @file glm/gtc/type_aligned.inl 3 | 4 | namespace glm 5 | { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /includes/GLM/geometric.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/geometric.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_geometric.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/gtx/std_based_type.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_std_based_type 2 | /// @file glm/gtx/std_based_type.inl 3 | 4 | namespace glm 5 | { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /includes/GLM/exponential.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/exponential.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_exponential.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /includes/GLM/gtx/number_precision.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_number_precision 2 | /// @file glm/gtx/number_precision.inl 3 | 4 | namespace glm 5 | { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /includes/GLM/trigonometric.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/trigonometric.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_trigonometric.hpp" 7 | -------------------------------------------------------------------------------- /includes/GLM/detail/type_mat4x4_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/type_mat4x4_sse2.inl 3 | 4 | namespace glm 5 | { 6 | 7 | }//namespace glm 8 | -------------------------------------------------------------------------------- /includes/GLM/vector_relational.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vector_relational.hpp 3 | 4 | #pragma once 5 | 6 | #include "detail/func_vector_relational.hpp" 7 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/icon.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/wall height.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/wall height.png -------------------------------------------------------------------------------- /includes/GLM/simd/packing.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/packing.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/chrome.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/copper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/copper.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/skin1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/skin1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/skin2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/skin2.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/clearView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/clearView.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/closeIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/closeIcon.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/maxWinIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/maxWinIcon.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/minWinIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/minWinIcon.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/toTrayIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/toTrayIcon.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/wall diffuse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/wall diffuse.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/wall specular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/wall specular.png -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/.cmake/api/v1/query/client-MicrosoftVS/query.json: -------------------------------------------------------------------------------- 1 | {"requests":[{"kind":"cache","version":2},{"kind":"cmakeFiles","version":1},{"kind":"codemodel","version":2}]} -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/3D Models/Complex/Suzanne.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/3D Models/Complex/Suzanne.fbx -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/3D Models/Primitives/Cube.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/3D Models/Primitives/Cube.fbx -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Grunge/Crumble 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Grunge/Crumble 1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Grunge/Crumble 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Grunge/Crumble 2.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Grunge/Crumble 3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Grunge/Crumble 3.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 2.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 3.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Patterns/Chain 4.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Patterns/Floral 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Patterns/Floral 1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/organic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/organic1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/organic3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/organic3.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/organic4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/organic4.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/outline1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/outline1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/outline2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/outline2.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/plastic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/plastic1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/plastic2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/plastic2.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/plastic3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/plastic3.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/platinum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/platinum.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/resetLocation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/resetLocation.png -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/GLM/out/build/x64-Debug/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/3D Models/Primitives/Plane.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/3D Models/Primitives/Plane.fbx -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/3D Models/Primitives/Sphere.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/3D Models/Primitives/Sphere.fbx -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/3D Models/Primitives/Torus.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/3D Models/Primitives/Torus.fbx -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 1.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 2.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 3.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Brushes/Grunge/Dirt Sploch 4.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/red metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/red metal.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/maximizePreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/maximizePreview.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/UI/toggleFullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/UI/toggleFullscreen.png -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/3D Models/Complex/Utah Teapot.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/3D Models/Complex/Utah Teapot.fbx -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/3D Models/Primitives/Cylinder.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/3D Models/Primitives/Cylinder.fbx -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/orange flame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/orange flame.png -------------------------------------------------------------------------------- /includes/GLM/simd/vector_relational.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/vector_relational.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/modelAttribsDisplay.fs: -------------------------------------------------------------------------------- 1 | #version 150 2 | out vec4 FragColor; 3 | 4 | in vec3 AttribColour; 5 | 6 | void main() 7 | { 8 | FragColor = vec4(AttribColour.rgb, 1.0); 9 | } -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Matcaps/view space normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Matcaps/view space normal.png -------------------------------------------------------------------------------- /includes/GLM/detail/func_packing_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/func_packing_simd.inl 3 | 4 | namespace glm{ 5 | namespace detail 6 | { 7 | 8 | }//namespace detail 9 | }//namespace glm 10 | -------------------------------------------------------------------------------- /includes/GLM/simd/trigonometric.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/trigonometric.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | 10 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Normal Maps/sample normal 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Normal Maps/sample normal 1.png -------------------------------------------------------------------------------- /includes/GLM/detail/func_vector_relational_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/func_vector_relational_simd.inl 3 | 4 | namespace glm{ 5 | namespace detail 6 | { 7 | 8 | }//namespace detail 9 | }//namespace glm 10 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_bk.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_bk.tga -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_dn.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_dn.tga -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_ft.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_ft.tga -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_lf.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_lf.tga -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_rt.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_rt.tga -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_up.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/NormalMapGeneratorTool/Resources/Textures/Cubemaps/Sahara Desert Cubemap/sahara_up.tga -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/frameBuffer.fs: -------------------------------------------------------------------------------- 1 | #version 140 2 | in vec2 textureUV; 3 | in vec3 worldPos; 4 | out vec4 color; 5 | uniform sampler2D textureOne; 6 | 7 | void main() 8 | { 9 | color = texture(textureOne, textureUV); 10 | } -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CompilerIdC/CMakeCCompilerId.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CompilerIdC/CMakeCCompilerId.exe -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josephbk117/Normal-Map-Generator-Tool/HEAD/includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.exe -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | D:/VS Cpp Projects/includes/GLM/out/build/x64-Debug/CMakeFiles/glm_dummy.dir 2 | D:/VS Cpp Projects/includes/GLM/out/build/x64-Debug/CMakeFiles/edit_cache.dir 3 | D:/VS Cpp Projects/includes/GLM/out/build/x64-Debug/CMakeFiles/rebuild_cache.dir 4 | -------------------------------------------------------------------------------- /includes/assimp/ai_assert.h: -------------------------------------------------------------------------------- 1 | /** @file assert.h 2 | */ 3 | #ifndef AI_DEBUG_H_INC 4 | #define AI_DEBUG_H_INC 5 | 6 | #ifdef ASSIMP_BUILD_DEBUG 7 | # include 8 | # define ai_assert(expression) assert(expression) 9 | #else 10 | # define ai_assert(expression) 11 | #endif 12 | 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/windowChrome.fs: -------------------------------------------------------------------------------- 1 | #version 140 2 | in vec2 textureUV; 3 | in vec3 worldPos; 4 | out vec4 color; 5 | uniform sampler2D textureOne; 6 | uniform vec3 _chromeColour; 7 | 8 | void main() 9 | { 10 | vec4 texCol = texture(textureOne, textureUV); 11 | color = texCol + vec4(_chromeColour.rgb, 1.0); 12 | } -------------------------------------------------------------------------------- /includes/GLM/gtx/projection.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_projection 2 | /// @file glm/gtx/projection.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER vecType proj(vecType const & x, vecType const & Normal) 8 | { 9 | return glm::dot(x, Normal) / glm::dot(Normal, Normal) * Normal; 10 | } 11 | }//namespace glm 12 | -------------------------------------------------------------------------------- /includes/GLM/gtx/perpendicular.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_perpendicular 2 | /// @file glm/gtx/perpendicular.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER vecType perp 8 | ( 9 | vecType const & x, 10 | vecType const & Normal 11 | ) 12 | { 13 | return x - proj(x, Normal); 14 | } 15 | }//namespace glm 16 | -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CMakeRCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_RC_COMPILER "C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x64/rc.exe") 2 | set(CMAKE_RC_COMPILER_ARG1 "") 3 | set(CMAKE_RC_COMPILER_LOADED 1) 4 | set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC) 5 | set(CMAKE_RC_OUTPUT_EXTENSION .res) 6 | set(CMAKE_RC_COMPILER_ENV_VAR "RC") 7 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/normalPanel.vs: -------------------------------------------------------------------------------- 1 | #version 140 2 | in vec2 vertexPosition; 3 | in vec2 texCoords; 4 | out vec2 textureUV; 5 | out vec3 worldPos; 6 | uniform mat4 model; 7 | void main() 8 | { 9 | gl_Position = model * vec4(vertexPosition.xy,0,1.0); 10 | worldPos = gl_Position.xyz; 11 | textureUV = texCoords; 12 | gl_Position.z = 0; 13 | gl_Position.w = 1.0; 14 | } -------------------------------------------------------------------------------- /includes/GLM/gtx/mixed_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_mixed_product 2 | /// @file glm/gtx/mixed_product.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER T mixedProduct 8 | ( 9 | tvec3 const & v1, 10 | tvec3 const & v2, 11 | tvec3 const & v3 12 | ) 13 | { 14 | return dot(cross(v1, v2), v3); 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /includes/GLM/gtx/normal.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normal 2 | /// @file glm/gtx/normal.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER tvec3 triangleNormal 8 | ( 9 | tvec3 const & p1, 10 | tvec3 const & p2, 11 | tvec3 const & p3 12 | ) 13 | { 14 | return normalize(cross(p1 - p2, p1 - p3)); 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if _MSC_VER >= 1600 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if _MSC_VER >= 1600 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_variadic_macros\n" 17 | 18 | }; 19 | 20 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 21 | -------------------------------------------------------------------------------- /includes/GLM/detail/type_half.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/type_half.hpp 3 | 4 | #pragma once 5 | 6 | #include "setup.hpp" 7 | 8 | namespace glm{ 9 | namespace detail 10 | { 11 | typedef short hdata; 12 | 13 | GLM_FUNC_DECL float toFloat32(hdata value); 14 | GLM_FUNC_DECL hdata toFloat16(float const & value); 15 | 16 | }//namespace detail 17 | }//namespace glm 18 | 19 | #include "type_half.inl" 20 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/gridLines.fs: -------------------------------------------------------------------------------- 1 | #version 140 2 | out vec4 FragColor; 3 | 4 | in vec3 FragPos; 5 | in vec2 TexCoords; 6 | in float Depth; 7 | 8 | uniform float _CameraZoom; 9 | 10 | void main() 11 | { 12 | vec2 coord = TexCoords * 100; 13 | vec2 grid = abs(fract(coord - 0.5) - 0.5) / fwidth(coord * 10); 14 | float line = 1.0 - min(grid.x, grid.y); 15 | FragColor = vec4(line, line, line, (1.0 - (Depth * 0.02)) * line); 16 | } -------------------------------------------------------------------------------- /includes/GLM/gtx/float_notmalize.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_float_normalize 2 | /// @file glm/gtx/float_normalize.inl 3 | 4 | #include 5 | 6 | namespace glm 7 | { 8 | template class vecType> 9 | GLM_FUNC_QUALIFIER vecType floatNormalize(vecType const & v) 10 | { 11 | return vecType(v) / static_cast(std::numeric_limits::max()); 12 | } 13 | 14 | }//namespace glm 15 | -------------------------------------------------------------------------------- /includes/GLM/simd/exponential.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/experimental.h 3 | 4 | #pragma once 5 | 6 | #include "platform.h" 7 | 8 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | 10 | GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_sqrt_lowp(glm_vec4 x) 11 | { 12 | return _mm_mul_ss(_mm_rsqrt_ss(x), x); 13 | } 14 | 15 | GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_sqrt_lowp(glm_vec4 x) 16 | { 17 | return _mm_mul_ps(_mm_rsqrt_ps(x), x); 18 | } 19 | 20 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 21 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/ModalWindow.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "ImGui\imgui.h" 4 | class ModalWindow 5 | { 6 | private: 7 | std::string title = ""; 8 | std::string content = ""; 9 | ImFont* titleFont = NULL; 10 | bool shouldShow = false; 11 | public: 12 | ModalWindow(); 13 | void setTitleFont(ImFont* menuBarLargerText); 14 | void setModalDialog(const std::string& title, const std::string& content); 15 | void display(); 16 | ~ModalWindow(); 17 | }; 18 | 19 | -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/CMakeFiles/3.14.19050301-MSVC_2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Windows-10.0.18362") 2 | set(CMAKE_HOST_SYSTEM_NAME "Windows") 3 | set(CMAKE_HOST_SYSTEM_VERSION "10.0.18362") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Windows-10.0.18362") 9 | set(CMAKE_SYSTEM_NAME "Windows") 10 | set(CMAKE_SYSTEM_VERSION "10.0.18362") 11 | set(CMAKE_SYSTEM_PROCESSOR "AMD64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /includes/GLM/gtx/optimum_pow.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_optimum_pow 2 | /// @file glm/gtx/optimum_pow.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER genType pow2(genType const & x) 8 | { 9 | return x * x; 10 | } 11 | 12 | template 13 | GLM_FUNC_QUALIFIER genType pow3(genType const & x) 14 | { 15 | return x * x * x; 16 | } 17 | 18 | template 19 | GLM_FUNC_QUALIFIER genType pow4(genType const & x) 20 | { 21 | return (x * x) * (x * x); 22 | } 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Resource.rc 4 | // 5 | #define IDI_ICON1 103 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NO_MFC 1 12 | #define _APS_NEXT_RESOURCE_VALUE 104 13 | #define _APS_NEXT_COMMAND_VALUE 40001 14 | #define _APS_NEXT_CONTROL_VALUE 1001 15 | #define _APS_NEXT_SYMED_VALUE 101 16 | #endif 17 | #endif 18 | -------------------------------------------------------------------------------- /includes/GLM/gtx/log_base.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_log_base 2 | /// @file glm/gtx/log_base.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER genType log(genType const & x, genType const & base) 8 | { 9 | assert(x != genType(0)); 10 | return glm::log(x) / glm::log(base); 11 | } 12 | 13 | template class vecType> 14 | GLM_FUNC_QUALIFIER vecType log(vecType const & x, vecType const & base) 15 | { 16 | return glm::log(x) / glm::log(base); 17 | } 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /includes/GLM/detail/_fixes.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/_fixes.hpp 3 | 4 | #include 5 | 6 | //! Workaround for compatibility with other libraries 7 | #ifdef max 8 | #undef max 9 | #endif 10 | 11 | //! Workaround for compatibility with other libraries 12 | #ifdef min 13 | #undef min 14 | #endif 15 | 16 | //! Workaround for Android 17 | #ifdef isnan 18 | #undef isnan 19 | #endif 20 | 21 | //! Workaround for Android 22 | #ifdef isinf 23 | #undef isinf 24 | #endif 25 | 26 | //! Workaround for Chrone Native Client 27 | #ifdef log2 28 | #undef log2 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/gridLines.vs: -------------------------------------------------------------------------------- 1 | #version 140 2 | in vec3 aPos; 3 | in vec3 aNormal; 4 | in vec2 aTexCoords; 5 | in vec3 aTangent; 6 | in vec3 aBitangent; 7 | 8 | out vec3 FragPos; 9 | out vec3 Normal; 10 | out vec2 TexCoords; 11 | out float Depth; 12 | 13 | uniform mat4 model; 14 | uniform mat4 view; 15 | uniform mat4 projection; 16 | 17 | void main() 18 | { 19 | FragPos = vec3(model * vec4(aPos, 1.0)); 20 | Normal = mat3(transpose(inverse(model))) * aNormal; 21 | TexCoords = aTexCoords; 22 | gl_Position = projection * view * vec4(FragPos, 1.0); 23 | Depth = gl_Position.z; 24 | } -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/ModelObject.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "ShaderProgram.h" 3 | class ModelObject 4 | { 5 | private: 6 | bool usesElementBuffer = false; 7 | unsigned int vertexDataCount = 0; 8 | unsigned int indicesCount = 0; 9 | unsigned int VBO = 0, VAO = 0, EBO = 0; 10 | public: 11 | ModelObject(); 12 | ModelObject(float vertexData[], int count); 13 | ModelObject(float vertexData[], int vertexDataCount, unsigned int indices[], int indicesCount); 14 | ~ModelObject(); 15 | 16 | //Provide new data to existing model 17 | void updateMeshData(float vertexData[], int vertexDataCount, unsigned int indices[], int indicesCount); 18 | void draw() const; 19 | }; -------------------------------------------------------------------------------- /includes/GLM/gtx/normalize_dot.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normalize_dot 2 | /// @file glm/gtx/normalize_dot.inl 3 | 4 | namespace glm 5 | { 6 | template class vecType> 7 | GLM_FUNC_QUALIFIER T normalizeDot(vecType const & x, vecType const & y) 8 | { 9 | return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y)); 10 | } 11 | 12 | template class vecType> 13 | GLM_FUNC_QUALIFIER T fastNormalizeDot(vecType const & x, vecType const & y) 14 | { 15 | return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y)); 16 | } 17 | }//namespace glm 18 | -------------------------------------------------------------------------------- /includes/GLM/gtx/transform.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_transform 2 | /// @file glm/gtx/transform.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER tmat4x4 translate(tvec3 const & v) 8 | { 9 | return translate(tmat4x4(static_cast(1)), v); 10 | } 11 | 12 | template 13 | GLM_FUNC_QUALIFIER tmat4x4 rotate(T angle, tvec3 const & v) 14 | { 15 | return rotate(tmat4x4(static_cast(1)), angle, v); 16 | } 17 | 18 | template 19 | GLM_FUNC_QUALIFIER tmat4x4 scale(tvec3 const & v) 20 | { 21 | return scale(tmat4x4(static_cast(1)), v); 22 | } 23 | 24 | }//namespace glm 25 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Themes/Blue Ice.nort: -------------------------------------------------------------------------------- 1 | # Nora theme file :- Blue Ice 2 | # Author :- Joseph Kalathil 3 | # This is a comment, You have 12 colours to play with 4 | 5 | PrimaryColour : (0.2, 0.5, 0.6, 1.1); 6 | TitleColour : (0.2, 0.4, 0.5, 1.1); 7 | SecondaryColour : (0.2, 0.3, 0.4, 1.1); 8 | AccentColour1 : (0.1, 0.2, 0.3, 1.1); 9 | AccentColour2 : (1.0, 1.0, 1.0, 1.1); 10 | AccentColour3 : (0.9, 0.9, 0.9, 1.1); 11 | ActiveColour1 : (0.93, 0.93, 0.93, 0.80); 12 | DisabledColour1 : (0.6, 0.6, 0.6, 1.00); 13 | ActiveColour2 : (0.6, 0.6, 0.8, 1.00); 14 | DisabledColour2 : (0.6, 0.6, 0.6, 0.78); 15 | Sate1Colour : (0.10, 0.10, 0.80, 0.46); 16 | Sate2Colour : (0.8, 0.8, 0.8, 0.97); 17 | Sate3Colour : (0.0, 0.0, 0.0, 0.2); -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Themes/Ultra Violet.nort: -------------------------------------------------------------------------------- 1 | # Nora theme file :- Ultra Violet 2 | # Author :- Joseph Kalathil 3 | # This is a comment, You have 12 colours to play with 4 | 5 | PrimaryColour : (0.15, 0.0, 0.2, 1.1); 6 | TitleColour : (0.18, 0.0, 0.22, 1.1); 7 | SecondaryColour : (0.45, 0.1, 0.5, 1.1); 8 | AccentColour1 : (0.1, 0.0, 0.1, 1.1); 9 | AccentColour2 : (0.8, 0.7, 1.0, 1.1); 10 | AccentColour3 : (0.9, 0.9, 0.9, 1.1); 11 | ActiveColour1 : (0.93, 0.93, 0.93, 0.80); 12 | DisabledColour1 : (0.6, 0.6, 0.6, 1.00); 13 | ActiveColour2 : (0.6, 0.6, 0.6, 1.00); 14 | DisabledColour2 : (0.6, 0.6, 0.6, 0.78); 15 | Sate1Colour : (0.80, 0.80, 0.80, 0.46); 16 | Sate2Colour : (0.8, 0.8, 0.8, 0.67); 17 | Sate3Colour : (0.0, 0.0, 0.0, 0.6); -------------------------------------------------------------------------------- /includes/GLM/gtx/handed_coordinate_space.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_handed_coordinate_space 2 | /// @file glm/gtx/handed_coordinate_space.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER bool rightHanded 8 | ( 9 | tvec3 const & tangent, 10 | tvec3 const & binormal, 11 | tvec3 const & normal 12 | ) 13 | { 14 | return dot(cross(normal, tangent), binormal) > T(0); 15 | } 16 | 17 | template 18 | GLM_FUNC_QUALIFIER bool leftHanded 19 | ( 20 | tvec3 const & tangent, 21 | tvec3 const & binormal, 22 | tvec3 const & normal 23 | ) 24 | { 25 | return dot(cross(normal, tangent), binormal) < T(0); 26 | } 27 | }//namespace glm 28 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Themes/Green Mint.nort: -------------------------------------------------------------------------------- 1 | # Nora theme file :- Blue Ice 2 | # Author :- Joseph Kalathil 3 | # This is a comment, You have 12 colours to play with 4 | 5 | PrimaryColour : (0.15, 0.15, 0.15, 1.1); 6 | TitleColour : (0.13, 0.13, 0.13, 1.1); 7 | SecondaryColour : (0.55, 0.75, 0.25, 1.1); 8 | AccentColour1 : (0.25, 0.25, 0.25, 1.1); 9 | AccentColour2 : (0.85, 1.0, 0.85, 1.1); 10 | AccentColour3 : (0.9, 0.9, 0.9, 1.1); 11 | ActiveColour1 : (0.93, 0.93, 0.93, 0.80); 12 | DisabledColour1 : (0.6, 0.6, 0.6, 1.00); 13 | ActiveColour2 : (0.6, 0.6, 0.6, 1.00); 14 | DisabledColour2 : (0.6, 0.6, 0.6, 0.78); 15 | Sate1Colour : (0.80, 0.80, 0.80, 0.46); 16 | Sate2Colour : (0.8, 0.8, 0.8, 0.67); 17 | Sate3Colour : (0.0, 0.0, 0.0, 0.6); -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Themes/Orange Juice.nort: -------------------------------------------------------------------------------- 1 | # Nora theme file :- Orange Juice 2 | # Author :- Joseph Kalathil 3 | # This is a comment, You have 12 colours to play with 4 | 5 | PrimaryColour : (0.85, 0.5, 0.3, 1.1); 6 | TitleColour : (0.85, 0.5, 0.25, 1.1); 7 | SecondaryColour : (0.65, 0.25, 0.25, 1.1); 8 | AccentColour1 : (0.2, 0.1, 0.1, 1.1); 9 | AccentColour2 : (0.97, 0.83, 0.43, 1.1); 10 | AccentColour3 : (0.9, 0.9, 0.9, 1.1); 11 | ActiveColour1 : (0.93, 0.93, 0.93, 0.80); 12 | DisabledColour1 : (0.6, 0.6, 0.6, 1.00); 13 | ActiveColour2 : (0.6, 0.6, 0.6, 1.00); 14 | DisabledColour2 : (0.6, 0.6, 0.6, 0.78); 15 | Sate1Colour : (0.80, 0.80, 0.80, 0.46); 16 | Sate2Colour : (0.8, 0.8, 0.8, 0.67); 17 | Sate3Colour : (0.0, 0.0, 0.0, 0.6); -------------------------------------------------------------------------------- /includes/GLM/gtx/orthonormalize.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_orthonormalize 2 | /// @file glm/gtx/orthonormalize.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER tmat3x3 orthonormalize(tmat3x3 const & m) 8 | { 9 | tmat3x3 r = m; 10 | 11 | r[0] = normalize(r[0]); 12 | 13 | T d0 = dot(r[0], r[1]); 14 | r[1] -= r[0] * d0; 15 | r[1] = normalize(r[1]); 16 | 17 | T d1 = dot(r[1], r[2]); 18 | d0 = dot(r[0], r[2]); 19 | r[2] -= r[0] * d0 + r[1] * d1; 20 | r[2] = normalize(r[2]); 21 | 22 | return r; 23 | } 24 | 25 | template 26 | GLM_FUNC_QUALIFIER tvec3 orthonormalize(tvec3 const & x, tvec3 const & y) 27 | { 28 | return normalize(x - y * dot(y, x)); 29 | } 30 | }//namespace glm 31 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/modelAttribsDisplay.vs: -------------------------------------------------------------------------------- 1 | #version 150 2 | in vec3 aPos; 3 | in vec3 aNormal; 4 | in vec2 aTexCoords; 5 | in vec3 aTangent; 6 | in vec3 aBitangent; 7 | 8 | out vec3 FragPos; 9 | out vec3 Normal; 10 | out mat3 TBN; 11 | 12 | uniform mat4 model; 13 | uniform mat4 view; 14 | uniform mat4 projection; 15 | 16 | void main() 17 | { 18 | vec3 _aPos = aPos + aNormal * 0.01; 19 | FragPos = (model * vec4(_aPos, 1.0)).xyz; 20 | Normal = (model * view * vec4(aNormal,0.0)).xyz; 21 | 22 | vec3 T = (model * vec4(aTangent,0.0)).xyz; 23 | vec3 N = (model * vec4(aNormal, 0.0)).xyz; 24 | T = normalize(T - dot(T, N) * N); 25 | vec3 B = (model * vec4(aBitangent, 0.0)).xyz; 26 | 27 | TBN = mat3(T, B, N); 28 | 29 | gl_Position = projection * view * vec4(FragPos, 1.0); 30 | } -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/modelView.vs: -------------------------------------------------------------------------------- 1 | #version 150 2 | in vec3 aPos; 3 | in vec3 aNormal; 4 | in vec2 aTexCoords; 5 | in vec3 aTangent; 6 | in vec3 aBitangent; 7 | 8 | out vec3 FragPos; 9 | out vec3 Normal; 10 | out vec2 TexCoords; 11 | out mat3 TBN; 12 | 13 | uniform mat4 model; 14 | uniform mat4 view; 15 | uniform mat4 projection; 16 | 17 | void main() 18 | { 19 | FragPos = (model * vec4(aPos, 1.0)).xyz; 20 | Normal = (model * view * vec4(aNormal,0.0)).xyz; 21 | TexCoords = aTexCoords; 22 | 23 | vec3 T = (model * vec4(aTangent,0.0)).xyz; 24 | vec3 N = (model * vec4(aNormal, 0.0)).xyz; 25 | T = normalize(T - dot(T, N) * N); 26 | vec3 B = (model * vec4(aBitangent, 0.0)).xyz;//cross(N, T); 27 | 28 | TBN = mat3(T, B, N); 29 | 30 | gl_Position = projection * view * vec4(FragPos, 1.0); 31 | } -------------------------------------------------------------------------------- /includes/GLM/gtx/scalar_relational.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_scalar_relational 2 | /// @file glm/gtx/scalar_relational.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_scalar_relational GLM_GTX_scalar_relational 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Extend a position from a source to a position at a defined length. 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_extend extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup gtx_scalar_relational 25 | /// @{ 26 | 27 | 28 | 29 | /// @} 30 | }//namespace glm 31 | 32 | #include "scalar_relational.inl" 33 | -------------------------------------------------------------------------------- /includes/assimp/Compiler/poppack1.h: -------------------------------------------------------------------------------- 1 | 2 | // =============================================================================== 3 | // May be included multiple times - resets structure packing to the defaults 4 | // for all supported compilers. Reverts the changes made by #include 5 | // 6 | // Currently this works on the following compilers: 7 | // MSVC 7,8,9 8 | // GCC 9 | // BORLAND (complains about 'pack state changed but not reverted', but works) 10 | // =============================================================================== 11 | 12 | #ifndef AI_PUSHPACK_IS_DEFINED 13 | # error pushpack1.h must be included after poppack1.h 14 | #endif 15 | 16 | // reset packing to the original value 17 | #if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) 18 | # pragma pack( pop ) 19 | #endif 20 | #undef PACK_STRUCT 21 | 22 | #undef AI_PUSHPACK_IS_DEFINED 23 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/DrawingPanel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Transform.h" 3 | #include 4 | class DrawingPanel 5 | { 6 | public: 7 | DrawingPanel(); 8 | ~DrawingPanel(); 9 | //Initialize drawing panel with certain resolution 10 | void init(float width, float height) noexcept; 11 | Transform* getTransform() noexcept; 12 | //Set which texture is linked to this drawing panel 13 | void setTextureID(unsigned int textureID, bool deleteAndReplace = true) noexcept; 14 | //Get the texture linked to this drawing panel 15 | unsigned int getTextureID()const noexcept; 16 | bool isPointInPanel(float xpos, float ypos)noexcept; 17 | glm::vec4 getPanelWorldDimension()const noexcept; 18 | void draw(int additionalTextureId = -1)noexcept; 19 | private: 20 | Transform transform; 21 | float width, height; 22 | unsigned int vaoID; 23 | unsigned int vboID; 24 | unsigned int textureID; 25 | }; -------------------------------------------------------------------------------- /includes/GLM/gtx/matrix_cross_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_matrix_cross_product 2 | /// @file glm/gtx/matrix_cross_product.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER tmat3x3 matrixCross3 8 | ( 9 | tvec3 const & x 10 | ) 11 | { 12 | tmat3x3 Result(T(0)); 13 | Result[0][1] = x.z; 14 | Result[1][0] = -x.z; 15 | Result[0][2] = -x.y; 16 | Result[2][0] = x.y; 17 | Result[1][2] = x.x; 18 | Result[2][1] = -x.x; 19 | return Result; 20 | } 21 | 22 | template 23 | GLM_FUNC_QUALIFIER tmat4x4 matrixCross4 24 | ( 25 | tvec3 const & x 26 | ) 27 | { 28 | tmat4x4 Result(T(0)); 29 | Result[0][1] = x.z; 30 | Result[1][0] = -x.z; 31 | Result[0][2] = -x.y; 32 | Result[2][0] = x.y; 33 | Result[1][2] = x.x; 34 | Result[2][1] = -x.x; 35 | return Result; 36 | } 37 | 38 | }//namespace glm 39 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/BrushData.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "TextureData.h" 3 | struct BrushData 4 | { 5 | float brushScale = 25.0f; 6 | float brushOffset = 0.25f; 7 | float brushStrength = 1.0f; 8 | float brushMinHeight = 0.0f; 9 | float brushMaxHeight = 1.0f; 10 | float brushRate = 0.0f; 11 | bool heightMapPositiveDir = false; 12 | TextureData textureData; 13 | 14 | bool operator!= (const BrushData &bD) 15 | { 16 | if (brushScale != bD.brushScale || brushOffset != bD.brushOffset || 17 | brushStrength != bD.brushStrength || brushMinHeight != bD.brushMinHeight || 18 | brushMaxHeight != bD.brushMaxHeight || brushRate != bD.brushRate || 19 | heightMapPositiveDir != bD.heightMapPositiveDir || &textureData != &bD.textureData) 20 | { 21 | return true; 22 | } 23 | return false; 24 | } 25 | 26 | bool hasBrushTexture()const noexcept 27 | { 28 | return textureData.getTextureData() != nullptr; 29 | } 30 | }; -------------------------------------------------------------------------------- /includes/GLM/gtx/projection.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_projection 2 | /// @file glm/gtx/projection.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_projection GLM_GTX_projection 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Projection of a vector to other one 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../geometric.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_projection extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup gtx_projection 25 | /// @{ 26 | 27 | /// Projects x on Normal. 28 | /// 29 | /// @see gtx_projection 30 | template 31 | GLM_FUNC_DECL vecType proj(vecType const & x, vecType const & Normal); 32 | 33 | /// @} 34 | }//namespace glm 35 | 36 | #include "projection.inl" 37 | -------------------------------------------------------------------------------- /includes/GLM/gtx/polar_coordinates.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_polar_coordinates 2 | /// @file glm/gtx/polar_coordinates.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER tvec3 polar 8 | ( 9 | tvec3 const & euclidean 10 | ) 11 | { 12 | T const Length(length(euclidean)); 13 | tvec3 const tmp(euclidean / Length); 14 | T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z)); 15 | 16 | return tvec3( 17 | asin(tmp.y), // latitude 18 | atan(tmp.x, tmp.z), // longitude 19 | xz_dist); // xz distance 20 | } 21 | 22 | template 23 | GLM_FUNC_QUALIFIER tvec3 euclidean 24 | ( 25 | tvec2 const & polar 26 | ) 27 | { 28 | T const latitude(polar.x); 29 | T const longitude(polar.y); 30 | 31 | return tvec3( 32 | cos(latitude) * sin(longitude), 33 | sin(latitude), 34 | cos(latitude) * cos(longitude)); 35 | } 36 | 37 | }//namespace glm 38 | -------------------------------------------------------------------------------- /includes/GLM/gtc/functions.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_functions 2 | /// @file glm/gtc/functions.inl 3 | 4 | #include "../detail/func_exponential.hpp" 5 | 6 | namespace glm 7 | { 8 | template 9 | GLM_FUNC_QUALIFIER T gauss 10 | ( 11 | T x, 12 | T ExpectedValue, 13 | T StandardDeviation 14 | ) 15 | { 16 | return exp(-((x - ExpectedValue) * (x - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation)) / (StandardDeviation * sqrt(static_cast(6.28318530717958647692528676655900576))); 17 | } 18 | 19 | template 20 | GLM_FUNC_QUALIFIER T gauss 21 | ( 22 | tvec2 const& Coord, 23 | tvec2 const& ExpectedValue, 24 | tvec2 const& StandardDeviation 25 | ) 26 | { 27 | tvec2 const Squared = ((Coord - ExpectedValue) * (Coord - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation); 28 | return exp(-(Squared.x + Squared.y)); 29 | } 30 | }//namespace glm 31 | 32 | -------------------------------------------------------------------------------- /includes/GLM/detail/func_exponential_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/func_exponential_simd.inl 3 | 4 | #include "../simd/exponential.h" 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | namespace glm{ 9 | namespace detail 10 | { 11 | template 12 | struct compute_sqrt 13 | { 14 | GLM_FUNC_QUALIFIER static tvec4 call(tvec4 const & v) 15 | { 16 | tvec4 result(uninitialize); 17 | result.data = _mm_sqrt_ps(v.data); 18 | return result; 19 | } 20 | }; 21 | 22 | template <> 23 | struct compute_sqrt 24 | { 25 | GLM_FUNC_QUALIFIER static tvec4 call(tvec4 const & v) 26 | { 27 | tvec4 result(uninitialize); 28 | result.data = glm_vec4_sqrt_lowp(v.data); 29 | return result; 30 | } 31 | }; 32 | }//namespace detail 33 | }//namespace glm 34 | 35 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 36 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/Camera.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "Transform.h" 5 | 6 | class Camera 7 | { 8 | public: 9 | Camera(); 10 | ~Camera(); 11 | void init(const glm::vec2& screenDimensions)noexcept; 12 | void init(float dimensionX, float dimensionY) noexcept; 13 | void setScale(float newScale)noexcept; 14 | const float& getScale()const noexcept; 15 | const glm::mat4& getOrthoMatrix()const noexcept; 16 | bool isObjectInCameraView(const glm::vec2 & position, const glm::vec2& dimensions)const noexcept; 17 | void setScreenRatio(const glm::vec2& screenDimension) noexcept; 18 | const glm::vec2 convertScreenPointToWorldPoint(const glm::vec2& screenPosition, const glm::vec2& screenDimensions) noexcept; 19 | private: 20 | glm::vec2 screenDimensions; 21 | bool needsUpdate; 22 | Transform* transform; 23 | Transform previousTransformData; 24 | glm::mat4 orthographicMatrix; 25 | glm::mat4 viewMatrix; 26 | float scale; 27 | }; -------------------------------------------------------------------------------- /includes/GLM/gtx/mixed_product.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_mixed_product 2 | /// @file glm/gtx/mixed_product.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_mixed_product GLM_GTX_mixed_producte 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Mixed product of 3 vectors. 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_mixed_product extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup gtx_mixed_product 25 | /// @{ 26 | 27 | /// @brief Mixed product of 3 vectors (from GLM_GTX_mixed_product extension) 28 | template 29 | GLM_FUNC_DECL T mixedProduct( 30 | tvec3 const & v1, 31 | tvec3 const & v2, 32 | tvec3 const & v3); 33 | 34 | /// @} 35 | }// namespace glm 36 | 37 | #include "mixed_product.inl" 38 | -------------------------------------------------------------------------------- /includes/GLM/gtx/extend.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_extend 2 | /// @file glm/gtx/extend.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_extend GLM_GTX_extend 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Extend a position from a source to a position at a defined length. 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_extend extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup gtx_extend 25 | /// @{ 26 | 27 | /// Extends of Length the Origin position using the (Source - Origin) direction. 28 | /// @see gtx_extend 29 | template 30 | GLM_FUNC_DECL genType extend( 31 | genType const & Origin, 32 | genType const & Source, 33 | typename genType::value_type const Length); 34 | 35 | /// @} 36 | }//namespace glm 37 | 38 | #include "extend.inl" 39 | -------------------------------------------------------------------------------- /includes/GLM/gtx/normal.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normal 2 | /// @file glm/gtx/normal.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtx_extented_min_max (dependence) 6 | /// 7 | /// @defgroup gtx_normal GLM_GTX_normal 8 | /// @ingroup gtx 9 | /// 10 | /// @brief Compute the normal of a triangle. 11 | /// 12 | /// need to be included to use these functionalities. 13 | 14 | #pragma once 15 | 16 | // Dependency: 17 | #include "../glm.hpp" 18 | 19 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 20 | # pragma message("GLM: GLM_GTX_normal extension included") 21 | #endif 22 | 23 | namespace glm 24 | { 25 | /// @addtogroup gtx_normal 26 | /// @{ 27 | 28 | //! Computes triangle normal from triangle points. 29 | //! From GLM_GTX_normal extension. 30 | template 31 | GLM_FUNC_DECL tvec3 triangleNormal( 32 | tvec3 const & p1, 33 | tvec3 const & p2, 34 | tvec3 const & p3); 35 | 36 | /// @} 37 | }//namespace glm 38 | 39 | #include "normal.inl" 40 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/modelAttribsDisplay.gs: -------------------------------------------------------------------------------- 1 | #version 150 2 | layout (triangles) in; 3 | layout (line_strip, max_vertices = 2) out; 4 | 5 | in vec3 FragPos[]; 6 | in vec3 Normal[]; 7 | in mat3 TBN[]; 8 | 9 | out vec3 AttribColour; 10 | 11 | uniform bool _ShowNormals; 12 | uniform float _NormalsLength; 13 | 14 | void main() 15 | { 16 | vec3 a = vec3(gl_in[0].gl_Position) - vec3(gl_in[1].gl_Position); 17 | vec3 b = vec3(gl_in[2].gl_Position) - vec3(gl_in[1].gl_Position); 18 | 19 | vec4 midPoint = (gl_in[0].gl_Position + gl_in[1].gl_Position + gl_in[2].gl_Position)/3.0; 20 | vec3 avgNormal = normalize(cross(a, b)) * ((_ShowNormals)? 1.0 : 0.0); 21 | 22 | AttribColour = vec3(0,1,0); 23 | 24 | gl_Position = midPoint; 25 | EmitVertex(); 26 | gl_Position = midPoint + vec4(avgNormal, 0.0) * _NormalsLength; 27 | EmitVertex(); 28 | EndPrimitive(); 29 | 30 | /*AttribColour = vec3(0,1,0); 31 | gl_Position = midPoint; 32 | EmitVertex(); 33 | gl_Position = midPoint + vec4(TBN[0][0],0.0) * _NormalsLength; 34 | EmitVertex(); 35 | EndPrimitive();*/ 36 | 37 | } -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/UndoRedoSystem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | class UndoRedoSystem 4 | { 5 | private: 6 | unsigned char* data = nullptr; 7 | unsigned int maxAllocatedMemoryInBytes = 512 * 512 * 4 * 20; //Ex: Can store 20 512 x 512 images of 4 component count (RGBA) 8 | unsigned int bytesPerSection = 512 * 512 * 4; 9 | int currentSection = 0; 10 | int maxSectionsFilled = 0; 11 | public: 12 | UndoRedoSystem(); 13 | UndoRedoSystem(unsigned int maxMemoryToAllocate, unsigned int bytesPerSection); 14 | UndoRedoSystem(const glm::ivec2& sampleImageRes, unsigned int componentCount, unsigned int numberOfUndoSteps); 15 | UndoRedoSystem(const UndoRedoSystem& undoRedo); 16 | void updateAllocation(const glm::ivec2& sampleImageRes, unsigned int componentCount, unsigned int numberOfUndoSteps); 17 | const unsigned int getMaxUndoSteps(); 18 | const unsigned int getCurrentSectionPosition(); 19 | unsigned int getMaxSectionsFilled(); 20 | void record(unsigned char* data); 21 | unsigned char* retrieve(bool grabPrevious = true); 22 | void clear(); 23 | ~UndoRedoSystem(); 24 | }; -------------------------------------------------------------------------------- /includes/GLM/gtx/perpendicular.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_perpendicular 2 | /// @file glm/gtx/perpendicular.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtx_projection (dependence) 6 | /// 7 | /// @defgroup gtx_perpendicular GLM_GTX_perpendicular 8 | /// @ingroup gtx 9 | /// 10 | /// @brief Perpendicular of a vector from other one 11 | /// 12 | /// need to be included to use these functionalities. 13 | 14 | #pragma once 15 | 16 | // Dependency: 17 | #include "../glm.hpp" 18 | #include "../gtx/projection.hpp" 19 | 20 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 21 | # pragma message("GLM: GLM_GTX_perpendicular extension included") 22 | #endif 23 | 24 | namespace glm 25 | { 26 | /// @addtogroup gtx_perpendicular 27 | /// @{ 28 | 29 | //! Projects x a perpendicular axis of Normal. 30 | //! From GLM_GTX_perpendicular extension. 31 | template 32 | GLM_FUNC_DECL vecType perp( 33 | vecType const & x, 34 | vecType const & Normal); 35 | 36 | /// @} 37 | }//namespace glm 38 | 39 | #include "perpendicular.inl" 40 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/Resources/Shaders/brushPreview.fs: -------------------------------------------------------------------------------- 1 | #version 140 2 | in vec2 textureUV; 3 | out vec4 color; 4 | 5 | uniform sampler2D _BrushTexture; 6 | uniform float _BrushOffset; 7 | uniform float _BrushStrength; 8 | uniform vec3 _BrushColour; 9 | uniform int _UseTexture; 10 | 11 | void main() 12 | { 13 | if(_UseTexture == 0) 14 | { 15 | float val = texture(_BrushTexture, textureUV).r; 16 | 17 | float rim = step(sin(textureUV.x * 3.141), 0.15); 18 | rim += step(sin(textureUV.y * 3.141), 0.15); 19 | 20 | if(rim > 0) 21 | { 22 | color = vec4(1.0 -_BrushColour,0.4); 23 | } 24 | else 25 | { 26 | val = pow(val, _BrushOffset * 0.1); 27 | color = vec4(val * _BrushColour, (rim > 0 ? rim : val) * _BrushStrength); 28 | } 29 | } 30 | else 31 | { 32 | float dist = distance(vec2(0.5, 0.5), textureUV); 33 | float t = 1.0 - clamp( dist * 2, 0.0, 1.0); 34 | t = clamp(t * _BrushOffset, 0.0, 1.0); 35 | vec3 col2 = vec3(1,0,1); 36 | color = vec4(_BrushColour, t * _BrushStrength); 37 | color = mix(color, vec4(1.0 - color.rgb, 0.2), step(dist,0.5) - step(dist,0.45)); 38 | } 39 | } -------------------------------------------------------------------------------- /includes/GLM/gtx/gradient_paint.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_gradient_paint 2 | /// @file glm/gtx/gradient_paint.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER T radialGradient 8 | ( 9 | tvec2 const & Center, 10 | T const & Radius, 11 | tvec2 const & Focal, 12 | tvec2 const & Position 13 | ) 14 | { 15 | tvec2 F = Focal - Center; 16 | tvec2 D = Position - Focal; 17 | T Radius2 = pow2(Radius); 18 | T Fx2 = pow2(F.x); 19 | T Fy2 = pow2(F.y); 20 | 21 | T Numerator = (D.x * F.x + D.y * F.y) + sqrt(Radius2 * (pow2(D.x) + pow2(D.y)) - pow2(D.x * F.y - D.y * F.x)); 22 | T Denominator = Radius2 - (Fx2 + Fy2); 23 | return Numerator / Denominator; 24 | } 25 | 26 | template 27 | GLM_FUNC_QUALIFIER T linearGradient 28 | ( 29 | tvec2 const & Point0, 30 | tvec2 const & Point1, 31 | tvec2 const & Position 32 | ) 33 | { 34 | tvec2 Dist = Point1 - Point0; 35 | return (Dist.x * (Position.x - Point0.x) + Dist.y * (Position.y - Point0.y)) / glm::dot(Dist, Dist); 36 | } 37 | }//namespace glm 38 | -------------------------------------------------------------------------------- /includes/GLM/out/build/x64-Debug/.cmake/api/v1/reply/codemodel-v2-2d93f4aed29f2d8af3ee.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations" : 3 | [ 4 | { 5 | "directories" : 6 | [ 7 | { 8 | "build" : ".", 9 | "projectIndex" : 0, 10 | "source" : ".", 11 | "targetIndexes" : 12 | [ 13 | 0 14 | ] 15 | } 16 | ], 17 | "name" : "Debug", 18 | "projects" : 19 | [ 20 | { 21 | "directoryIndexes" : 22 | [ 23 | 0 24 | ], 25 | "name" : "Project", 26 | "targetIndexes" : 27 | [ 28 | 0 29 | ] 30 | } 31 | ], 32 | "targets" : 33 | [ 34 | { 35 | "directoryIndex" : 0, 36 | "id" : "glm_dummy::@6890427a1f51a3e7e1df", 37 | "jsonFile" : "target-glm_dummy-Debug-f4b9aecddba413021201.json", 38 | "name" : "glm_dummy", 39 | "projectIndex" : 0 40 | } 41 | ] 42 | } 43 | ], 44 | "kind" : "codemodel", 45 | "paths" : 46 | { 47 | "build" : "D:/VS Cpp Projects/includes/GLM/out/build/x64-Debug", 48 | "source" : "D:/VS Cpp Projects/includes/GLM" 49 | }, 50 | "version" : 51 | { 52 | "major" : 2, 53 | "minor" : 0 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Joseph Kalathil 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /includes/GLM/gtx/extend.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_extend 2 | /// @file glm/gtx/extend.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER genType extend 8 | ( 9 | genType const & Origin, 10 | genType const & Source, 11 | genType const & Distance 12 | ) 13 | { 14 | return Origin + (Source - Origin) * Distance; 15 | } 16 | 17 | template 18 | GLM_FUNC_QUALIFIER tvec2 extend 19 | ( 20 | tvec2 const & Origin, 21 | tvec2 const & Source, 22 | T const & Distance 23 | ) 24 | { 25 | return Origin + (Source - Origin) * Distance; 26 | } 27 | 28 | template 29 | GLM_FUNC_QUALIFIER tvec3 extend 30 | ( 31 | tvec3 const & Origin, 32 | tvec3 const & Source, 33 | T const & Distance 34 | ) 35 | { 36 | return Origin + (Source - Origin) * Distance; 37 | } 38 | 39 | template 40 | GLM_FUNC_QUALIFIER tvec4 extend 41 | ( 42 | tvec4 const & Origin, 43 | tvec4 const & Source, 44 | T const & Distance 45 | ) 46 | { 47 | return Origin + (Source - Origin) * Distance; 48 | } 49 | }//namespace glm 50 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/Transform.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | class Transform 4 | { 5 | public: 6 | Transform(const glm::vec2& position, float rotation, const glm::vec2& scale) noexcept; 7 | Transform() noexcept; 8 | Transform(const Transform& copy) noexcept; 9 | const glm::mat4& getMatrix()const; 10 | virtual void start(); 11 | virtual void update(); 12 | void setPosition(const glm::vec2& position); 13 | void setPosition(float xCoord, float yCoord); 14 | void translate(float x, float y); 15 | void setX(float xValue); 16 | void setY(float yValue); 17 | void setRotation(float rotation); 18 | void rotate(float rotation); 19 | void setScale(const glm::vec2& scale); 20 | const glm::vec2& getPosition()const noexcept; 21 | float getRotation()const noexcept; 22 | const glm::vec2& getScale()const noexcept; 23 | bool operator==(const Transform& transform)const noexcept; 24 | bool operator!=(const Transform& transform)const noexcept; 25 | private: 26 | glm::mat4 modelMatrix = glm::mat4(1.0); 27 | glm::vec2 scale = glm::vec2(1.0f, 1.0f); 28 | glm::vec2 position = glm::vec2(0.0f, 0.0f); 29 | float rotation = 0.0f; 30 | bool needsUpdate = true; 31 | void setModelMatrix(); 32 | }; -------------------------------------------------------------------------------- /includes/GLM/gtx/log_base.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_log_base 2 | /// @file glm/gtx/log_base.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_log_base GLM_GTX_log_base 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Logarithm for any base. base can be a vector or a scalar. 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_log_base extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup gtx_log_base 25 | /// @{ 26 | 27 | /// Logarithm for any base. 28 | /// From GLM_GTX_log_base. 29 | template 30 | GLM_FUNC_DECL genType log( 31 | genType const & x, 32 | genType const & base); 33 | 34 | /// Logarithm for any base. 35 | /// From GLM_GTX_log_base. 36 | template class vecType> 37 | GLM_FUNC_DECL vecType sign( 38 | vecType const & x, 39 | vecType const & base); 40 | 41 | /// @} 42 | }//namespace glm 43 | 44 | #include "log_base.inl" 45 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30413.136 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NormalMapGeneratorTool", "NormalMapGeneratorTool\NormalMapGeneratorTool.vcxproj", "{E2997AA2-68B2-4AB3-AEB4-ABB8A10720FF}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x86 = Debug|x86 11 | Release|x86 = Release|x86 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {E2997AA2-68B2-4AB3-AEB4-ABB8A10720FF}.Debug|x86.ActiveCfg = Debug|Win32 15 | {E2997AA2-68B2-4AB3-AEB4-ABB8A10720FF}.Debug|x86.Build.0 = Debug|Win32 16 | {E2997AA2-68B2-4AB3-AEB4-ABB8A10720FF}.Release|x86.ActiveCfg = Release|Win32 17 | {E2997AA2-68B2-4AB3-AEB4-ABB8A10720FF}.Release|x86.Build.0 = Release|Win32 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {FF4D2697-E328-445E-92D8-4C4BEAD1CB46} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /includes/GLM/gtx/raw_data.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_raw_data 2 | /// @file glm/gtx/raw_data.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_raw_data GLM_GTX_raw_data 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Projection of a vector to other one 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependencies 16 | #include "../detail/setup.hpp" 17 | #include "../detail/type_int.hpp" 18 | 19 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 20 | # pragma message("GLM: GLM_GTX_raw_data extension included") 21 | #endif 22 | 23 | namespace glm 24 | { 25 | /// @addtogroup gtx_raw_data 26 | /// @{ 27 | 28 | //! Type for byte numbers. 29 | //! From GLM_GTX_raw_data extension. 30 | typedef detail::uint8 byte; 31 | 32 | //! Type for word numbers. 33 | //! From GLM_GTX_raw_data extension. 34 | typedef detail::uint16 word; 35 | 36 | //! Type for dword numbers. 37 | //! From GLM_GTX_raw_data extension. 38 | typedef detail::uint32 dword; 39 | 40 | //! Type for qword numbers. 41 | //! From GLM_GTX_raw_data extension. 42 | typedef detail::uint64 qword; 43 | 44 | /// @} 45 | }// namespace glm 46 | 47 | #include "raw_data.inl" 48 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/ShaderProgram.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | class ShaderProgram 5 | { 6 | public: 7 | ShaderProgram(); 8 | ~ShaderProgram(); 9 | //Compiler vertex shader and fragment shader 10 | void compileShaders(const std::string& vertexShaderPath, const std::string& fragmentShaderPath); 11 | void compileShaders(const std::string& vertexShaderPath, const std::string& fragmentShaderPath, const std::string& geometryShaderPath); 12 | //Link shaders and create program 13 | void linkShaders(); 14 | void addAttribute(const std::string& attributeName); 15 | void use(); 16 | void unuse(); 17 | int getUniformLocation(const std::string& uniformName)const; 18 | static void applyShaderUniformMatrix(int uniformId, const glm::mat4& matrixValue); 19 | static void applyShaderVector3(int uniformId, const glm::vec3& value); 20 | static void applyShaderFloat(int uniformId, float value); 21 | static void applyShaderInt(int uniformId, int value); 22 | static void applyShaderBool(int uniformId, bool value); 23 | private: 24 | unsigned int programID, vertexShaderID, fragmentShaderID, geometryShaderID; 25 | void compileShader(const std::string& filePath, unsigned int ID); 26 | int attributeCount; 27 | }; 28 | 29 | -------------------------------------------------------------------------------- /NormalMapGeneratorTool/src/ViewBasedUtilities.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | struct PreviewStateUtility 4 | { 5 | public: 6 | float modelPreviewZoomLevel = -5.0f; 7 | float metalness = 0.04f; 8 | float roughness = 0.5f; 9 | int modelViewMode = 3; 10 | bool useMatcap = false; 11 | float lightIntensity = 2.5f; 12 | bool showNormals = false; 13 | bool showGrid = true; 14 | float normDisplayThickness = 4.0f; 15 | float normDisplayLineLength = 0.25f; 16 | glm::vec2 lightLocation = glm::vec2(0.0f, 0.0f); 17 | glm::vec3 diffuseColour = glm::vec3(1, 1, 1); 18 | glm::vec3 lightColour = glm::vec3(1, 1, 1); 19 | }; 20 | struct NormalViewStateUtility 21 | { 22 | public: 23 | float zoomLevel = 1; 24 | int mapDrawViewMode = 1; 25 | float normalMapStrength = 2.0f; 26 | float specularity = 5.0f; 27 | float specularityStrength = 1.0f; 28 | float lightIntensity = 0.5f; 29 | glm::vec3 lightDirection = glm::vec3(90.0f, 90.0f, 220.0f); 30 | bool flipX_Ydir = false; 31 | bool redChannelActive = true; 32 | bool greenChannelActive = true; 33 | bool blueChannelActive = true; 34 | bool methodIndex = false; 35 | glm::vec3 getNormalizedLightDir() { return glm::vec3(lightDirection.x / 180.0f, lightDirection.y / 180.0f, lightDirection.z / 180.0f); } 36 | }; 37 | -------------------------------------------------------------------------------- /includes/GLM/detail/precision.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/precision.hpp 3 | 4 | #pragma once 5 | 6 | #include "setup.hpp" 7 | 8 | namespace glm 9 | { 10 | enum precision 11 | { 12 | packed_highp, 13 | packed_mediump, 14 | packed_lowp, 15 | 16 | # if GLM_HAS_ALIGNED_TYPE 17 | aligned_highp, 18 | aligned_mediump, 19 | aligned_lowp, 20 | aligned = aligned_highp, 21 | # endif 22 | 23 | highp = packed_highp, 24 | mediump = packed_mediump, 25 | lowp = packed_lowp, 26 | packed = packed_highp, 27 | 28 | # if GLM_HAS_ALIGNED_TYPE && defined(GLM_FORCE_ALIGNED) 29 | defaultp = aligned_highp 30 | # else 31 | defaultp = highp 32 | # endif 33 | }; 34 | 35 | namespace detail 36 | { 37 | template 38 | struct is_aligned 39 | { 40 | static const bool value = false; 41 | }; 42 | 43 | # if GLM_HAS_ALIGNED_TYPE 44 | template<> 45 | struct is_aligned 46 | { 47 | static const bool value = true; 48 | }; 49 | 50 | template<> 51 | struct is_aligned 52 | { 53 | static const bool value = true; 54 | }; 55 | 56 | template<> 57 | struct is_aligned 58 | { 59 | static const bool value = true; 60 | }; 61 | # endif 62 | }//namespace detail 63 | }//namespace glm 64 | -------------------------------------------------------------------------------- /includes/GLM/gtx/matrix_cross_product.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_matrix_cross_product 2 | /// @file glm/gtx/matrix_cross_product.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtx_extented_min_max (dependence) 6 | /// 7 | /// @defgroup gtx_matrix_cross_product GLM_GTX_matrix_cross_product 8 | /// @ingroup gtx 9 | /// 10 | /// @brief Build cross product matrices 11 | /// 12 | /// need to be included to use these functionalities. 13 | 14 | #pragma once 15 | 16 | // Dependency: 17 | #include "../glm.hpp" 18 | 19 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 20 | # pragma message("GLM: GLM_GTX_matrix_cross_product extension included") 21 | #endif 22 | 23 | namespace glm 24 | { 25 | /// @addtogroup gtx_matrix_cross_product 26 | /// @{ 27 | 28 | //! Build a cross product matrix. 29 | //! From GLM_GTX_matrix_cross_product extension. 30 | template 31 | GLM_FUNC_DECL tmat3x3 matrixCross3( 32 | tvec3 const & x); 33 | 34 | //! Build a cross product matrix. 35 | //! From GLM_GTX_matrix_cross_product extension. 36 | template 37 | GLM_FUNC_DECL tmat4x4 matrixCross4( 38 | tvec3 const & x); 39 | 40 | /// @} 41 | }//namespace glm 42 | 43 | #include "matrix_cross_product.inl" 44 | -------------------------------------------------------------------------------- /includes/GLM/gtx/orthonormalize.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_orthonormalize 2 | /// @file glm/gtx/orthonormalize.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtx_extented_min_max (dependence) 6 | /// 7 | /// @defgroup gtx_orthonormalize GLM_GTX_orthonormalize 8 | /// @ingroup gtx 9 | /// 10 | /// @brief Orthonormalize matrices. 11 | /// 12 | /// need to be included to use these functionalities. 13 | 14 | #pragma once 15 | 16 | // Dependency: 17 | #include "../vec3.hpp" 18 | #include "../mat3x3.hpp" 19 | #include "../geometric.hpp" 20 | 21 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 22 | # pragma message("GLM: GLM_GTX_orthonormalize extension included") 23 | #endif 24 | 25 | namespace glm 26 | { 27 | /// @addtogroup gtx_orthonormalize 28 | /// @{ 29 | 30 | /// Returns the orthonormalized matrix of m. 31 | /// 32 | /// @see gtx_orthonormalize 33 | template 34 | GLM_FUNC_DECL tmat3x3 orthonormalize(tmat3x3 const & m); 35 | 36 | /// Orthonormalizes x according y. 37 | /// 38 | /// @see gtx_orthonormalize 39 | template 40 | GLM_FUNC_DECL tvec3 orthonormalize(tvec3 const & x, tvec3 const & y); 41 | 42 | /// @} 43 | }//namespace glm 44 | 45 | #include "orthonormalize.inl" 46 | -------------------------------------------------------------------------------- /includes/GLM/gtx/polar_coordinates.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_polar_coordinates 2 | /// @file glm/gtx/polar_coordinates.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_polar_coordinates GLM_GTX_polar_coordinates 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Conversion from Euclidean space to polar space and revert. 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_polar_coordinates extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup gtx_polar_coordinates 25 | /// @{ 26 | 27 | /// Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude. 28 | /// 29 | /// @see gtx_polar_coordinates 30 | template 31 | GLM_FUNC_DECL tvec3 polar( 32 | tvec3 const & euclidean); 33 | 34 | /// Convert Polar to Euclidean coordinates. 35 | /// 36 | /// @see gtx_polar_coordinates 37 | template 38 | GLM_FUNC_DECL tvec3 euclidean( 39 | tvec2 const & polar); 40 | 41 | /// @} 42 | }//namespace glm 43 | 44 | #include "polar_coordinates.inl" 45 | -------------------------------------------------------------------------------- /includes/GLM/gtx/closest_point.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_closest_point 2 | /// @file glm/gtx/closest_point.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_closest_point GLM_GTX_closest_point 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Find the point on a straight line which is the closet of a point. 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_closest_point extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup gtx_closest_point 25 | /// @{ 26 | 27 | /// Find the point on a straight line which is the closet of a point. 28 | /// @see gtx_closest_point 29 | template 30 | GLM_FUNC_DECL tvec3 closestPointOnLine( 31 | tvec3 const & point, 32 | tvec3 const & a, 33 | tvec3 const & b); 34 | 35 | /// 2d lines work as well 36 | template 37 | GLM_FUNC_DECL tvec2 closestPointOnLine( 38 | tvec2 const & point, 39 | tvec2 const & a, 40 | tvec2 const & b); 41 | 42 | /// @} 43 | }// namespace glm 44 | 45 | #include "closest_point.inl" 46 | -------------------------------------------------------------------------------- /includes/GLM/gtx/optimum_pow.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_optimum_pow 2 | /// @file glm/gtx/optimum_pow.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_optimum_pow GLM_GTX_optimum_pow 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Integer exponentiation of power functions. 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_GTX_optimum_pow extension included") 20 | #endif 21 | 22 | namespace glm{ 23 | namespace gtx 24 | { 25 | /// @addtogroup gtx_optimum_pow 26 | /// @{ 27 | 28 | /// Returns x raised to the power of 2. 29 | /// 30 | /// @see gtx_optimum_pow 31 | template 32 | GLM_FUNC_DECL genType pow2(genType const & x); 33 | 34 | /// Returns x raised to the power of 3. 35 | /// 36 | /// @see gtx_optimum_pow 37 | template 38 | GLM_FUNC_DECL genType pow3(genType const & x); 39 | 40 | /// Returns x raised to the power of 4. 41 | /// 42 | /// @see gtx_optimum_pow 43 | template 44 | GLM_FUNC_DECL genType pow4(genType const & x); 45 | 46 | /// @} 47 | }//namespace gtx 48 | }//namespace glm 49 | 50 | #include "optimum_pow.inl" 51 | -------------------------------------------------------------------------------- /includes/GLM/gtc/functions.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtc_functions 2 | /// @file glm/gtc/functions.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtc_half_float (dependence) 6 | /// @see gtc_quaternion (dependence) 7 | /// 8 | /// @defgroup gtc_functions GLM_GTC_functions 9 | /// @ingroup gtc 10 | /// 11 | /// @brief List of useful common functions. 12 | /// 13 | /// need to be included to use these functionalities. 14 | 15 | #pragma once 16 | 17 | // Dependencies 18 | #include "../detail/setup.hpp" 19 | #include "../detail/precision.hpp" 20 | #include "../detail/type_vec2.hpp" 21 | 22 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 23 | # pragma message("GLM: GLM_GTC_functions extension included") 24 | #endif 25 | 26 | namespace glm 27 | { 28 | /// @addtogroup gtc_functions 29 | /// @{ 30 | 31 | /// 1D gauss function 32 | /// 33 | /// @see gtc_epsilon 34 | template 35 | GLM_FUNC_DECL T gauss( 36 | T x, 37 | T ExpectedValue, 38 | T StandardDeviation); 39 | 40 | /// 2D gauss function 41 | /// 42 | /// @see gtc_epsilon 43 | template 44 | GLM_FUNC_DECL T gauss( 45 | tvec2 const& Coord, 46 | tvec2 const& ExpectedValue, 47 | tvec2 const& StandardDeviation); 48 | 49 | /// @} 50 | }//namespace glm 51 | 52 | #include "functions.inl" 53 | 54 | -------------------------------------------------------------------------------- /includes/GLM/gtx/closest_point.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_closest_point 2 | /// @file glm/gtx/closest_point.inl 3 | 4 | namespace glm 5 | { 6 | template 7 | GLM_FUNC_QUALIFIER tvec3 closestPointOnLine 8 | ( 9 | tvec3 const & point, 10 | tvec3 const & a, 11 | tvec3 const & b 12 | ) 13 | { 14 | T LineLength = distance(a, b); 15 | tvec3 Vector = point - a; 16 | tvec3 LineDirection = (b - a) / LineLength; 17 | 18 | // Project Vector to LineDirection to get the distance of point from a 19 | T Distance = dot(Vector, LineDirection); 20 | 21 | if(Distance <= T(0)) return a; 22 | if(Distance >= LineLength) return b; 23 | return a + LineDirection * Distance; 24 | } 25 | 26 | template 27 | GLM_FUNC_QUALIFIER tvec2 closestPointOnLine 28 | ( 29 | tvec2 const & point, 30 | tvec2 const & a, 31 | tvec2 const & b 32 | ) 33 | { 34 | T LineLength = distance(a, b); 35 | tvec2 Vector = point - a; 36 | tvec2 LineDirection = (b - a) / LineLength; 37 | 38 | // Project Vector to LineDirection to get the distance of point from a 39 | T Distance = dot(Vector, LineDirection); 40 | 41 | if(Distance <= T(0)) return a; 42 | if(Distance >= LineLength) return b; 43 | return a + LineDirection * Distance; 44 | } 45 | 46 | }//namespace glm 47 | -------------------------------------------------------------------------------- /includes/GLM/gtx/matrix_decompose.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_matrix_decompose 2 | /// @file glm/gtx/matrix_decompose.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_matrix_decompose GLM_GTX_matrix_decompose 7 | /// @ingroup gtx 8 | /// 9 | /// @brief Decomposes a model matrix to translations, rotation and scale components 10 | /// 11 | /// need to be included to use these functionalities. 12 | 13 | #pragma once 14 | 15 | // Dependencies 16 | #include "../mat4x4.hpp" 17 | #include "../vec3.hpp" 18 | #include "../vec4.hpp" 19 | #include "../geometric.hpp" 20 | #include "../gtc/quaternion.hpp" 21 | #include "../gtc/matrix_transform.hpp" 22 | 23 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 24 | # pragma message("GLM: GLM_GTX_matrix_decompose extension included") 25 | #endif 26 | 27 | namespace glm 28 | { 29 | /// @addtogroup gtx_matrix_decompose 30 | /// @{ 31 | 32 | /// Decomposes a model matrix to translations, rotation and scale components 33 | /// @see gtx_matrix_decompose 34 | template 35 | GLM_FUNC_DECL bool decompose( 36 | tmat4x4 const & modelMatrix, 37 | tvec3 & scale, tquat & orientation, tvec3 & translation, tvec3 & skew, tvec4 & perspective); 38 | 39 | /// @} 40 | }//namespace glm 41 | 42 | #include "matrix_decompose.inl" 43 | -------------------------------------------------------------------------------- /includes/assimp/Compiler/pushpack1.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | // =============================================================================== 4 | // May be included multiple times - sets structure packing to 1 5 | // for all supported compilers. #include reverts the changes. 6 | // 7 | // Currently this works on the following compilers: 8 | // MSVC 7,8,9 9 | // GCC 10 | // BORLAND (complains about 'pack state changed but not reverted', but works) 11 | // Clang 12 | // 13 | // 14 | // USAGE: 15 | // 16 | // struct StructToBePacked { 17 | // } PACK_STRUCT; 18 | // 19 | // =============================================================================== 20 | 21 | #ifdef AI_PUSHPACK_IS_DEFINED 22 | # error poppack1.h must be included after pushpack1.h 23 | #endif 24 | 25 | #if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) 26 | # pragma pack(push,1) 27 | # define PACK_STRUCT 28 | #elif defined( __GNUC__ ) 29 | # if defined(__clang__) 30 | # define PACK_STRUCT __attribute__((__packed__)) 31 | # else 32 | # define PACK_STRUCT __attribute__((gcc_struct, __packed__)) 33 | # endif 34 | #else 35 | # error Compiler not supported 36 | #endif 37 | 38 | #if defined(_MSC_VER) 39 | 40 | // C4103: Packing was changed after the inclusion of the header, propably missing #pragma pop 41 | # pragma warning (disable : 4103) 42 | #endif 43 | 44 | #define AI_PUSHPACK_IS_DEFINED 45 | 46 | 47 | -------------------------------------------------------------------------------- /includes/GLM/gtx/string_cast.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_string_cast 2 | /// @file glm/gtx/string_cast.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtc_half_float (dependence) 6 | /// @see gtx_integer (dependence) 7 | /// @see gtx_quaternion (dependence) 8 | /// 9 | /// @defgroup gtx_string_cast GLM_GTX_string_cast 10 | /// @ingroup gtx 11 | /// 12 | /// @brief Setup strings for GLM type values 13 | /// 14 | /// need to be included to use these functionalities. 15 | /// This extension is not supported with CUDA 16 | 17 | #pragma once 18 | 19 | // Dependency: 20 | #include "../glm.hpp" 21 | #include "../gtc/type_precision.hpp" 22 | #include "../gtc/quaternion.hpp" 23 | #include "../gtx/dual_quaternion.hpp" 24 | #include 25 | 26 | #if(GLM_COMPILER & GLM_COMPILER_CUDA) 27 | # error "GLM_GTX_string_cast is not supported on CUDA compiler" 28 | #endif 29 | 30 | #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 31 | # pragma message("GLM: GLM_GTX_string_cast extension included") 32 | #endif 33 | 34 | namespace glm 35 | { 36 | /// @addtogroup gtx_string_cast 37 | /// @{ 38 | 39 | /// Create a string from a GLM vector or matrix typed variable. 40 | /// @see gtx_string_cast extension. 41 | template