From e8fe64615537b959adc1a6b193caf8e18881e03c Mon Sep 17 00:00:00 2001 From: vlad Date: Thu, 6 Apr 2023 16:35:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BB=D0=B0=D0=B1=D1=8B=202,=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BF=D1=83?= =?UTF-8?q?=D0=BD=D0=BA=D1=82=201=20=D0=BF=D0=BE=20=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D0=BE=D0=B4=D0=B8=D1=87=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab2/CMakeLists.txt | 18 ++++++++++++------ lab2/src/main.cpp | 2 +- lab2/src/{ => render}/render.cpp | 14 ++++++++++++-- lab2/src/{ => render}/render.h | 3 +-- {lab2/res => res}/christmas-tree.blend | Bin {lab2/res => res}/christmas-tree.mtl | 0 {lab2/res => res}/christmas-tree.obj | 0 {lab2/res => res}/main-colored.fsh | 0 {lab2/res => res}/main-colored.vsh | 0 {lab2/res => res}/snowman.blend | Bin {lab2/res => res}/snowman.mtl | 0 {lab2/res => res}/snowman.obj | 0 {lab2/res => res}/xyz.blend | Bin {lab2/res => res}/xyz.mtl | 0 {lab2/res => res}/xyz.obj | 0 15 files changed, 26 insertions(+), 11 deletions(-) rename lab2/src/{ => render}/render.cpp (89%) rename lab2/src/{ => render}/render.h (87%) rename {lab2/res => res}/christmas-tree.blend (100%) rename {lab2/res => res}/christmas-tree.mtl (100%) rename {lab2/res => res}/christmas-tree.obj (100%) rename {lab2/res => res}/main-colored.fsh (100%) rename {lab2/res => res}/main-colored.vsh (100%) rename {lab2/res => res}/snowman.blend (100%) rename {lab2/res => res}/snowman.mtl (100%) rename {lab2/res => res}/snowman.obj (100%) rename {lab2/res => res}/xyz.blend (100%) rename {lab2/res => res}/xyz.mtl (100%) rename {lab2/res => res}/xyz.obj (100%) diff --git a/lab2/CMakeLists.txt b/lab2/CMakeLists.txt index 2daded9..993e463 100644 --- a/lab2/CMakeLists.txt +++ b/lab2/CMakeLists.txt @@ -8,9 +8,9 @@ find_package(GLEW REQUIRED) find_package(OpenGL REQUIRED) find_package(glm REQUIRED) -add_executable( - ${PROJECT_NAME} +set(LIBS glfw GLEW::GLEW OpenGL::GL) +set(CORE_SOURCES src/main.cpp src/window/Camera.cpp src/window/Camera.h @@ -22,8 +22,14 @@ add_executable( src/graphics/Mesh.cpp src/graphics/Shader.h src/graphics/Shader.cpp - src/graphics/MeshLoader.cpp src/graphics/MeshLoader.h src/render.cpp src/render.h) + src/graphics/MeshLoader.cpp + src/graphics/MeshLoader.h + src/render/render.h) + +add_executable(${PROJECT_NAME}_main ${CORE_SOURCES} src/render/render.cpp) +target_link_libraries(${PROJECT_NAME}_main ${LIBS}) + +add_executable(${PROJECT_NAME}_1 ${CORE_SOURCES} src/render/render-1.cpp) +target_link_libraries(${PROJECT_NAME}_1 ${LIBS}) + -target_link_libraries(${PROJECT_NAME} glfw) -target_link_libraries(${PROJECT_NAME} GLEW::GLEW) -target_link_libraries(${PROJECT_NAME} OpenGL::GL) diff --git a/lab2/src/main.cpp b/lab2/src/main.cpp index cc157f2..1048fd8 100644 --- a/lab2/src/main.cpp +++ b/lab2/src/main.cpp @@ -18,7 +18,7 @@ #include "window/Events.h" #include "graphics/Mesh.h" #include "graphics/Shader.h" -#include "render.h" +#include "render/render.h" #define SPEED_FACTOR 2.5f diff --git a/lab2/src/render.cpp b/lab2/src/render/render.cpp similarity index 89% rename from lab2/src/render.cpp rename to lab2/src/render/render.cpp index d905f66..82ea53d 100644 --- a/lab2/src/render.cpp +++ b/lab2/src/render/render.cpp @@ -3,14 +3,15 @@ // #include "render.h" -#include "graphics/MeshLoader.h" -#include "graphics/Shader.h" +#include "../graphics/MeshLoader.h" +#include "../graphics/Shader.h" #include static Mesh* mesh_xyz; static Mesh* mesh_snowman; static Mesh* mesh_three; +static Mesh* mesh_table; static Shader* shader; @@ -58,6 +59,8 @@ void renderScene(Camera& cam) { shader->uniformMatrix("model", glm::mat4(1.0f)); mesh_xyz->draw(); + mesh_table->draw(); + drawStaticSnowman(); drawThree(); } @@ -81,6 +84,12 @@ int loadResources() { return -1; } + mesh_table = MeshLoader::loadMesh("res/table"); + if (mesh_table == nullptr) { + std::cerr << "Failed to load 'table' mesh!" << std::endl; + return -1; + } + shader = Shader::loadShader("res/main-colored.vsh", "res/main-colored.fsh"); if (shader == nullptr) { return -1; @@ -90,6 +99,7 @@ int loadResources() { } void unloadResources() { + delete mesh_table; delete mesh_xyz; delete mesh_snowman; delete mesh_three; diff --git a/lab2/src/render.h b/lab2/src/render/render.h similarity index 87% rename from lab2/src/render.h rename to lab2/src/render/render.h index b071947..5d10750 100644 --- a/lab2/src/render.h +++ b/lab2/src/render/render.h @@ -5,11 +5,10 @@ #ifndef GRAPHICS_LABS_RENDER_H #define GRAPHICS_LABS_RENDER_H -#include "window/Camera.h" +#include "../window/Camera.h" int loadResources(); void unloadResources(); - void renderScene(Camera& cam); #endif //GRAPHICS_LABS_RENDER_H diff --git a/lab2/res/christmas-tree.blend b/res/christmas-tree.blend similarity index 100% rename from lab2/res/christmas-tree.blend rename to res/christmas-tree.blend diff --git a/lab2/res/christmas-tree.mtl b/res/christmas-tree.mtl similarity index 100% rename from lab2/res/christmas-tree.mtl rename to res/christmas-tree.mtl diff --git a/lab2/res/christmas-tree.obj b/res/christmas-tree.obj similarity index 100% rename from lab2/res/christmas-tree.obj rename to res/christmas-tree.obj diff --git a/lab2/res/main-colored.fsh b/res/main-colored.fsh similarity index 100% rename from lab2/res/main-colored.fsh rename to res/main-colored.fsh diff --git a/lab2/res/main-colored.vsh b/res/main-colored.vsh similarity index 100% rename from lab2/res/main-colored.vsh rename to res/main-colored.vsh diff --git a/lab2/res/snowman.blend b/res/snowman.blend similarity index 100% rename from lab2/res/snowman.blend rename to res/snowman.blend diff --git a/lab2/res/snowman.mtl b/res/snowman.mtl similarity index 100% rename from lab2/res/snowman.mtl rename to res/snowman.mtl diff --git a/lab2/res/snowman.obj b/res/snowman.obj similarity index 100% rename from lab2/res/snowman.obj rename to res/snowman.obj diff --git a/lab2/res/xyz.blend b/res/xyz.blend similarity index 100% rename from lab2/res/xyz.blend rename to res/xyz.blend diff --git a/lab2/res/xyz.mtl b/res/xyz.mtl similarity index 100% rename from lab2/res/xyz.mtl rename to res/xyz.mtl diff --git a/lab2/res/xyz.obj b/res/xyz.obj similarity index 100% rename from lab2/res/xyz.obj rename to res/xyz.obj