diff --git a/FocusTerra/.vs/FocusTerra/v16/.suo b/FocusTerra/.vs/FocusTerra/v16/.suo index 101a527bdfcf8adf90018007ac35ad4447a3b227..f03bebdeae496a4b4859748f0a6c2243c96c4ff9 100644 Binary files a/FocusTerra/.vs/FocusTerra/v16/.suo and b/FocusTerra/.vs/FocusTerra/v16/.suo differ diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/2497ca4debdda90c/SLIM_BLOCKCHAIN_HANDLER.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/2497ca4debdda90c/SLIM_BLOCKCHAIN_HANDLER.ipch index 604ff8914891d5f914c2e3f4aec108b91110d15a..a6468645ed556230bf06c722f85748be1966ff3c 100644 Binary files a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/2497ca4debdda90c/SLIM_BLOCKCHAIN_HANDLER.ipch and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/2497ca4debdda90c/SLIM_BLOCKCHAIN_HANDLER.ipch differ diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch index 61a6ff0b134564b14fb6e5e813b2267e796d870a..daf22a08640001ac0701280f40d714f996d31ea5 100644 Binary files a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch differ diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch index ce6caaf3110cb14ed7632cd9f13c1c4bcd4e5375..02f8ebbc872e119deea06dd1d791f84a6732f160 100644 Binary files a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch differ diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj b/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj index 78e660f7a02909e68c210bd042841282ec5e60aa..9465b1071627190bc13e0cf01e8ba8687cf67fa1 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj differ diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb b/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb index ac5283fa3e44d054c46d2984f14276b98f720ae4..6f8f790cb16fd0e6ba716da79fc623ef10292b66 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb differ diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.log b/FocusTerra/FocusTerra/x64/Release/FocusTerra.log index 4f9017ae03aba75f14315c8a1c4baafdbeefcea5..6eb02c5fba460a01d3a49d6be9574e14b54d36a1 100644 --- a/FocusTerra/FocusTerra/x64/Release/FocusTerra.log +++ b/FocusTerra/FocusTerra/x64/Release/FocusTerra.log @@ -1,99 +1,36 @@ main_testing.cpp C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\include\drawing_handler.hpp(29,21): warning C4305: 'initializing': truncation from 'double' to 'float' - slim_blockchain_handler.cpp -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(153,40): warning C4267: 'argument': conversion from 'size_t' to 'GLint', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(168,40): warning C4267: 'argument': conversion from 'size_t' to 'GLint', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(174,40): warning C4267: 'argument': conversion from 'size_t' to 'GLint', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(189,40): warning C4267: 'argument': conversion from 'size_t' to 'GLint', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(195,40): warning C4267: 'argument': conversion from 'size_t' to 'GLint', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(253,16): warning C4244: 'initializing': conversion from 'int' to 'float', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(254,59): warning C4244: 'argument': conversion from 'float' to 'int', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(254,56): warning C4244: 'argument': conversion from 'float' to 'int', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(274,16): warning C4244: 'initializing': conversion from 'int' to 'float', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(275,59): warning C4244: 'argument': conversion from 'float' to 'int', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(275,56): warning C4244: 'argument': conversion from 'float' to 'int', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(282,17): warning C4244: 'initializing': conversion from 'const int' to 'float', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(283,18): warning C4244: 'initializing': conversion from 'const int' to 'float', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(291,11): warning C4244: 'initializing': conversion from 'int' to 'float', possible loss of data -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(292,11): warning C4244: 'initializing': conversion from 'const T' to 'float', possible loss of data - with - [ - T=glm::i32 - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(293,11): warning C4244: 'initializing': conversion from 'T' to 'float', possible loss of data - with - [ - T=glm::i32 - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(294,11): warning C4244: 'initializing': conversion from 'const T' to 'float', possible loss of data - with - [ - T=glm::i32 - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(296,42): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(297,43): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(301,46): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(302,47): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(306,46): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(307,43): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(311,42): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(312,43): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(316,46): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(317,47): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data - with - [ - _Ty=float - ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(321,42): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data + gui_handler.cpp +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(157,60): warning C4244: 'argument': conversion from 'int' to 'float', possible loss of data +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(244,60): warning C4244: 'argument': conversion from 'int' to 'float', possible loss of data +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(249,6): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(254,6): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(262,6): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(267,6): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(273,6): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(278,6): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(307,5): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(314,5): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(327,5): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(334,5): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(347,5): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(354,5): warning C4312: 'type cast': conversion from 'GLuint' to 'void *' of greater size +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(422,28): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data with [ _Ty=float ] -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\slim_blockchain_handler.cpp(322,47): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(427,51): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(433,28): warning C4244: 'argument': conversion from 'double' to '_Ty', possible loss of data with [ _Ty=float ] +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\gui_handler.cpp(436,51): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data Generating code -C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\main_testing.cpp(117): warning C4715: 'SDL_main': not all control paths return a value - 1 of 2265 functions (<0.1%) were compiled, the rest were copied from previous compilation. - 0 functions were new in current compilation - 36 functions had inline decision re-evaluated but remain unchanged +C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\main_testing.cpp(118): warning C4715: 'SDL_main': not all control paths return a value + 9 of 2324 functions ( 0.4%) were compiled, the rest were copied from previous compilation. + 2 functions were new in current compilation + 54 functions had inline decision re-evaluated but remain unchanged Finished generating code FocusTerra.vcxproj -> C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\FocusTerra\x64\Release\FocusTerra.exe diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog index a7818467e2fed4838baa9768e2bd2e0fee798bc6..75b7394b9f86c396b1bd663991e659bd19bfaa51 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog differ diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog index 5e4992a185a9eebd4d62bdfce85c0ac83c6c3a4b..27b0664a54fe7c89973b6348d4e613f7be64641b 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog differ diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog index f0ddb83b4ce271c0916e642d88815033b6ee5b37..e6ad2436211ae948c5350df2ae3d4c98dc338fa7 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog differ diff --git a/FocusTerra/FocusTerra/x64/Release/drawer.obj b/FocusTerra/FocusTerra/x64/Release/drawer.obj index d02f763f4c8df932f84353b5e9ef3abf3a4aed4e..a769c31eaa5e4c47a90f6772563c36a76aa373d8 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/drawer.obj and b/FocusTerra/FocusTerra/x64/Release/drawer.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj b/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj index af2e57dd67b030892028353b509fa79a373f3f0b..dfe42b1383f54f4ad104eebcf501aac83a50b5cf 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj and b/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/event_logger.obj b/FocusTerra/FocusTerra/x64/Release/event_logger.obj index 9ec5aed9f18e015ffcf4f365169f4a1e8f391af0..71d951329d517750c764baa2a3460adb1c9db802 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/event_logger.obj and b/FocusTerra/FocusTerra/x64/Release/event_logger.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/gui_handler.obj b/FocusTerra/FocusTerra/x64/Release/gui_handler.obj index 661317b3b88abf8051b009b7dd9b5b1d976baca2..3d1c04662b8946396aa81742ca47430914b411af 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/gui_handler.obj and b/FocusTerra/FocusTerra/x64/Release/gui_handler.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/input_handler.obj b/FocusTerra/FocusTerra/x64/Release/input_handler.obj index 172428dfc9e2d3f1c926a95f48308207930d69d2..686f28fdfa454f0c21b727c76533bf3c863245d8 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/input_handler.obj and b/FocusTerra/FocusTerra/x64/Release/input_handler.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/main_testing.obj b/FocusTerra/FocusTerra/x64/Release/main_testing.obj index aa937aa3e7ee6499e9aa7c51a6f8a53ffefc5d79..6dd85adcd5f35fc8a406c29b4ea3e3778f00376a 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/main_testing.obj and b/FocusTerra/FocusTerra/x64/Release/main_testing.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/pevent.obj b/FocusTerra/FocusTerra/x64/Release/pevent.obj index 257580f048528e4a779aa70a3dcaa4090d40e4fa..db0f5f61c909ad7fdb02630278328449168412ff 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/pevent.obj and b/FocusTerra/FocusTerra/x64/Release/pevent.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/slim_blockchain_handler.obj b/FocusTerra/FocusTerra/x64/Release/slim_blockchain_handler.obj index 4bad1790524352b8e5866774432960e5132a813a..3eeee3a82ed46b945ea2107868a855c51cffab75 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/slim_blockchain_handler.obj and b/FocusTerra/FocusTerra/x64/Release/slim_blockchain_handler.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/toolbox.obj b/FocusTerra/FocusTerra/x64/Release/toolbox.obj index ae6e442d21c0bca978ab02f57ff7351c78b02271..9eb08a1ee7a1ed2aa3a5a6431a9e9e75c772111c 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/toolbox.obj and b/FocusTerra/FocusTerra/x64/Release/toolbox.obj differ diff --git a/FocusTerra/FocusTerra/x64/Release/vc142.pdb b/FocusTerra/FocusTerra/x64/Release/vc142.pdb index 47f0e1d4a762124dd715f97c343183f937ead8bf..9994f4cb33e4a8a8c07d3d0f58cddd648dad758b 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/vc142.pdb and b/FocusTerra/FocusTerra/x64/Release/vc142.pdb differ diff --git a/FocusTerra/FocusTerra/x64/Release/wave_handler.obj b/FocusTerra/FocusTerra/x64/Release/wave_handler.obj index b2055f18a94959d43e1bcfb4d051289086d1b328..903eedc04314598792169bbc1dfac347f93c690f 100644 Binary files a/FocusTerra/FocusTerra/x64/Release/wave_handler.obj and b/FocusTerra/FocusTerra/x64/Release/wave_handler.obj differ diff --git a/FocusTerra/x64/Release/FocusTerra.exe b/FocusTerra/x64/Release/FocusTerra.exe index bc1837863664b770bfe2194d34d1e1fff21b4220..59ef9e06354f4d4bc8554ec9fbccbf2339a9d8c7 100644 Binary files a/FocusTerra/x64/Release/FocusTerra.exe and b/FocusTerra/x64/Release/FocusTerra.exe differ diff --git a/FocusTerra/x64/Release/FocusTerra.pdb b/FocusTerra/x64/Release/FocusTerra.pdb index f32b6df5428e0df45c773a6d8e1dfbb9ee3b4d81..3478507640f5773ef14312dbe3d442f3e83abb08 100644 Binary files a/FocusTerra/x64/Release/FocusTerra.pdb and b/FocusTerra/x64/Release/FocusTerra.pdb differ diff --git a/include/enums.hpp b/include/enums.hpp index 77077a4411891600094594961b6d56bf70df9195..03ed53a2511c3b14a860decfc74c741cb70ace98 100644 --- a/include/enums.hpp +++ b/include/enums.hpp @@ -9,7 +9,7 @@ enum class GSTATE: int { RUN, FREEZE, EXIT };//game state enum class MESSAGETARGET { BLOCKCHAIN, DRAWER, GUI, WAVE }; //Message types -enum class BLOCKCHAINMESSAGE : int { CLEAR, PATTERN_SINGLESLIT, PATTERN_DOUBLESLIT, PATTERN_LATTICE, PATTERN_WAVEGUIDE }; +enum class BLOCKCHAINMESSAGE : int { CLEAR, PATTERN_SINGLESLIT, PATTERN_DOUBLESLIT, PATTERN_LATTICE, PATTERN_WAVEGUIDE, PATTERN_SSH, PATTERN_FRESNEL }; enum class DRAWERMESSAGE : int { CLEAR }; enum class GUIMESSAGE: int {}; enum class WAVEMESSAGE : int { RESET_WAVE, RESET_DAMPING, DIMENSION_2D, DIMENSION_3D, DEBUG_ON, DEBUG_OFF }; diff --git a/include/gui_handler.hpp b/include/gui_handler.hpp index 646f1b3177545bde28be712e9e28c39b1df4cbea..3d89a5df1c90d41e57c0a30f2564b4e84dfcf6ea 100644 --- a/include/gui_handler.hpp +++ b/include/gui_handler.hpp @@ -11,7 +11,7 @@ public: GuiHandler(float gui_pos): gui_pos_(gui_pos) {} /*Needs fully initialized Infrastructure*/ - void init(Toolbox& tb, const std::string path); + void init(Toolbox& tb, const std::string path_img, const std::string path_ttf); void update(Toolbox& tb); @@ -42,6 +42,11 @@ private: GLuint btex_doubleslit_off_ = 0, btex_doubleslit_on_ = 0; GLuint btex_lattice_off_ = 0, btex_lattice_on_ = 0; GLuint btex_waveguide_off_ = 0, btex_waveguide_on_ = 0; + GLuint btex_ssh_off_ = 0, btex_ssh_on_ = 0; + GLuint btex_fresnel_off_ = 0, btex_fresnel_on_ = 0; + + /*Font*/ + ImFont* font_ = NULL; /*Event Logger for debugging*/ EventLogger evlog = {}; diff --git a/include/slim_blockchain_handler.hpp b/include/slim_blockchain_handler.hpp index 2a25f7d3bc526fdf397b5249c486eb46dc115125..90dedcde4e648fa909cfd39032ce6b5f9d702a76 100644 --- a/include/slim_blockchain_handler.hpp +++ b/include/slim_blockchain_handler.hpp @@ -8,10 +8,11 @@ #include <glm/gtc/matrix_transform.hpp> #include <glm/gtc/type_ptr.hpp> #include <shader.hpp> +#include <string> class SlimBlockchainHandler { public: /*Assumes all toolbox textures are initialized*/ - SlimBlockchainHandler(Toolbox& tb, MSTATE initial_mstate) + SlimBlockchainHandler(Toolbox& tb, MSTATE initial_mstate, std::string filename_ssh, std::string filename_fzp) : previous_mstate_(static_cast<int>(initial_mstate)), blockchain_(0), dragpairs_(0), @@ -49,6 +50,10 @@ public: glEnableVertexAttribArray(1); glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); + + /*Load structure textures*/ + load_damping_texture_(tb, filename_ssh, &texture_ssh_); + load_damping_texture_(tb, filename_fzp, &texture_fzp_); } void update(Toolbox& tb); @@ -63,6 +68,8 @@ private: void queue_doubleslit_(Toolbox&); void queue_lattice_(Toolbox&); void queue_waveguide_(Toolbox&); + void queue_ssh_(Toolbox&); + void queue_fresnel_(Toolbox&); //Vertex Calculation void xywhs_to_vertices_(const Toolbox& tb, const std::vector<bool>& duplicates, const std::vector<glm::ivec4>& xywhs, std::vector<float>& vertices) const; //Duplicate identification @@ -83,10 +90,15 @@ private: GLuint fbo_wave_ = 0; GLuint fbo_dynamic_ = 0; GLuint fbo_static_ = 0; + /*Structure textures*/ + GLuint texture_ssh_ = 0; + GLuint texture_fzp_ = 0; /*Drawlists*/ std::vector<glm::ivec4> drawlist_static_; std::vector<glm::ivec4> drawlist_dynamic_; std::vector<glm::ivec4> eraselist_dynamic_; std::vector<bool> drawlist_dynamic_duplicates_; std::vector<bool> eraselist_dynamic_duplicates_; + /*Texture queue and vbo data*/ + GLuint queued_texture_ = 0; }; \ No newline at end of file diff --git a/resource/bare.conf b/resource/bare.conf new file mode 100644 index 0000000000000000000000000000000000000000..c7bb47784bb336e48f01b36eecf10374ce2c111b --- /dev/null +++ b/resource/bare.conf @@ -0,0 +1,8 @@ +2560 +1440 +3160 +2640 +0 +600 +600 +600 diff --git a/resource/bare.texture b/resource/bare.texture new file mode 100644 index 0000000000000000000000000000000000000000..961c8a56a6535f69a7ab757192a17c7bd250b019 Binary files /dev/null and b/resource/bare.texture differ diff --git a/resource/fresnel.conf b/resource/fresnel.conf new file mode 100644 index 0000000000000000000000000000000000000000..c7bb47784bb336e48f01b36eecf10374ce2c111b --- /dev/null +++ b/resource/fresnel.conf @@ -0,0 +1,8 @@ +2560 +1440 +3160 +2640 +0 +600 +600 +600 diff --git a/resource/fresnel.texture b/resource/fresnel.texture new file mode 100644 index 0000000000000000000000000000000000000000..afa58650e0da43f7e7f89561736d274a26067a42 Binary files /dev/null and b/resource/fresnel.texture differ diff --git a/resource/images/fresnel_off.jpg b/resource/images/fresnel_off.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d2c8879df8e43d0697f80789cffcf025477309a Binary files /dev/null and b/resource/images/fresnel_off.jpg differ diff --git a/resource/images/fresnel_on.jpg b/resource/images/fresnel_on.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c585db2072df9e5fd462a43a6968726bc2f8cb9 Binary files /dev/null and b/resource/images/fresnel_on.jpg differ diff --git a/resource/images/ssh_off.jpg b/resource/images/ssh_off.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1faff6ab2fe0b2e1a2f80db9b1e232c65aef3c82 Binary files /dev/null and b/resource/images/ssh_off.jpg differ diff --git a/resource/images/ssh_on.jpg b/resource/images/ssh_on.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c585db2072df9e5fd462a43a6968726bc2f8cb9 Binary files /dev/null and b/resource/images/ssh_on.jpg differ diff --git a/resource/ssh.conf b/resource/ssh.conf new file mode 100644 index 0000000000000000000000000000000000000000..c7bb47784bb336e48f01b36eecf10374ce2c111b --- /dev/null +++ b/resource/ssh.conf @@ -0,0 +1,8 @@ +2560 +1440 +3160 +2640 +0 +600 +600 +600 diff --git a/resource/ssh.texture b/resource/ssh.texture new file mode 100644 index 0000000000000000000000000000000000000000..a351f650a098d557a5c03476ad955eddf11cb676 Binary files /dev/null and b/resource/ssh.texture differ diff --git a/src/gui_handler.cpp b/src/gui_handler.cpp index dbdf5e21d9abea8c0498d2579165f370e75950ee..dd2d2ac294c6e0f8629a9cf2f7dd81267de3aeeb 100644 --- a/src/gui_handler.cpp +++ b/src/gui_handler.cpp @@ -13,7 +13,7 @@ #define GL_GPU_MEM_INFO_TOTAL_AVAILABLE_MEM_NVX 0x9048 #define GL_GPU_MEM_INFO_CURRENT_AVAILABLE_MEM_NVX 0x9049 -void GuiHandler::init(Toolbox& tb, const std::string path) +void GuiHandler::init(Toolbox& tb, const std::string path_img, const std::string path_ttf) { tb.gui_pos = gui_pos_; @@ -25,7 +25,15 @@ void GuiHandler::init(Toolbox& tb, const std::string path) const char* glsl_version = "#version 330"; ImGui_ImplOpenGL3_Init(glsl_version); - load_button_textures_(path); + load_button_textures_(path_img); + + /*Load font*/ + std::string fullpath_font = path_ttf + "Cousine-Regular.ttf"; + font_ = io_.Fonts->AddFontFromFileTTF(fullpath_font.c_str(), 20.0f); + if (font_ != NULL) { + std::cout << "Font loaded" << std::endl; + } + io_.Fonts->Build(); } void GuiHandler::update(Toolbox& tb) { @@ -336,6 +344,26 @@ void GuiHandler::draw_gui_(Toolbox& tb) { ImGui::Dummy(ImVec2(70, 0)); ImGui::SameLine(); ImGui::Text("Doppelspalt"); + if (ImGui::ImageButton((void*)(btex_ssh_off_), ImVec2(140, 140))) { + tb.mailbox.push_back({ WAVEMESSAGE::RESET_DAMPING }); + tb.mailbox.push_back({ WAVEMESSAGE::RESET_WAVE }); + tb.mailbox.push_back({ DRAWERMESSAGE::CLEAR }); + tb.mailbox.push_back({ BLOCKCHAINMESSAGE::PATTERN_SSH }); + } + ImGui::SameLine(); + if (ImGui::ImageButton((void*)(btex_fresnel_off_), ImVec2(140, 140))) { + tb.mailbox.push_back({ WAVEMESSAGE::RESET_DAMPING }); + tb.mailbox.push_back({ WAVEMESSAGE::RESET_WAVE }); + tb.mailbox.push_back({ DRAWERMESSAGE::CLEAR }); + tb.mailbox.push_back({ BLOCKCHAINMESSAGE::PATTERN_FRESNEL }); + } + ImGui::Dummy(ImVec2(40, 0)); + ImGui::SameLine(); + ImGui::Text("SSH"); + ImGui::SameLine(); + ImGui::Dummy(ImVec2(70, 0)); + ImGui::SameLine(); + ImGui::Text("Fresnel"); /* if (ImGui::Button("LATTICE", ImVec2(140, 140))) { tb.mailbox.push_back({ BLOCKCHAINMESSAGE::PATTERN_LATTICE }); @@ -525,6 +553,16 @@ void GuiHandler::load_button_textures_(const std::string path) { load_image_to_texture_(file, btex_waveguide_off_); file = path + "waveguide_on.jpg"; load_image_to_texture_(file, btex_waveguide_on_); + /*SSH Textures*/ + file = path + "ssh_off.jpg"; + load_image_to_texture_(file, btex_ssh_off_); + file = path + "ssh_on.jpg"; + load_image_to_texture_(file, btex_ssh_on_); + /*Fresnel Textures*/ + file = path + "fresnel_off.jpg"; + load_image_to_texture_(file, btex_fresnel_off_); + file = path + "fresnel_on.jpg"; + load_image_to_texture_(file, btex_fresnel_on_); } void GuiHandler::load_image_to_texture_(const std::string file, GLuint& texture) { diff --git a/src/main_testing.cpp b/src/main_testing.cpp index 8001b1ca09483dbb0ba28e74d314b050cfcd8cf3..2115281cbd711a4927d385bd4dc80ec00b036911 100644 --- a/src/main_testing.cpp +++ b/src/main_testing.cpp @@ -23,6 +23,7 @@ int main(int argc, char** argv) { std::string top_path = "C:\\Users\\engel\\VS_Projects\\FocusTerra\\framebuffer-testing\\"; std::string rsc_path = top_path + "resource\\"; std::string img_path = rsc_path + "images\\"; + std::string font_path = top_path + "include\\imgui\\misc\\fonts\\"; std::string shd_path = top_path + "shaders\\"; int tex_offscreen_left = 0; int tex_offscreen_right = 450; @@ -38,8 +39,8 @@ int main(int argc, char** argv) { waves.generate_and_transfer_textures(tb); InputHandler ioHandler; GuiHandler guiHandler(0.15f); - guiHandler.init(tb, img_path); - SlimBlockchainHandler bch(tb, MSTATE::PLACE); + guiHandler.init(tb, img_path, font_path); + SlimBlockchainHandler bch(tb, MSTATE::PLACE, rsc_path + "damp_exp", rsc_path + "damp_exp"); DrawingHandler drah(tb); /*Scale the gui*/ diff --git a/src/slim_blockchain_handler.cpp b/src/slim_blockchain_handler.cpp index 4bd0583cea55870a755b552267b7ac3f07df7a27..45283639c1103c3dfa6fd8a9f49e8e0c7cc07856 100644 --- a/src/slim_blockchain_handler.cpp +++ b/src/slim_blockchain_handler.cpp @@ -49,6 +49,18 @@ void SlimBlockchainHandler::update(Toolbox& tb) { m.handled = true; skip_events = true; break; + case BLOCKCHAINMESSAGE::PATTERN_SSH: + clear_blocks_(); + queue_ssh_(tb); + m.handled = true; + skip_events = true; + break; + case BLOCKCHAINMESSAGE::PATTERN_FRESNEL: + clear_blocks_(); + queue_fresnel_(tb); + m.handled = true; + skip_events = true; + break; } } } @@ -132,7 +144,7 @@ void SlimBlockchainHandler::clear_blocks_() { void SlimBlockchainHandler::update_blocks_(const Toolbox& tb, bool reload_all) { find_dynamic_duplicates_(); - if (drawlist_dynamic_.size() != 0 || drawlist_static_.size() != 0 || eraselist_dynamic_.size() != 0) { + if (drawlist_dynamic_.size() != 0 || drawlist_static_.size() != 0 || eraselist_dynamic_.size() != 0 || queued_texture_ != 0) { glBindVertexArray(vao_); glBindBuffer(GL_ARRAY_BUFFER, vbo_); glViewport(0, 0, tb.texture_w, tb.texture_h); @@ -197,6 +209,18 @@ void SlimBlockchainHandler::update_blocks_(const Toolbox& tb, bool reload_all) { } drawlist_dynamic_.clear(); } + /*Draw textured structures*/ + if (queued_texture_ != 0) { + glBindFramebuffer(GL_FRAMEBUFFER, fbo_static_); + glBindTexture(GL_TEXTURE_2D, queued_texture_); + xywhs_to_vertices_(tb, { false }, { {0, 0, tb.texture_w, tb.texture_h} }, vertices); + if (vertices.size() != 0) { + glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(float), vertices.data(), GL_DYNAMIC_DRAW); + shader_drawblocks_.setFloat("color_multiplier", 1.f); + glDrawArrays(GL_TRIANGLES, 0, 6); + } + queued_texture_ = 0; + } /*Drawing finished, reset OpenGL state*/ glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); @@ -278,6 +302,14 @@ void SlimBlockchainHandler::queue_waveguide_(Toolbox& tb) { } } +void SlimBlockchainHandler::queue_ssh_(Toolbox& tb) { + queued_texture_ = texture_ssh_; +} + +void SlimBlockchainHandler::queue_fresnel_(Toolbox& tb) { + queued_texture_ = texture_ssh_; +} + void SlimBlockchainHandler::xywhs_to_vertices_(const Toolbox& tb, const std::vector<bool>& duplicates, const std::vector<glm::ivec4>& xywhs, std::vector<float>& vertices) const { float texwidth = tb.texture_w; float texheight = tb.texture_h;