-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Pzyco
committed
Apr 24, 2022
0 parents
commit c95a96e
Showing
3,833 changed files
with
1,797,730 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
.vscode | ||
build/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# CMake | ||
cmake_minimum_required(VERSION 3.1) | ||
project(main) | ||
|
||
# Sources | ||
set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src") | ||
set(LIB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/lib") | ||
file (GLOB_RECURSE SOURCES ${SRC_DIR}/*.cpp | ||
${SRC_DIR}/*.c | ||
${SRC_DIR}/*.hpp | ||
${SRC_DIR}/*.h) | ||
|
||
file (GLOB_RECURSE SHADERS ${SRC_DIR}/shaders/*.frag | ||
${SRC_DIR}/shaders/*.vert) | ||
|
||
# Executable | ||
add_executable(${PROJECT_NAME} ${SOURCES} ${SHADERS}) | ||
target_include_directories(${PROJECT_NAME} PRIVATE "${SRC_DIR}") | ||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) | ||
|
||
# glfw | ||
set(GLFW_DIR "${LIB_DIR}/glfw") | ||
set(GLFW_BUILD_EXAMPLES OFF CACHE INTERNAL "Build the GLFW example programs") | ||
set(GLFW_BUILD_TESTS OFF CACHE INTERNAL "Build the GLFW test programs") | ||
set(GLFW_BUILD_DOCS OFF CACHE INTERNAL "Build the GLFW documentation") | ||
set(GLFW_INSTALL OFF CACHE INTERNAL "Generate installation target") | ||
add_subdirectory("${GLFW_DIR}") | ||
target_link_libraries(${PROJECT_NAME} "glfw" "${GLFW_LIBRARIES}") | ||
target_include_directories(${PROJECT_NAME} PRIVATE "${GLFW_DIR}/include") | ||
target_compile_definitions(${PROJECT_NAME} PRIVATE "GLFW_INCLUDE_NONE") | ||
|
||
# glad | ||
set(GLAD_DIR "${LIB_DIR}/glad") | ||
add_library("glad" "${GLAD_DIR}/src/glad.c") | ||
target_include_directories("glad" PRIVATE "${GLAD_DIR}/include") | ||
target_include_directories(${PROJECT_NAME} PRIVATE "${GLAD_DIR}/include") | ||
target_link_libraries(${PROJECT_NAME} "glad" "${CMAKE_DL_LIBS}") | ||
|
||
# glm | ||
set(GLM_DIR "${LIB_DIR}/glm") | ||
add_subdirectory("${GLM_DIR}") | ||
target_link_libraries(${PROJECT_NAME} "glm" "${GLM_LIBRARIES}") | ||
target_include_directories(${PROJECT_NAME} PRIVATE "${GLM_DIR}/include") | ||
target_compile_definitions(${PROJECT_NAME} PRIVATE "GLM_INCLUDE_NONE") | ||
|
||
# assimp | ||
set(ASSIMP_DIR "${LIB_DIR}/assimp") | ||
set(ASSIMP_BUILD_TESTS OFF CACHE INTERNAL "Build the ASSIMP test programs") | ||
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE INTERNAL "Build the ASSIMP tools") | ||
set(ASSIMP_NO_EXPORT ON CACHE INTERNAL "Disable ASSIMP Export") | ||
set(ASSIMP_BUILD_COLLADA_IMPORTER ON) | ||
set(ASSIMP_BUILD_FBX_IMPORTER ON) | ||
|
||
set(ASSIMP_BUILD_AMF_IMPORTER OFF) | ||
set(ASSIMP_BUILD_3DS_IMPORTER OFF) | ||
set(ASSIMP_BUILD_AC_IMPORTER OFF) | ||
set(ASSIMP_BUILD_ASE_IMPORTER OFF) | ||
set(ASSIMP_BUILD_ASSBIN_IMPORTER OFF) | ||
set(ASSIMP_BUILD_B3D_IMPORTER OFF) | ||
set(ASSIMP_BUILD_BVH_IMPORTER OFF) | ||
set(ASSIMP_BUILD_DXF_IMPORTER OFF) | ||
set(ASSIMP_BUILD_CSM_IMPORTER OFF) | ||
set(ASSIMP_BUILD_HMP_IMPORTER OFF) | ||
set(ASSIMP_BUILD_IRRMESH_IMPORTER OFF) | ||
set(ASSIMP_BUILD_IRR_IMPORTER OFF) | ||
set(ASSIMP_BUILD_LWO_IMPORTER OFF) | ||
set(ASSIMP_BUILD_LWS_IMPORTER OFF) | ||
set(ASSIMP_BUILD_MD2_IMPORTER OFF) | ||
set(ASSIMP_BUILD_MD3_IMPORTER OFF) | ||
set(ASSIMP_BUILD_MD5_IMPORTER OFF) | ||
set(ASSIMP_BUILD_MDC_IMPORTER OFF) | ||
set(ASSIMP_BUILD_MDL_IMPORTER OFF) | ||
set(ASSIMP_BUILD_NFF_IMPORTER OFF) | ||
set(ASSIMP_BUILD_NDO_IMPORTER OFF) | ||
set(ASSIMP_BUILD_OFF_IMPORTER OFF) | ||
set(ASSIMP_BUILD_OBJ_IMPORTER OFF) | ||
set(ASSIMP_BUILD_OGRE_IMPORTER OFF) | ||
set(ASSIMP_BUILD_OPENGEX_IMPORTER OFF) | ||
set(ASSIMP_BUILD_PLY_IMPORTER OFF) | ||
set(ASSIMP_BUILD_MS3D_IMPORTER OFF) | ||
set(ASSIMP_BUILD_COB_IMPORTER OFF) | ||
set(ASSIMP_BUILD_BLEND_IMPORTER OFF) | ||
set(ASSIMP_BUILD_IFC_IMPORTER OFF) | ||
set(ASSIMP_BUILD_XGL_IMPORTER OFF) | ||
set(ASSIMP_BUILD_Q3D_IMPORTER OFF) | ||
set(ASSIMP_BUILD_Q3BSP_IMPORTER OFF) | ||
set(ASSIMP_BUILD_RAW_IMPORTER OFF) | ||
set(ASSIMP_BUILD_SIB_IMPORTER OFF) | ||
set(ASSIMP_BUILD_SMD_IMPORTER OFF) | ||
set(ASSIMP_BUILD_STL_IMPORTER OFF) | ||
set(ASSIMP_BUILD_TERRAGEN_IMPORTER OFF) | ||
set(ASSIMP_BUILD_3D_IMPORTER OFF) | ||
set(ASSIMP_BUILD_X_IMPORTER OFF) | ||
set(ASSIMP_BUILD_X3D_IMPORTER OFF) | ||
set(ASSIMP_BUILD_GLTF_IMPORTER OFF) | ||
set(ASSIMP_BUILD_3MF_IMPORTER OFF) | ||
set(ASSIMP_BUILD_MMD_IMPORTER OFF) | ||
set(ASSIMP_BUILD_STEP_IMPORTER OFF) | ||
add_subdirectory("${ASSIMP_DIR}") | ||
target_link_libraries(${PROJECT_NAME} "assimp" "${ASSIMP_LIBRARIES}") | ||
target_include_directories(${PROJECT_NAME} PRIVATE "${ASSIMP_DIR}/include") | ||
target_compile_definitions(${PROJECT_NAME} PRIVATE "ASSIMP_INCLUDE_NONE") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2022 MathNuts | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
Skeletal animation using C++ and OpenGL. | ||
|
||
## Why? | ||
|
||
I created this project in order to explore several aspects of OpenGL and 3D animation. This includes but is not limitied to: lighting, shadow maps, texturing, model loading, animations and skeletal representations. | ||
|
||
## Building and running | ||
|
||
To run the code, enter the build directory and run CMake. | ||
|
||
```console | ||
cd ./build | ||
cmake .. | ||
``` | ||
|
||
The build directory will then be populated by a VS Project or a make file that can be used to run the project. | ||
|
||
This has been tested and works on my Windows and Linux machine. | ||
|
||
## Movement | ||
|
||
The model can be moved by using the WASD keys along with the spacebar to jump. | ||
|
||
## About the 3D model | ||
|
||
The model, textures and animations are all made by [Mixamo](https://www.mixamo.com/#/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# See <http://EditorConfig.org> for details | ||
|
||
root = true | ||
|
||
[CMakeLists.txt,*.cmake{,.in}] | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[*.h.in] | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
indent_size = 4 | ||
indent_style = space | ||
|
||
[*.txt] | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
set(ASSIMP_INCLUDE_DIRS | ||
"@PROJECT_SOURCE_DIR@" | ||
"@PROJECT_BINARY_DIR@") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
set(ASSIMP_PACKAGE_VERSION "@ASSIMP_SOVERSION@") | ||
|
||
# Check whether the requested PACKAGE_FIND_VERSION is compatible | ||
if("${ASSIMP_PACKAGE_VERSION}" VERSION_LESS "${ASSIMP_PACKAGE_FIND_VERSION}") | ||
set(ASSIMP_PACKAGE_VERSION_COMPATIBLE FALSE) | ||
else() | ||
set(ASSIMP_PACKAGE_VERSION_COMPATIBLE TRUE) | ||
if ("${ASSIMP_PACKAGE_VERSION}" VERSION_EQUAL "${ASSIMP_PACKAGE_FIND_VERSION}") | ||
set(ASSIMP_PACKAGE_VERSION_EXACT TRUE) | ||
endif() | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
:: This is an example file to generate binaries using Windows Operating System | ||
:: This script is configured to be executed from the source directory | ||
|
||
:: Compiled binaries will be placed in BINARIES_DIR\code\CONFIG | ||
|
||
:: NOTE | ||
:: The build process will generate a config.h file that is placed in BINARIES_DIR\include | ||
:: This file must be merged with SOURCE_DIR\include | ||
:: You should write yourself a script that copies the files where you want them. | ||
:: Also see: https://github.com/assimp/assimp/pull/2646 | ||
|
||
SET SOURCE_DIR=. | ||
|
||
:: For generators see "cmake --help" | ||
SET GENERATOR=Visual Studio 15 2017 | ||
|
||
SET BINARIES_DIR="./BINARIES/Win32" | ||
cmake CMakeLists.txt -G "%GENERATOR%" -S %SOURCE_DIR% -B %BINARIES_DIR% | ||
cmake --build %BINARIES_DIR% --config release | ||
|
||
SET BINARIES_DIR="./BINARIES/x64" | ||
cmake CMakeLists.txt -G "%GENERATOR% Win64" -S %SOURCE_DIR% -B %BINARIES_DIR% | ||
cmake --build %BINARIES_DIR% --config debug | ||
cmake --build %BINARIES_DIR% --config release | ||
|
||
PAUSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# Build Instructions | ||
## Install CMake | ||
Asset-Importer-Lib can be build for a lot of different platforms. We are using cmake to generate the build environment for these via cmake. So you have to make sure that you have a working cmake-installation on your system. You can download it at https://cmake.org/ or for linux install it via | ||
```bash | ||
sudo apt-get install cmake | ||
``` | ||
|
||
## Get the source | ||
Make sure you have a working git-installation. Open a command prompt and clone the Asset-Importer-Lib via: | ||
```bash | ||
git clone https://github.com/assimp/assimp.git | ||
``` | ||
|
||
## Build instructions for Windows with Visual-Studio | ||
|
||
First you have to install Visual-Studio on your windows-system. You can get the Community-Version for free here: https://visualstudio.microsoft.com/de/downloads/ | ||
To generate the build environment for your IDE open a command prompt, navigate to your repo and type: | ||
```bash | ||
cmake CMakeLists.txt | ||
``` | ||
This will generate the project files for the visual studio. All dependencies used to build Asset-IMporter-Lib shall be part of the repo. If you want to use you own zlib.installation this is possible as well. Check the options for it. | ||
|
||
## Build instructions for Windows with UWP | ||
See <https://stackoverflow.com/questions/40803170/cmake-uwp-using-cmake-to-build-universal-windows-app> | ||
|
||
## Build instructions for Linux / Unix | ||
Open a terminal and got to your repository. You can generate the makefiles and build the library via: | ||
|
||
```bash | ||
cmake CMakeLists.txt | ||
make -j4 | ||
``` | ||
The option -j descripes the number of parallel processes for the build. In this case make will try to use 4 cores for the build. | ||
|
||
If you want to use a IDE for linux you can try QTCreator for instance. | ||
|
||
## Build instructions for MinGW | ||
Older versions of MinGW's compiler (e.g. 5.1.0) do not support the -mbig_obj flag | ||
required to compile some of assimp's files, especially for debug builds. | ||
Version 7.3.0 of g++-mingw-w64 & gcc-mingw-w64 appears to work. | ||
|
||
Please see [CMake Cross Compiling](https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling) for general information on CMake Toolchains. | ||
|
||
Some users have had success building assimp using MinGW on Linux using [polly](https://github.com/ruslo/polly/). | ||
|
||
The following toolchain, which is not maintained by assimp, seems to work on Linux: [linux-mingw-w64-gnuxx11.cmake](https://github.com/ruslo/polly/blob/master/linux-mingw-w64-gnuxx11.cmake) | ||
|
||
The following toolchain may or may not be helpful for building assimp using MinGW on Windows (untested): | ||
[mingw-cxx17.cmake](https://github.com/ruslo/polly/blob/master/mingw-cxx17.cmake) | ||
|
||
Besides the toolchain, compilation should be the same as for Linux / Unix. | ||
|
||
## CMake build options | ||
The cmake-build-environment provides options to configure the build. The following options can be used: | ||
- **BUILD_SHARED_LIBS ( default ON )**: Generation of shared libs ( dll for windows, so for Linux ). Set this to OFF to get a static lib. | ||
- **BUILD_FRAMEWORK ( default OFF, MacOnly)**: Build package as Mac OS X Framework bundle | ||
- **ASSIMP_DOUBLE_PRECISION( default OFF )**: All data will be stored as double values. | ||
- **ASSIMP_OPT_BUILD_PACKAGES ( default OFF)**: Set to ON to generate CPack configuration files and packaging targets | ||
- **ASSIMP_ANDROID_JNIIOSYSTEM ( default OFF )**: Android JNI IOSystem support is active | ||
- **ASSIMP_NO_EXPORT ( default OFF )**: Disable Assimp's export functionality | ||
- **ASSIMP_BUILD_ZLIB ( default OFF )**: Build your own zlib | ||
- **ASSIMP_BUILD_ASSIMP_TOOLS ( default ON )**: If the supplementary tools for Assimp are built in addition to the library. | ||
- **ASSIMP_BUILD_SAMPLES ( default OFF )**: If the official samples are built as well (needs Glut). | ||
- **ASSIMP_BUILD_TESTS ( default ON )**: If the test suite for Assimp is built in addition to the library. | ||
- **ASSIMP_COVERALLS ( default OFF )**: Enable this to measure test coverage. | ||
- **ASSIMP_WERROR( default OFF )**: Treat warnings as errors. | ||
- **ASSIMP_ASAN ( default OFF )**: Enable AddressSanitizer. | ||
- **ASSIMP_UBSAN ( default OFF )**: Enable Undefined Behavior sanitizer. | ||
- **SYSTEM_IRRXML ( default OFF )**: Use system installed Irrlicht/IrrXML library. | ||
- **BUILD_DOCS ( default OFF )**: Build documentation using Doxygen. | ||
- **INJECT_DEBUG_POSTFIX( default ON )**: Inject debug postfix in .a/.so lib names | ||
- **IGNORE_GIT_HASH ( default OFF )**: Don't call git to get the hash. | ||
- **ASSIMP_INSTALL_PDB ( default ON )**: Install MSVC debug files. |
Oops, something went wrong.