Diffuse lighting and sending the normals to shaders
This commit is contained in:
BIN
C++/Doom Fire Algorithm/.main.cpp.swp
Normal file
BIN
C++/Doom Fire Algorithm/.main.cpp.swp
Normal file
Binary file not shown.
BIN
C++/Doom Fire Algorithm/output.o
Normal file → Executable file
BIN
C++/Doom Fire Algorithm/output.o
Normal file → Executable file
Binary file not shown.
405
OpenGL/playground/CMakeCache.txt
Normal file
405
OpenGL/playground/CMakeCache.txt
Normal file
@@ -0,0 +1,405 @@
|
|||||||
|
# This is the CMakeCache file.
|
||||||
|
# For build in directory: /home/ben/Programming/examples/OpenGL/playground
|
||||||
|
# It was generated by CMake: /usr/bin/cmake
|
||||||
|
# You can edit this file to change values found and used by cmake.
|
||||||
|
# If you do not want to change any of the values, simply exit the editor.
|
||||||
|
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||||
|
# The syntax for the file is as follows:
|
||||||
|
# KEY:TYPE=VALUE
|
||||||
|
# KEY is the name of a variable in the cache.
|
||||||
|
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||||
|
# VALUE is the current value for the KEY.
|
||||||
|
|
||||||
|
########################
|
||||||
|
# EXTERNAL cache entries
|
||||||
|
########################
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_AR:FILEPATH=/usr/bin/ar
|
||||||
|
|
||||||
|
//Choose the type of build, options are: None Debug Release RelWithDebInfo
|
||||||
|
// MinSizeRel ...
|
||||||
|
CMAKE_BUILD_TYPE:STRING=
|
||||||
|
|
||||||
|
//Enable/Disable color output during build.
|
||||||
|
CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||||
|
|
||||||
|
//CXX compiler
|
||||||
|
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
|
||||||
|
|
||||||
|
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||||
|
// for the GCC compiler
|
||||||
|
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-8
|
||||||
|
|
||||||
|
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||||
|
// for the GCC compiler
|
||||||
|
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-8
|
||||||
|
|
||||||
|
//Flags used by the CXX compiler during all build types.
|
||||||
|
CMAKE_CXX_FLAGS:STRING=
|
||||||
|
|
||||||
|
//Flags used by the CXX compiler during DEBUG builds.
|
||||||
|
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
|
||||||
|
|
||||||
|
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||||
|
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||||
|
|
||||||
|
//Flags used by the CXX compiler during RELEASE builds.
|
||||||
|
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||||
|
|
||||||
|
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||||
|
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||||
|
|
||||||
|
//C compiler
|
||||||
|
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
|
||||||
|
|
||||||
|
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||||
|
// for the GCC compiler
|
||||||
|
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-8
|
||||||
|
|
||||||
|
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||||
|
// for the GCC compiler
|
||||||
|
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-8
|
||||||
|
|
||||||
|
//Flags used by the C compiler during all build types.
|
||||||
|
CMAKE_C_FLAGS:STRING=
|
||||||
|
|
||||||
|
//Flags used by the C compiler during DEBUG builds.
|
||||||
|
CMAKE_C_FLAGS_DEBUG:STRING=-g
|
||||||
|
|
||||||
|
//Flags used by the C compiler during MINSIZEREL builds.
|
||||||
|
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||||
|
|
||||||
|
//Flags used by the C compiler during RELEASE builds.
|
||||||
|
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||||
|
|
||||||
|
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||||
|
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||||
|
|
||||||
|
//Flags used by the linker during all build types.
|
||||||
|
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during DEBUG builds.
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during MINSIZEREL builds.
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during RELEASE builds.
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||||
|
|
||||||
|
//Enable/Disable output of compile commands during generation.
|
||||||
|
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
|
||||||
|
|
||||||
|
//Install path prefix, prepended onto install directories.
|
||||||
|
CMAKE_INSTALL_PREFIX:PATH=/usr/local
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_LINKER:FILEPATH=/usr/bin/ld
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of modules during
|
||||||
|
// all build types.
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of modules during
|
||||||
|
// DEBUG builds.
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of modules during
|
||||||
|
// MINSIZEREL builds.
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of modules during
|
||||||
|
// RELEASE builds.
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of modules during
|
||||||
|
// RELWITHDEBINFO builds.
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_NM:FILEPATH=/usr/bin/nm
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
|
||||||
|
|
||||||
|
//Value Computed by CMake
|
||||||
|
CMAKE_PROJECT_NAME:STATIC=OpenGLPlayground
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of shared libraries
|
||||||
|
// during all build types.
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of shared libraries
|
||||||
|
// during DEBUG builds.
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of shared libraries
|
||||||
|
// during MINSIZEREL builds.
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of shared libraries
|
||||||
|
// during RELEASE builds.
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of shared libraries
|
||||||
|
// during RELWITHDEBINFO builds.
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||||
|
|
||||||
|
//If set, runtime paths are not added when installing shared libraries,
|
||||||
|
// but are added when building.
|
||||||
|
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||||
|
|
||||||
|
//If set, runtime paths are not added when using shared libraries.
|
||||||
|
CMAKE_SKIP_RPATH:BOOL=NO
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of static libraries
|
||||||
|
// during all build types.
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of static libraries
|
||||||
|
// during DEBUG builds.
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of static libraries
|
||||||
|
// during MINSIZEREL builds.
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of static libraries
|
||||||
|
// during RELEASE builds.
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||||
|
|
||||||
|
//Flags used by the linker during the creation of static libraries
|
||||||
|
// during RELWITHDEBINFO builds.
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||||
|
|
||||||
|
//Path to a program.
|
||||||
|
CMAKE_STRIP:FILEPATH=/usr/bin/strip
|
||||||
|
|
||||||
|
//If this value is on, makefiles will be generated without the
|
||||||
|
// .SILENT directive, and all commands will be echoed to the console
|
||||||
|
// during the make. This is useful for debugging only. With Visual
|
||||||
|
// Studio IDE projects all commands are done without /nologo.
|
||||||
|
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||||
|
|
||||||
|
//Path to a file.
|
||||||
|
OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include
|
||||||
|
|
||||||
|
//Path to a file.
|
||||||
|
OPENGL_GLX_INCLUDE_DIR:PATH=/usr/include
|
||||||
|
|
||||||
|
//Path to a file.
|
||||||
|
OPENGL_INCLUDE_DIR:PATH=/usr/include
|
||||||
|
|
||||||
|
//Path to a library.
|
||||||
|
OPENGL_egl_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libEGL.so
|
||||||
|
|
||||||
|
//Path to a library.
|
||||||
|
OPENGL_gl_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libGL.so
|
||||||
|
|
||||||
|
//Path to a library.
|
||||||
|
OPENGL_glu_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libGLU.so
|
||||||
|
|
||||||
|
//Path to a library.
|
||||||
|
OPENGL_glx_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libGLX.so
|
||||||
|
|
||||||
|
//Path to a library.
|
||||||
|
OPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libOpenGL.so
|
||||||
|
|
||||||
|
//Path to a file.
|
||||||
|
OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND
|
||||||
|
|
||||||
|
//Value Computed by CMake
|
||||||
|
OpenGLPlayground_BINARY_DIR:STATIC=/home/ben/Programming/examples/OpenGL/playground
|
||||||
|
|
||||||
|
//Value Computed by CMake
|
||||||
|
OpenGLPlayground_SOURCE_DIR:STATIC=/home/ben/Programming/examples/OpenGL/playground
|
||||||
|
|
||||||
|
//The directory containing a CMake configuration file for SDL2.
|
||||||
|
SDL2_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/SDL2
|
||||||
|
|
||||||
|
|
||||||
|
########################
|
||||||
|
# INTERNAL cache entries
|
||||||
|
########################
|
||||||
|
|
||||||
|
//ADVANCED property for variable: CMAKE_AR
|
||||||
|
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||||
|
//This is the directory where this CMakeCache.txt was created
|
||||||
|
CMAKE_CACHEFILE_DIR:INTERNAL=/home/ben/Programming/examples/OpenGL/playground
|
||||||
|
//Major version of cmake used to create the current loaded cache
|
||||||
|
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||||
|
//Minor version of cmake used to create the current loaded cache
|
||||||
|
CMAKE_CACHE_MINOR_VERSION:INTERNAL=12
|
||||||
|
//Patch version of cmake used to create the current loaded cache
|
||||||
|
CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
|
||||||
|
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
|
||||||
|
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
|
||||||
|
//Path to CMake executable.
|
||||||
|
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
|
||||||
|
//Path to cpack program executable.
|
||||||
|
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
|
||||||
|
//Path to ctest program executable.
|
||||||
|
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_COMPILER
|
||||||
|
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||||
|
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
||||||
|
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||||
|
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||||
|
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||||
|
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_COMPILER
|
||||||
|
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
|
||||||
|
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
||||||
|
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||||
|
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||||
|
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||||
|
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||||
|
//Executable file format
|
||||||
|
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
||||||
|
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||||
|
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
|
||||||
|
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
|
||||||
|
//Name of external makefile project generator.
|
||||||
|
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||||
|
//Name of generator.
|
||||||
|
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
|
||||||
|
//Generator instance identifier.
|
||||||
|
CMAKE_GENERATOR_INSTANCE:INTERNAL=
|
||||||
|
//Name of generator platform.
|
||||||
|
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||||
|
//Name of generator toolset.
|
||||||
|
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||||
|
//Have symbol pthread_create
|
||||||
|
CMAKE_HAVE_LIBC_CREATE:INTERNAL=
|
||||||
|
//Have library pthreads
|
||||||
|
CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
|
||||||
|
//Have library pthread
|
||||||
|
CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
|
||||||
|
//Have include pthread.h
|
||||||
|
CMAKE_HAVE_PTHREAD_H:INTERNAL=1
|
||||||
|
//Source directory with the top level CMakeLists.txt file for this
|
||||||
|
// project
|
||||||
|
CMAKE_HOME_DIRECTORY:INTERNAL=/home/ben/Programming/examples/OpenGL/playground
|
||||||
|
//Install .so files without execute permission.
|
||||||
|
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_LINKER
|
||||||
|
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||||
|
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_NM
|
||||||
|
CMAKE_NM-ADVANCED:INTERNAL=1
|
||||||
|
//number of local generators
|
||||||
|
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_OBJCOPY
|
||||||
|
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_OBJDUMP
|
||||||
|
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
|
||||||
|
//Platform information initialized
|
||||||
|
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_RANLIB
|
||||||
|
CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
||||||
|
//Path to CMake installation.
|
||||||
|
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.12
|
||||||
|
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||||
|
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||||
|
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: CMAKE_STRIP
|
||||||
|
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||||
|
//uname command
|
||||||
|
CMAKE_UNAME:INTERNAL=/bin/uname
|
||||||
|
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||||
|
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||||
|
//Details about finding OpenGL
|
||||||
|
FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libOpenGL.so][/usr/lib/x86_64-linux-gnu/libGLX.so][/usr/include][c ][v()]
|
||||||
|
//Details about finding Threads
|
||||||
|
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
|
||||||
|
//ADVANCED property for variable: OPENGL_EGL_INCLUDE_DIR
|
||||||
|
OPENGL_EGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_GLX_INCLUDE_DIR
|
||||||
|
OPENGL_GLX_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_INCLUDE_DIR
|
||||||
|
OPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_egl_LIBRARY
|
||||||
|
OPENGL_egl_LIBRARY-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_gl_LIBRARY
|
||||||
|
OPENGL_gl_LIBRARY-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_glu_LIBRARY
|
||||||
|
OPENGL_glu_LIBRARY-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_glx_LIBRARY
|
||||||
|
OPENGL_glx_LIBRARY-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_opengl_LIBRARY
|
||||||
|
OPENGL_opengl_LIBRARY-ADVANCED:INTERNAL=1
|
||||||
|
//ADVANCED property for variable: OPENGL_xmesa_INCLUDE_DIR
|
||||||
|
OPENGL_xmesa_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||||
|
|
||||||
268
OpenGL/playground/Makefile
Normal file
268
OpenGL/playground/Makefile
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Generated by "Unix Makefiles" Generator, CMake Version 3.12
|
||||||
|
|
||||||
|
# Default target executed when no arguments are given to make.
|
||||||
|
default_target: all
|
||||||
|
|
||||||
|
.PHONY : default_target
|
||||||
|
|
||||||
|
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||||
|
.NOTPARALLEL:
|
||||||
|
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets provided by cmake.
|
||||||
|
|
||||||
|
# Disable implicit rules so canonical targets will work.
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|
||||||
|
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||||
|
SUFFIXES =
|
||||||
|
|
||||||
|
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||||
|
|
||||||
|
|
||||||
|
# Suppress display of executed commands.
|
||||||
|
$(VERBOSE).SILENT:
|
||||||
|
|
||||||
|
|
||||||
|
# A target that is always out of date.
|
||||||
|
cmake_force:
|
||||||
|
|
||||||
|
.PHONY : cmake_force
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Set environment variables for the build.
|
||||||
|
|
||||||
|
# The shell in which to execute make rules.
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# The CMake executable.
|
||||||
|
CMAKE_COMMAND = /usr/bin/cmake
|
||||||
|
|
||||||
|
# The command to remove a file.
|
||||||
|
RM = /usr/bin/cmake -E remove -f
|
||||||
|
|
||||||
|
# Escaping for special characters.
|
||||||
|
EQUALS = =
|
||||||
|
|
||||||
|
# The top-level source directory on which CMake was run.
|
||||||
|
CMAKE_SOURCE_DIR = /home/ben/Programming/examples/OpenGL/playground
|
||||||
|
|
||||||
|
# The top-level build directory on which CMake was run.
|
||||||
|
CMAKE_BINARY_DIR = /home/ben/Programming/examples/OpenGL/playground
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Targets provided globally by CMake.
|
||||||
|
|
||||||
|
# Special rule for the target rebuild_cache
|
||||||
|
rebuild_cache:
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
|
||||||
|
/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||||
|
.PHONY : rebuild_cache
|
||||||
|
|
||||||
|
# Special rule for the target rebuild_cache
|
||||||
|
rebuild_cache/fast: rebuild_cache
|
||||||
|
|
||||||
|
.PHONY : rebuild_cache/fast
|
||||||
|
|
||||||
|
# Special rule for the target edit_cache
|
||||||
|
edit_cache:
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
|
||||||
|
/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
|
||||||
|
.PHONY : edit_cache
|
||||||
|
|
||||||
|
# Special rule for the target edit_cache
|
||||||
|
edit_cache/fast: edit_cache
|
||||||
|
|
||||||
|
.PHONY : edit_cache/fast
|
||||||
|
|
||||||
|
# The main all target
|
||||||
|
all: cmake_check_build_system
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /home/ben/Programming/examples/OpenGL/playground/CMakeFiles /home/ben/Programming/examples/OpenGL/playground/CMakeFiles/progress.marks
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 all
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /home/ben/Programming/examples/OpenGL/playground/CMakeFiles 0
|
||||||
|
.PHONY : all
|
||||||
|
|
||||||
|
# The main clean target
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 clean
|
||||||
|
.PHONY : clean
|
||||||
|
|
||||||
|
# The main clean target
|
||||||
|
clean/fast: clean
|
||||||
|
|
||||||
|
.PHONY : clean/fast
|
||||||
|
|
||||||
|
# Prepare targets for installation.
|
||||||
|
preinstall: all
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||||
|
.PHONY : preinstall
|
||||||
|
|
||||||
|
# Prepare targets for installation.
|
||||||
|
preinstall/fast:
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||||
|
.PHONY : preinstall/fast
|
||||||
|
|
||||||
|
# clear depends
|
||||||
|
depend:
|
||||||
|
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||||
|
.PHONY : depend
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Target rules for targets named output
|
||||||
|
|
||||||
|
# Build rule for target.
|
||||||
|
output: cmake_check_build_system
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 output
|
||||||
|
.PHONY : output
|
||||||
|
|
||||||
|
# fast build rule for target.
|
||||||
|
output/fast:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/build
|
||||||
|
.PHONY : output/fast
|
||||||
|
|
||||||
|
src/glad.o: src/glad.c.o
|
||||||
|
|
||||||
|
.PHONY : src/glad.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/glad.c.o:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/glad.c.o
|
||||||
|
.PHONY : src/glad.c.o
|
||||||
|
|
||||||
|
src/glad.i: src/glad.c.i
|
||||||
|
|
||||||
|
.PHONY : src/glad.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/glad.c.i:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/glad.c.i
|
||||||
|
.PHONY : src/glad.c.i
|
||||||
|
|
||||||
|
src/glad.s: src/glad.c.s
|
||||||
|
|
||||||
|
.PHONY : src/glad.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/glad.c.s:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/glad.c.s
|
||||||
|
.PHONY : src/glad.c.s
|
||||||
|
|
||||||
|
src/main.o: src/main.cpp.o
|
||||||
|
|
||||||
|
.PHONY : src/main.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/main.cpp.o:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/main.cpp.o
|
||||||
|
.PHONY : src/main.cpp.o
|
||||||
|
|
||||||
|
src/main.i: src/main.cpp.i
|
||||||
|
|
||||||
|
.PHONY : src/main.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/main.cpp.i:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/main.cpp.i
|
||||||
|
.PHONY : src/main.cpp.i
|
||||||
|
|
||||||
|
src/main.s: src/main.cpp.s
|
||||||
|
|
||||||
|
.PHONY : src/main.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/main.cpp.s:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/main.cpp.s
|
||||||
|
.PHONY : src/main.cpp.s
|
||||||
|
|
||||||
|
src/object.o: src/object.cpp.o
|
||||||
|
|
||||||
|
.PHONY : src/object.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/object.cpp.o:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/object.cpp.o
|
||||||
|
.PHONY : src/object.cpp.o
|
||||||
|
|
||||||
|
src/object.i: src/object.cpp.i
|
||||||
|
|
||||||
|
.PHONY : src/object.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/object.cpp.i:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/object.cpp.i
|
||||||
|
.PHONY : src/object.cpp.i
|
||||||
|
|
||||||
|
src/object.s: src/object.cpp.s
|
||||||
|
|
||||||
|
.PHONY : src/object.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/object.cpp.s:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/object.cpp.s
|
||||||
|
.PHONY : src/object.cpp.s
|
||||||
|
|
||||||
|
src/shader.o: src/shader.cpp.o
|
||||||
|
|
||||||
|
.PHONY : src/shader.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/shader.cpp.o:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/shader.cpp.o
|
||||||
|
.PHONY : src/shader.cpp.o
|
||||||
|
|
||||||
|
src/shader.i: src/shader.cpp.i
|
||||||
|
|
||||||
|
.PHONY : src/shader.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/shader.cpp.i:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/shader.cpp.i
|
||||||
|
.PHONY : src/shader.cpp.i
|
||||||
|
|
||||||
|
src/shader.s: src/shader.cpp.s
|
||||||
|
|
||||||
|
.PHONY : src/shader.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/shader.cpp.s:
|
||||||
|
$(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/shader.cpp.s
|
||||||
|
.PHONY : src/shader.cpp.s
|
||||||
|
|
||||||
|
# Help Target
|
||||||
|
help:
|
||||||
|
@echo "The following are some of the valid targets for this Makefile:"
|
||||||
|
@echo "... all (the default if no target is provided)"
|
||||||
|
@echo "... clean"
|
||||||
|
@echo "... depend"
|
||||||
|
@echo "... rebuild_cache"
|
||||||
|
@echo "... output"
|
||||||
|
@echo "... edit_cache"
|
||||||
|
@echo "... src/glad.o"
|
||||||
|
@echo "... src/glad.i"
|
||||||
|
@echo "... src/glad.s"
|
||||||
|
@echo "... src/main.o"
|
||||||
|
@echo "... src/main.i"
|
||||||
|
@echo "... src/main.s"
|
||||||
|
@echo "... src/object.o"
|
||||||
|
@echo "... src/object.i"
|
||||||
|
@echo "... src/object.s"
|
||||||
|
@echo "... src/shader.o"
|
||||||
|
@echo "... src/shader.i"
|
||||||
|
@echo "... src/shader.s"
|
||||||
|
.PHONY : help
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets to cleanup operation of make.
|
||||||
|
|
||||||
|
# Special rule to run CMake to check the build system integrity.
|
||||||
|
# No rule that depends on this can have commands that come from listfiles
|
||||||
|
# because they might be regenerated.
|
||||||
|
cmake_check_build_system:
|
||||||
|
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||||
|
.PHONY : cmake_check_build_system
|
||||||
|
|
||||||
49
OpenGL/playground/cmake_install.cmake
Normal file
49
OpenGL/playground/cmake_install.cmake
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# Install script for directory: /home/ben/Programming/examples/OpenGL/playground
|
||||||
|
|
||||||
|
# Set the install prefix
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||||
|
set(CMAKE_INSTALL_PREFIX "/usr/local")
|
||||||
|
endif()
|
||||||
|
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
|
||||||
|
# Set the install configuration name.
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||||
|
if(BUILD_TYPE)
|
||||||
|
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||||
|
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_INSTALL_CONFIG_NAME "Debug")
|
||||||
|
endif()
|
||||||
|
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Set the component getting installed.
|
||||||
|
if(NOT CMAKE_INSTALL_COMPONENT)
|
||||||
|
if(COMPONENT)
|
||||||
|
message(STATUS "Install component: \"${COMPONENT}\"")
|
||||||
|
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_INSTALL_COMPONENT)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Install shared libraries without execute permission?
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||||
|
set(CMAKE_INSTALL_SO_NO_EXE "1")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Is this installation the result of a crosscompile?
|
||||||
|
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||||
|
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_INSTALL_COMPONENT)
|
||||||
|
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
||||||
|
else()
|
||||||
|
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||||
|
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||||
|
file(WRITE "/home/ben/Programming/examples/OpenGL/playground/${CMAKE_INSTALL_MANIFEST}"
|
||||||
|
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
||||||
BIN
OpenGL/playground/output
Normal file → Executable file
BIN
OpenGL/playground/output
Normal file → Executable file
Binary file not shown.
25
OpenGL/playground/resources/shaders/phong.frag
Normal file
25
OpenGL/playground/resources/shaders/phong.frag
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#version 330
|
||||||
|
|
||||||
|
in vec3 Normal;
|
||||||
|
in vec3 FragPos;
|
||||||
|
|
||||||
|
uniform vec3 lightPos;
|
||||||
|
|
||||||
|
out vec4 outColour;
|
||||||
|
|
||||||
|
vec3 objectColour = vec3(0.58, 0.61, 0.627);
|
||||||
|
vec3 lightColour = vec3(0.0, 1.0, 1.0);
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float ambientStrength = 0.5;
|
||||||
|
vec3 ambient = ambientStrength * lightColour;
|
||||||
|
|
||||||
|
vec3 norm = normalize(Normal);
|
||||||
|
vec3 lightDir = normalize(lightPos - FragPos);
|
||||||
|
|
||||||
|
float diff = max(dot(norm, lightDir), 0.0);
|
||||||
|
vec3 diffuse = diff * lightColour;
|
||||||
|
|
||||||
|
vec3 result = (ambient + diffuse) * objectColour;
|
||||||
|
outColour = vec4(result, 1.0);
|
||||||
|
}
|
||||||
17
OpenGL/playground/resources/shaders/phong.vert
Normal file
17
OpenGL/playground/resources/shaders/phong.vert
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#version 330
|
||||||
|
|
||||||
|
in vec3 position;
|
||||||
|
in vec3 normal;
|
||||||
|
|
||||||
|
out vec3 Normal;
|
||||||
|
out vec3 FragPos;
|
||||||
|
|
||||||
|
uniform mat4 model;
|
||||||
|
uniform mat4 view;
|
||||||
|
uniform mat4 proj;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
gl_Position = proj * view * model * vec4(position, 1.0);
|
||||||
|
FragPos = vec3(model * vec4(position, 1.0));
|
||||||
|
Normal = normal;
|
||||||
|
}
|
||||||
@@ -56,7 +56,7 @@ int main(int argc, char** argv) {
|
|||||||
window = SDL_CreateWindow("OpenGL Playground V1.0",
|
window = SDL_CreateWindow("OpenGL Playground V1.0",
|
||||||
SDL_WINDOWPOS_CENTERED,
|
SDL_WINDOWPOS_CENTERED,
|
||||||
SDL_WINDOWPOS_CENTERED,
|
SDL_WINDOWPOS_CENTERED,
|
||||||
1280, 720,
|
640, 480,
|
||||||
SDL_WINDOW_OPENGL);
|
SDL_WINDOW_OPENGL);
|
||||||
glContext = SDL_GL_CreateContext(window);
|
glContext = SDL_GL_CreateContext(window);
|
||||||
SDL_GL_SetSwapInterval(0);
|
SDL_GL_SetSwapInterval(0);
|
||||||
@@ -65,15 +65,17 @@ int main(int argc, char** argv) {
|
|||||||
isWindowOpen = true;
|
isWindowOpen = true;
|
||||||
logger << LOGGER_INFO << "OpenGL and SDL initialized" << LOGGER_ENDL;
|
logger << LOGGER_INFO << "OpenGL and SDL initialized" << LOGGER_ENDL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Load an object into system memory
|
// Load an object into system memory
|
||||||
std::vector<glm::vec4> vertices;
|
std::vector<glm::vec3> vertices;
|
||||||
std::vector<glm::vec3> normals;
|
std::vector<glm::vec3> normals;
|
||||||
std::vector<GLushort> elements;
|
std::vector<GLushort> elements;
|
||||||
|
|
||||||
LoadOBJ(logger, "./resources/dragon.obj", vertices, normals, elements);
|
LoadOBJ(logger, "./resources/dragon.obj", vertices, normals, elements);
|
||||||
|
|
||||||
|
std::vector<glm::vec3> toGPU;
|
||||||
|
toGPU.insert(toGPU.end(), vertices.begin(), vertices.end());
|
||||||
|
toGPU.insert(toGPU.end(), normals.begin(), normals.end());
|
||||||
|
|
||||||
// Generate a vertex array object
|
// Generate a vertex array object
|
||||||
GLuint vao;
|
GLuint vao;
|
||||||
glGenVertexArrays(1, &vao);
|
glGenVertexArrays(1, &vao);
|
||||||
@@ -86,7 +88,7 @@ int main(int argc, char** argv) {
|
|||||||
// Bind buffer to the GPU
|
// Bind buffer to the GPU
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, vbo);
|
glBindBuffer(GL_ARRAY_BUFFER, vbo);
|
||||||
// Copy vertex data to the vertex buffer already on the GPU
|
// Copy vertex data to the vertex buffer already on the GPU
|
||||||
glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(glm::vec4), &vertices[0], GL_STATIC_DRAW);
|
glBufferData(GL_ARRAY_BUFFER, toGPU.size() * sizeof(glm::vec3), &toGPU[0], GL_STATIC_DRAW);
|
||||||
|
|
||||||
// Generate another vertex buffer for the element array buffer
|
// Generate another vertex buffer for the element array buffer
|
||||||
GLuint ebo;
|
GLuint ebo;
|
||||||
@@ -98,15 +100,23 @@ int main(int argc, char** argv) {
|
|||||||
|
|
||||||
// Load, compile, apply and link shader programs
|
// Load, compile, apply and link shader programs
|
||||||
Shader simpleShader{ logger };
|
Shader simpleShader{ logger };
|
||||||
simpleShader.load("./resources/shaders/simple").attatch().link().use();
|
simpleShader.load("./resources/shaders/phong").attatch().link().use();
|
||||||
|
|
||||||
GLint posAttrib = glGetAttribLocation(simpleShader.getProgram(), "position");
|
GLint posAttrib = glGetAttribLocation(simpleShader.getProgram(), "position");
|
||||||
glEnableVertexAttribArray(posAttrib);
|
glEnableVertexAttribArray(posAttrib);
|
||||||
glVertexAttribPointer(posAttrib, 4, GL_FLOAT, GL_FALSE, 0, 0);
|
glVertexAttribPointer(posAttrib, 3, GL_FLOAT, GL_FALSE, 0, 0);
|
||||||
|
|
||||||
|
GLint normalAttrib = glGetAttribLocation(simpleShader.getProgram(), "normal");
|
||||||
|
glEnableVertexAttribArray(normalAttrib);
|
||||||
|
glVertexAttribPointer(normalAttrib, 3, GL_FLOAT, GL_FALSE, 0, (const void*)(vertices.size() * sizeof(glm::vec3)));
|
||||||
|
|
||||||
|
glm::vec3 lightPos(2.20, 1.0f, 2.0f);
|
||||||
|
GLint uniLight = glGetUniformLocation(simpleShader.getProgram(), "lightPos");
|
||||||
|
glUniform3fv(uniLight, 1, GL_FALSE, glm::value_ptr(lightPos));
|
||||||
|
|
||||||
// Model matrice
|
// Model matrice
|
||||||
glm::mat4 model = glm::mat4(1.0f);
|
glm::mat4 model = glm::mat4(1.0f);
|
||||||
model = glm::translate(model, {-20.0f, -20.0f, -20.0f});
|
model = glm::translate(model, {-10.0f, -10.0f, -10.0f});
|
||||||
// Gets uniform for model matrice, to be used later
|
// Gets uniform for model matrice, to be used later
|
||||||
GLint uniTrans = glGetUniformLocation(simpleShader.getProgram(), "model");
|
GLint uniTrans = glGetUniformLocation(simpleShader.getProgram(), "model");
|
||||||
|
|
||||||
@@ -121,7 +131,7 @@ int main(int argc, char** argv) {
|
|||||||
glUniformMatrix4fv(uniView, 1, GL_FALSE, glm::value_ptr(view));
|
glUniformMatrix4fv(uniView, 1, GL_FALSE, glm::value_ptr(view));
|
||||||
|
|
||||||
// Projection matrice
|
// Projection matrice
|
||||||
glm::mat4 proj = glm::perspective(glm::radians(45.0f), 1280.0f / 720.0f, 1.0f, 1000.0f);
|
glm::mat4 proj = glm::perspective(glm::radians(45.0f), 640.0f / 480.0f, 1.0f, 1000.0f);
|
||||||
// Get uniform and send it to the GPU
|
// Get uniform and send it to the GPU
|
||||||
GLint uniProj = glGetUniformLocation(simpleShader.getProgram(), "proj");
|
GLint uniProj = glGetUniformLocation(simpleShader.getProgram(), "proj");
|
||||||
glUniformMatrix4fv(uniProj, 1, GL_FALSE, glm::value_ptr(proj));
|
glUniformMatrix4fv(uniProj, 1, GL_FALSE, glm::value_ptr(proj));
|
||||||
@@ -135,8 +145,9 @@ int main(int argc, char** argv) {
|
|||||||
|
|
||||||
// Update tick (60ups)
|
// Update tick (60ups)
|
||||||
if (UPSTimer()) {
|
if (UPSTimer()) {
|
||||||
model = glm::rotate(model, glm::radians(0.5f), glm::vec3(0.0f, 0.0f, 1.0f));
|
// model = glm::rotate(model, glm::radians(0.5f), glm::vec3(0.0f, 0.0f, 1.0f));
|
||||||
model = glm::rotate(model, glm::radians(0.5f), glm::vec3(1.0f, 0.0f, 0.0f));
|
// model = glm::rotate(model, glm::radians(0.5f), glm::vec3(1.0f, 0.0f, 0.0f));
|
||||||
|
model = glm::rotate(model, glm::radians(0.5f), glm::vec3(0.0f, 1.0f, 0.0f));
|
||||||
glm::vec4 result = model * glm::vec4(1.0f, 0.0f, 0.0f, 1.0f);
|
glm::vec4 result = model * glm::vec4(1.0f, 0.0f, 0.0f, 1.0f);
|
||||||
glUniformMatrix4fv(uniTrans, 1, GL_FALSE, glm::value_ptr(model));
|
glUniformMatrix4fv(uniTrans, 1, GL_FALSE, glm::value_ptr(model));
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
// https://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Tutorial_Load_OBJ
|
// https://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Tutorial_Load_OBJ
|
||||||
void LoadOBJ(Logger& logger, std::string file, std::vector<glm::vec4>& vertices, std::vector<glm::vec3>& normals, std::vector<GLushort>& elements) {
|
void LoadOBJ(Logger& logger, std::string file, std::vector<glm::vec3>& vertices, std::vector<glm::vec3>& normals, std::vector<GLushort>& elements) {
|
||||||
std::ifstream in(file, std::ios::in);
|
std::ifstream in(file, std::ios::in);
|
||||||
if (!in) {
|
if (!in) {
|
||||||
logger << LOGGER_ERROR << "Cannot open " << file << LOGGER_ENDL;
|
logger << LOGGER_ERROR << "Cannot open " << file << LOGGER_ENDL;
|
||||||
@@ -14,7 +14,7 @@ void LoadOBJ(Logger& logger, std::string file, std::vector<glm::vec4>& vertices,
|
|||||||
while (getline(in, line)) {
|
while (getline(in, line)) {
|
||||||
if (line.substr(0,2) == "v ") {
|
if (line.substr(0,2) == "v ") {
|
||||||
std::istringstream s(line.substr(2));
|
std::istringstream s(line.substr(2));
|
||||||
glm::vec4 v; s >> v.x; s >> v.y; s >> v.z; v.w = 1.0f;
|
glm::vec3 v; s >> v.x; s >> v.y; s >> v.z;
|
||||||
vertices.push_back(v);
|
vertices.push_back(v);
|
||||||
} else if (line.substr(0,2) == "f ") {
|
} else if (line.substr(0,2) == "f ") {
|
||||||
std::istringstream s(line.substr(2));
|
std::istringstream s(line.substr(2));
|
||||||
@@ -26,16 +26,16 @@ void LoadOBJ(Logger& logger, std::string file, std::vector<glm::vec4>& vertices,
|
|||||||
else {}
|
else {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// normals.resize(vertices.size(), glm::vec3(0.0, 0.0, 0.0));
|
normals.resize(vertices.size(), glm::vec3(0.0, 0.0, 0.0));
|
||||||
// for (int i = 0; i < elements.size(); i += 3) {
|
for (int i = 0; i < elements.size(); i += 3) {
|
||||||
// GLushort ia = elements[i];
|
GLushort ia = elements[i];
|
||||||
// GLushort ib = elements[i+1];
|
GLushort ib = elements[i+1];
|
||||||
// GLushort ic = elements[i+2];
|
GLushort ic = elements[i+2];
|
||||||
// glm::vec3 normal = glm::normalize(glm::cross(
|
glm::vec3 normal = glm::normalize(glm::cross(
|
||||||
// glm::vec3(vertices[ib]) - glm::vec3(vertices[ia]),
|
glm::vec3(vertices[ib]) - glm::vec3(vertices[ia]),
|
||||||
// glm::vec3(vertices[ic]) - glm::vec3(vertices[ia])));
|
glm::vec3(vertices[ic]) - glm::vec3(vertices[ia])));
|
||||||
// normals[ia] = normals[ib] = normals[ic] = normal;
|
normals[ia] = normals[ib] = normals[ic] = normal;
|
||||||
// }
|
}
|
||||||
|
|
||||||
logger << LOGGER_INFO << "Loaded OBJ: " << file << LOGGER_ENDL;
|
logger << LOGGER_INFO << "Loaded OBJ: " << file << LOGGER_ENDL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
void LoadOBJ(Logger& logger,
|
void LoadOBJ(Logger& logger,
|
||||||
std::string file,
|
std::string file,
|
||||||
std::vector<glm::vec4>& vertices,
|
std::vector<glm::vec3>& vertices,
|
||||||
std::vector<glm::vec3>& normals,
|
std::vector<glm::vec3>& normals,
|
||||||
std::vector<GLushort>& elements);
|
std::vector<GLushort>& elements);
|
||||||
|
|
||||||
|
|||||||
@@ -1,104 +0,0 @@
|
|||||||
|
|
||||||
SSUUMMMMAARRYY OOFF LLEESSSS CCOOMMMMAANNDDSS
|
|
||||||
|
|
||||||
Commands marked with * may be preceded by a number, _N.
|
|
||||||
Notes in parentheses indicate the behavior if _N is given.
|
|
||||||
A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K.
|
|
||||||
|
|
||||||
h H Display this help.
|
|
||||||
q :q Q :Q ZZ Exit.
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
MMOOVVIINNGG
|
|
||||||
|
|
||||||
e ^E j ^N CR * Forward one line (or _N lines).
|
|
||||||
y ^Y k ^K ^P * Backward one line (or _N lines).
|
|
||||||
f ^F ^V SPACE * Forward one window (or _N lines).
|
|
||||||
b ^B ESC-v * Backward one window (or _N lines).
|
|
||||||
z * Forward one window (and set window to _N).
|
|
||||||
w * Backward one window (and set window to _N).
|
|
||||||
ESC-SPACE * Forward one window, but don't stop at end-of-file.
|
|
||||||
d ^D * Forward one half-window (and set half-window to _N).
|
|
||||||
u ^U * Backward one half-window (and set half-window to _N).
|
|
||||||
ESC-) RightArrow * Right one half screen width (or _N positions).
|
|
||||||
ESC-( LeftArrow * Left one half screen width (or _N positions).
|
|
||||||
ESC-} ^RightArrow Right to last column displayed.
|
|
||||||
ESC-{ ^LeftArrow Left to first column.
|
|
||||||
F Forward forever; like "tail -f".
|
|
||||||
ESC-F Like F but stop when search pattern is found.
|
|
||||||
r ^R ^L Repaint screen.
|
|
||||||
R Repaint screen, discarding buffered input.
|
|
||||||
---------------------------------------------------
|
|
||||||
Default "window" is the screen height.
|
|
||||||
Default "half-window" is half of the screen height.
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
SSEEAARRCCHHIINNGG
|
|
||||||
|
|
||||||
/_p_a_t_t_e_r_n * Search forward for (_N-th) matching line.
|
|
||||||
?_p_a_t_t_e_r_n * Search backward for (_N-th) matching line.
|
|
||||||
n * Repeat previous search (for _N-th occurrence).
|
|
||||||
N * Repeat previous search in reverse direction.
|
|
||||||
ESC-n * Repeat previous search, spanning files.
|
|
||||||
ESC-N * Repeat previous search, reverse dir. & spanning files.
|
|
||||||
ESC-u Undo (toggle) search highlighting.
|
|
||||||
&_p_a_t_t_e_r_n * Display only matching lines
|
|
||||||
---------------------------------------------------
|
|
||||||
A search pattern may be preceded by one or more of:
|
|
||||||
^N or ! Search for NON-matching lines.
|
|
||||||
^E or * Search multiple files (pass thru END OF FILE).
|
|
||||||
^F or @ Start search at FIRST file (for /) or last file (for ?).
|
|
||||||
^K Highlight matches, but don't move (KEEP position).
|
|
||||||
^R Don't use REGULAR EXPRESSIONS.
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
JJUUMMPPIINNGG
|
|
||||||
|
|
||||||
g < ESC-< * Go to first line in file (or line _N).
|
|
||||||
G > ESC-> * Go to last line in file (or line _N).
|
|
||||||
p % * Go to beginning of file (or _N percent into file).
|
|
||||||
t * Go to the (_N-th) next tag.
|
|
||||||
T * Go to the (_N-th) previous tag.
|
|
||||||
{ ( [ * Find close bracket } ) ].
|
|
||||||
} ) ] * Find open bracket { ( [.
|
|
||||||
ESC-^F _<_c_1_> _<_c_2_> * Find close bracket _<_c_2_>.
|
|
||||||
ESC-^B _<_c_1_> _<_c_2_> * Find open bracket _<_c_1_>
|
|
||||||
---------------------------------------------------
|
|
||||||
Each "find close bracket" command goes forward to the close bracket
|
|
||||||
matching the (_N-th) open bracket in the top line.
|
|
||||||
Each "find open bracket" command goes backward to the open bracket
|
|
||||||
matching the (_N-th) close bracket in the bottom line.
|
|
||||||
|
|
||||||
m_<_l_e_t_t_e_r_> Mark the current top line with <letter>.
|
|
||||||
M_<_l_e_t_t_e_r_> Mark the current bottom line with <letter>.
|
|
||||||
'_<_l_e_t_t_e_r_> Go to a previously marked position.
|
|
||||||
'' Go to the previous position.
|
|
||||||
^X^X Same as '.
|
|
||||||
ESC-M_<_l_e_t_t_e_r_> Clear a mark.
|
|
||||||
---------------------------------------------------
|
|
||||||
A mark is any upper-case or lower-case letter.
|
|
||||||
Certain marks are predefined:
|
|
||||||
^ means beginning of the file
|
|
||||||
$ means end of the file
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
CCHHAANNGGIINNGG FFIILLEESS
|
|
||||||
|
|
||||||
:e [_f_i_l_e] Examine a new file.
|
|
||||||
^X^V Same as :e.
|
|
||||||
:n * Examine the (_N-th) next file from the command line.
|
|
||||||
:p * Examine the (_N-th) previous file from the command line.
|
|
||||||
:x * Examine the first (or _N-th) file from the command line.
|
|
||||||
:d Delete the current file from the command line list.
|
|
||||||
= ^G :f Print current file name.
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
MMIISSCCEELLLLAANNEEOOUUSS CCOOMMMMAANNDDSS
|
|
||||||
|
|
||||||
-_<_f_l_a_g_> Toggle a command line option [see OPTIONS below].
|
|
||||||
--_<_n_a_m_e_> Toggle a command line option, by name.
|
|
||||||
__<_f_l_a_g_> Display the setting of a command line option.
|
|
||||||
___<_n_a_m_e_> Display the setting of an option, by name.
|
|
||||||
+_c_m_d Execute the less cmd each time a new file is examined.
|
|
||||||
|
|
||||||
!_c_o_m_m_a_n_d Execute the shell command with $SHELL.
|
|
||||||
Reference in New Issue
Block a user