From ac7f096101ff1264759f5c37ca4d07e78f66fa6d Mon Sep 17 00:00:00 2001 From: Mateusz Walas Date: Thu, 30 Dec 2021 13:05:52 +0100 Subject: [PATCH] Add moving fish with error --- grafika_projekt/Debug/Render_Utils.obj | Bin 470215 -> 468499 bytes grafika_projekt/src/Render_Utils.h | 7 ++ grafika_projekt/src/main.cpp | 90 +++++++++++++++++++++++-- 3 files changed, 93 insertions(+), 4 deletions(-) diff --git a/grafika_projekt/Debug/Render_Utils.obj b/grafika_projekt/Debug/Render_Utils.obj index 557debcdb9a0440d23092acdff1e34280ae3c400..b78588971d583cf3a9e3ca8ad6b7ac512e15af89 100644 GIT binary patch delta 54572 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 mWP!6DRXZrSOHha4pss?#AU{orxX$ixKPZrHR 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 c3 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%0D9IG8F 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 p2I>ee3%oU{s= renderContexts; + glm::mat4 matrix; + int parent; + }; // vertexArray - jednowymiarowa tablica zawierajaca wartosci opisujace pozycje kolejnych wierzcholkow w jednym ciagu (x1, y1, z1, w1, x2, y2, z2, w2, ...) // numVertices - liczba wierzcholkow do narysowania // elementSize - liczba wartosci opisujacych pojedynczy wierzcholek (np. 3 gdy wierzcholek opisany jest trojka (x, y, z)) diff --git a/grafika_projekt/src/main.cpp b/grafika_projekt/src/main.cpp index 7450570..df4d35a 100644 --- a/grafika_projekt/src/main.cpp +++ b/grafika_projekt/src/main.cpp @@ -34,6 +34,29 @@ glm::mat4 cameraMatrix, perspectiveMatrix; Core::Shader_Loader shaderLoader; Core::RenderContext fishContext; +std::vector keyPoints({ +glm::vec3(5.0f, 5.0f, 5.0f), +glm::vec3(5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, 5.0f), +glm::vec3(5.0f, 5.0f, 5.0f), +glm::vec3(5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, 5.0f), +glm::vec3(5.0f, 5.0f, 5.0f), +glm::vec3(5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, 5.0f), +glm::vec3(5.0f, 5.0f, 5.0f), +glm::vec3(5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, -5.0f), +glm::vec3(-5.0f, 5.0f, 5.0f), + }); + +std::vector keyRotation; + +std::vector fish; + std::string skyboxTextures[6] = { "models/skybox/right.jpg", "models/skybox/left.jpg", @@ -161,6 +184,44 @@ glm::mat4 createCameraMatrix() return Core::createViewMatrixQuat(cameraPos, rotation); } +glm::mat4 animationMatrix(float time) { + float speed = 2.; + time = time * speed; + std::vector distances; + float timeStep = 0; + for (int i = 0; i < keyPoints.size() - 1; i++) { + timeStep += (keyPoints[i] - keyPoints[i + 1]).length(); + distances.push_back((keyPoints[i] - keyPoints[i + 1]).length()); + } + time = fmod(time, timeStep); + + //index of first keyPoint + int index = 0; + + while (distances[index] <= time) { + time = time - distances[index]; + index += 1; + } + + float t = time / distances[index]; + + int size = keyPoints.size() - 1; + int rotationSize = keyRotation.size() - 1; + + glm::vec3 pos = glm::catmullRom(keyPoints[index - 1], keyPoints[index], keyPoints[index + 1], keyPoints[index + 2], t); + + glm::quat divideByFour = glm::quat(0.25f, 0.25f, 0.25f, 0.25f); + auto a1 = keyRotation[index] * glm::exp(-(glm::log(glm::inverse(keyRotation[index]) * keyRotation[index - 1]) + glm::log(glm::inverse(keyRotation[index]) * keyRotation[index + 1])) * divideByFour); + + auto a2 = keyRotation[index + 1] * glm::exp(-(glm::log(glm::inverse(keyRotation[index + 1]) * keyRotation[index]) + glm::log(glm::inverse(keyRotation[index + 1]) * keyRotation[index + 2])) * divideByFour); + + auto animationRotation = glm::squad(keyRotation[index], keyRotation[index + 1], a1, a2, t); + + glm::mat4 result = glm::translate(pos) * glm::mat4_cast(animationRotation); + + return result; +} + void drawObjectColor(Core::RenderContext context, glm::mat4 modelMatrix, glm::vec3 color) { GLuint program = programColor; @@ -203,7 +264,7 @@ void renderScene() perspectiveMatrix = Core::createPerspectiveMatrix(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - + float time = glutGet(GLUT_ELAPSED_TIME) / 1000.f; glUseProgram(skyboxProgram); glUniform1i(glGetUniformLocation(skyboxProgram, "skybox"), 0); glm::mat4 transformation = perspectiveMatrix * cameraMatrix; @@ -214,9 +275,9 @@ void renderScene() glDrawArrays(GL_TRIANGLES, 0, 36); glBindVertexArray(0); - glm::mat4 fishInitialTransformation = glm::translate(glm::vec3(-1, 0, -0.5)) * glm::rotate(glm::radians(180.0f), glm::vec3(0, 1, 0)) * glm::scale(glm::vec3(0.25f)); - glm::mat4 fishModelMatrix = glm::translate(cameraPos + cameraDir) * glm::mat4_cast(glm::inverse(rotation)) * fishInitialTransformation; - //drawObjectColor(fishContext, fishModelMatrix, glm::vec3(0.6f)); + glm::mat4 fishInitialTransformation = glm::translate(glm::vec3(0, -0.5, -0.4)) * glm::rotate(glm::radians(180.0f), glm::vec3(0, 1, 0)) * glm::scale(glm::vec3(0.25f)); + glm::mat4 fishModelMatrix = glm::translate(cameraPos + cameraDir) * glm::mat4_cast(glm::inverse(rotation)) * animationMatrix(time); + drawObjectTexture(fishContext, fishModelMatrix, textureFish); glutSwapBuffers(); } @@ -284,6 +345,26 @@ void initSkybox() glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); } +void initKeyRotation() { + glm::vec3 oldDirection = glm::vec3(0, 0, 1); + glm::quat oldRotationCamera = glm::quat(1, 0, 0, 0); + glm::vec3 direction; + glm::quat rotation; + for (int i = 0; i < keyPoints.size() - 1; i++) { + //3.1 + direction = glm::normalize(keyPoints[i + 1] - keyPoints[i]); + //3.2 + rotation = glm::normalize(glm::rotationCamera(oldDirection, direction) * oldRotationCamera); + //3.3 + keyRotation.push_back(rotation); + //3.4 + oldDirection = direction; + oldRotationCamera = rotation; + } + keyRotation.push_back(glm::quat(1, 0, 0, 0)); + keyRotation.push_back(glm::quat(1, -1, 1, 1)); +} + void init() { glEnable(GL_DEPTH_TEST); @@ -293,6 +374,7 @@ void init() cubemapTexture = loadCubemap(); loadModelToContext("models/submarine.obj", fishContext); textureFish = Core::LoadTexture("textures/submarine.png"); + initKeyRotation(); initSkybox(); }