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