diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..35eb1ddfbbc029bcab630581847471d7f238ec53 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/cmake-build-debug/.ninja_deps b/cmake-build-debug/.ninja_deps index bee9f37efd02199faa1eeec52c66fe7f16ca01b2..f55307ba380053001d70b66f81876891129699af 100644 Binary files a/cmake-build-debug/.ninja_deps and b/cmake-build-debug/.ninja_deps differ diff --git a/cmake-build-debug/.ninja_log b/cmake-build-debug/.ninja_log index 4342388a4f9532f1740aa38d148b5a74215e7d25..acf677c27f15e8c167f527a1e92bce3ccb1086e1 100644 --- a/cmake-build-debug/.ninja_log +++ b/cmake-build-debug/.ninja_log @@ -65,3 +65,27 @@ 2184 2819 7669527463669229 OpenGL_Praktikum.exe 9fec4fbaeb613d2c 7 2155 7669530622709377 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 2155 2847 7669530629555916 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +19 2545 7671225479814950 CMakeFiles/OpenGL_Praktikum.dir/src/main.cpp.obj 195d9e105c20c9dc +13 2601 7671225480398483 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj ab9d4e71a8c90cb0 +7 2865 7671225483034514 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +2865 3675 7671225491088897 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +7 1834 7671226063158935 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +1834 2369 7671226068418604 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +7 1783 7671226171177096 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +1784 2287 7671226176162456 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +6 1773 7671226497686615 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +1774 2280 7671226502688544 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +7 1915 7671227462939512 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +1915 2431 7671227468043552 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +7 1945 7671228298905136 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +1946 2448 7671228303861101 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +7 1778 7671229330744667 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +1778 2283 7671229335727142 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +6 2049 7671231570157807 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +2049 2562 7671231575226353 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +10 2146 7671234425820590 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +2147 2665 7671234430954610 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +7 1797 7671235311663664 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +1798 2366 7671235317308413 OpenGL_Praktikum.exe 9fec4fbaeb613d2c +9 2107 7671237043887114 CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj a89dc091bea583c7 +2107 2608 7671237048856388 OpenGL_Praktikum.exe 9fec4fbaeb613d2c diff --git a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj index 080ee617ba69014affeaceb8c224885920e8ba23..0cadd79ca5b550b43ee3c7593b36dd8cb851f385 100644 Binary files a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj and b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj differ diff --git a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj index a93fd8bbf5609c0e9fd275bd84ae42ce5b8ed7d9..4c9b3e0cfc6c92b65a8f3ff83421469398922169 100644 Binary files a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj and b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj differ diff --git a/cmake-build-debug/OpenGL_Praktikum.exe b/cmake-build-debug/OpenGL_Praktikum.exe index c6b5ba0744c6dace1c82c5ae6c8d7420d071eaeb..83b868c7440665dc57ebfa1fd5c874cbb93d904f 100644 Binary files a/cmake-build-debug/OpenGL_Praktikum.exe and b/cmake-build-debug/OpenGL_Praktikum.exe differ diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log index 2487e2465770382c93a0c909115a8a4be22b9c07..affc445a66815ebec370cbdeccfcd56bd6f8679c 100644 --- a/cmake-build-debug/Testing/Temporary/LastTest.log +++ b/cmake-build-debug/Testing/Temporary/LastTest.log @@ -1,3 +1,3 @@ -Start testing: Apr 21 17:37 Mitteleurop�ische Sommerzeit +Start testing: Apr 23 17:01 Mitteleurop�ische Sommerzeit ---------------------------------------------------------- -End testing: Apr 21 17:37 Mitteleurop�ische Sommerzeit +End testing: Apr 23 17:01 Mitteleurop�ische Sommerzeit diff --git a/cmake-build-debug/perflog.csv b/cmake-build-debug/perflog.csv index 8d08049192f93141e99f966a6b0ca1f7c5821641..802f6edfaa197edd04d89d2ad5f26d1cae067eb1 100644 --- a/cmake-build-debug/perflog.csv +++ b/cmake-build-debug/perflog.csv @@ -1,28 +1,35 @@ -509.282,1018.56,1.96355,0.981774 -1019.78,1019.78,0.980608,0.980608 -2559.31,2559.31,0.39073,0.39073 -1026.61,1026.61,0.97408,0.97408 -1019.88,1019.88,0.980508,0.980508 -1018.86,1018.86,0.98149,0.98149 -1027.36,1027.36,0.973369,0.973369 -1025.84,1025.84,0.974814,0.974814 -1019.79,1019.79,0.98059,0.98059 -1019.51,1019.51,0.980862,0.980862 -1019.98,1019.98,0.980416,0.980416 -1019.39,1019.39,0.98098,0.98098 -1019.89,1019.89,0.980499,0.980499 -2822.71,2822.71,0.354269,0.354269 -1033.73,1033.73,0.967371,0.967371 -4841.49,4841.49,0.206548,0.206548 -1018.28,1018.28,0.98205,0.98205 -1005.89,1005.89,0.99414,0.99414 -1012.55,1012.55,0.98761,0.98761 -1020.6,1020.6,0.979821,0.979821 -1026.12,1026.12,0.974548,0.974548 -1019.39,1019.39,0.980974,0.980974 -1020.23,1020.23,0.980174,0.980174 -1019.1,1019.1,0.981254,0.981254 -1019.35,1019.35,0.981014,0.981014 -1019.73,1019.73,0.980653,0.980653 -1020.16,1020.16,0.980237,0.980237 -1025.5,1025.5,0.97513,0.97513 +503.612,1007.22,1.98565,0.992827 +1012.68,1012.68,0.987479,0.987479 +1012.47,1012.47,0.987683,0.987683 +1020.08,1020.08,0.980319,0.980319 +1019.76,1019.76,0.980625,0.980625 +1025.66,1025.66,0.974985,0.974985 +1011.61,1011.61,0.988524,0.988524 +1019.58,1019.58,0.980801,0.980801 +1019.76,1019.76,0.980619,0.980619 +1013.01,1013.01,0.987158,0.987158 +1005.09,1005.09,0.99494,0.99494 +1014.32,1014.32,0.985886,0.985886 +1018.2,1018.2,0.982121,0.982121 +1021.24,1021.24,0.979202,0.979202 +1158.59,1158.59,0.863118,0.863118 +1019.37,1019.37,0.980996,0.980996 +1011.13,1011.13,0.988988,0.988988 +1014.05,1014.05,0.986141,0.986141 +1018.03,1018.03,0.982285,0.982285 +1012.89,1012.89,0.987271,0.987271 +1019.11,1019.11,0.981244,0.981244 +1013.08,1013.08,0.98709,0.98709 +1019.69,1019.69,0.980688,0.980688 +1012.41,1012.41,0.987745,0.987745 +1012.56,1012.56,0.987592,0.987592 +1005.77,1005.77,0.994266,0.994266 +1021.41,1021.41,0.97904,0.97904 +1026.45,1026.45,0.974227,0.974227 +1024.7,1024.7,0.975899,0.975899 +1019.65,1019.65,0.98073,0.98073 +1012.39,1012.39,0.987764,0.987764 +1019.68,1019.68,0.980702,0.980702 +1012.82,1012.82,0.987345,0.987345 +1012.67,1012.67,0.987486,0.987486 +1021.57,1021.57,0.978885,0.978885 diff --git a/src/Game/Scene.cpp b/src/Game/Scene.cpp index 1d0b8054a0946848cb9f03d6da89b230a63837e7..c58e4bc53e32347fbe1aaf61480747ead35313ea 100644 --- a/src/Game/Scene.cpp +++ b/src/Game/Scene.cpp @@ -63,7 +63,7 @@ bool Scene::init() m_shader->use(); float rF,gF,bF = 0.5f; - + float rU, gU, bU = 0.5f; float vertices_home[] = { @@ -163,7 +163,38 @@ bool Scene::init() 9, 10, 11 }; + float vertices_name_U[] = { + // linke splate + 0.5f, 0.0f,rU, gU, bU, // oben links + 0.55f, 0.0f,rU, gU, bU, // oben rechts + 0.5f, -1.0f,rU, gU, bU, // unten links + 0.55f, -1.0f,rU, gU, bU, // unten rechts + + // rechte splate + 0.95f, 0.0f,rU, gU, bU, // oben links + 1.0f, 0.0f,rU, gU, bU, // oben rechts + 0.95f, -1.0f,rU, gU, bU, // unten links + 1.0f, -1.0f,rU, gU, bU, // unten rechts + + + // untere splate + 0.5f, -0.95f,rU, gU, bU, // oben links + 1.0f, -0.95f,rU, gU, bU, // oben rechts + + }; + + unsigned int indices_name_U[] = { + 3,1,0, + 0,2,3, + + 7,5,4, + 4,6,7, + + 7,8,2, + 7,9,8 + + }; @@ -214,6 +245,21 @@ bool Scene::init() createAndBind_VBO_VAO_IBO(objectBuffer_Name_F); // ########################################################################################## + // ############################### CREATE NAME [U] OBJECT ############################### + // ############################### WARNING ################################################ + // "The address of local variable ‘vertices’ may escape the function" + // the pointer objectBuffer.vertices and objectBuffer.indices will point to invalid memory after the function returns, + // because local arrays exist only on the stack temporarily. + // you may fix that with static decleration or with allocation with new/mallloc + objectBuffer_Name_U.vertices = vertices_name_U; + objectBuffer_Name_U.setSizeVerticesInBytes(sizeof(vertices_name_U)); + + objectBuffer_Name_U.indices = indices_name_U; + objectBuffer_Name_U.setSizeIndices(sizeof(indices_name_U)); + + createAndBind_VBO_VAO_IBO(objectBuffer_Name_U); + // ########################################################################################## + glEnable(GL_CULL_FACE); glFrontFace(GL_CCW); @@ -234,6 +280,7 @@ void Scene::render(float dt) //#################################################################################################################### + // activate VAO // glBindVertexArray(objectBuffer_House.vaoID); // render call // @@ -241,6 +288,16 @@ void Scene::render(float dt) // good programmers should reset // glBindVertexArray(0); + + //################################################################################################################### + + //#################################################################################################################### + // activate VAO // + glBindVertexArray(objectBuffer_Name_U.vaoID); + // render call // + glDrawElements(GL_TRIANGLES, objectBuffer_Name_U.elementsNumberOfIndices, GL_UNSIGNED_INT, 0); + // good programmers should reset // + glBindVertexArray(0); //################################################################################################################### if (toggelBetweenObjects){ @@ -273,7 +330,7 @@ void Scene::update(float dt) // the active buffer is home, that's why the home change it's color now std::random_device rd; std::mt19937 gen(rd()); - std::uniform_real_distribution<float> dist(0.0f, 1.0f); + std::uniform_real_distribution<float> dist(0.0f, 0.90f); float r = dist(gen); float g = dist(gen); @@ -344,6 +401,36 @@ void Scene::update(float dt) -0.5f, 0.5f, r, g, b }; + + float rU = dist(gen) + 0.10; + float gU = dist(gen) + 0.10;; + float bU = dist(gen) + 0.10;; + + float vertices_name_U[] = { + // linke splate + 0.5f, 0.0f,rU, gU, bU, // oben links + 0.55f, 0.0f,rU, gU, bU, // oben rechts + 0.5f, -1.0f,rU, gU, bU, // unten links + 0.55f, -1.0f,rU, gU, bU, // unten rechts + + // rechte splate + 0.95f, 0.0f,rU, gU, bU, // oben links + 1.0f, 0.0f,rU, gU, bU, // oben rechts + 0.95f, -1.0f,rU, gU, bU, // unten links + 1.0f, -1.0f,rU, gU, bU, // unten rechts + + + // untere splate + 0.5f, -0.95f,rU, gU, bU, // oben links + 1.0f, -0.95f,rU, gU, bU, // oben rechts + + }; + glBindBuffer(GL_ARRAY_BUFFER, objectBuffer_Name_U.vboID); + glBufferData(GL_ARRAY_BUFFER, sizeof(vertices_name_U), vertices_name_U, GL_STATIC_DRAW); + + + + toggelBetweenObjects = !toggelBetweenObjects; if(toggelBetweenObjects){ diff --git a/src/Game/Scene.h b/src/Game/Scene.h index 3c991148d946f02daf14fc5f58749455ee5c9377..39183a2e091b0bd51a25c7cefd104d6e9838bfc8 100644 --- a/src/Game/Scene.h +++ b/src/Game/Scene.h @@ -61,6 +61,7 @@ private: ObjectBuffer objectBuffer_House; ObjectBuffer objectBuffer_Name_S; ObjectBuffer objectBuffer_Name_F; + ObjectBuffer objectBuffer_Name_U; bool toggelBetweenObjects = false;