Loading CMakeLists.txt +1 −1 Changes for CMakeLists.txt: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,6 +17,6 @@ include_directories("glitter/ext/tinyobjloader" "glitter/ext/glm" ${OPENGL_INCLUDE_DIR}) add_executable(GLE-test src/main.cpp src/RenderObject.cpp src/RenderObjectPart.cpp src/GlApplication.cpp add_executable(GLE-test src/main.cpp src/RenderObject.cpp src/GuiElement.cpp src/RenderObjectPart.cpp src/GlApplication.cpp src/model/Spaceship.cpp src/model/Entity.cpp src/model/Missile.cpp src/model/Box.cpp) target_link_libraries(GLE-test utils ${GLFW3_LIBRARIES} ${GLEW_LIBRARIES}) include/GlApplication.hpp +7 −0 Changes for include/GlApplication.hpp: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ #include <iostream> #include <memory> #include "GuiElement.hpp" #include "RenderObject.hpp" #include "model/Missile.hpp" #include "model/Player.hpp" Loading Loading @@ -46,6 +47,8 @@ class GlApplication : public Application { void createEntities(); void renderFrame() override; void renderGUI(); void update() override; static void resize(GLFWwindow * window, int framebufferWidth, int framebufferHeight); static void keyCallback(GLFWwindow * window, int key, int scancode, int action, int mods); Loading @@ -59,6 +62,7 @@ class GlApplication : public Application { std::map<ModelKeys, std::vector<std::shared_ptr<Entity>>> m_entities; ///< objects to render std::map<ModelKeys, std::unique_ptr<RenderObject>> m_models; ///< loaded models std::vector<std::shared_ptr<GuiElement>> m_guiElement; ///< gui elements glm::mat4 m_proj; ///< Projection matrix glm::mat4 m_view; ///< worldView matrix Loading @@ -72,4 +76,7 @@ class GlApplication : public Application { std::shared_ptr<Spaceship> m_spaceshipPlayer1; ///< Player 1 spaceship std::shared_ptr<Spaceship> m_spaceshipPlayer2; ///< Player 2 spaceship Program guiProgram; }; include/GuiElement.hpp 0 → 100644 +34 −0 Changes for include/GuiElement.hpp: 34 added lines, 0 removed lines. Original line number Diff line number Diff line #pragma once #include <glm/ext.hpp> #include <glm/gtc/matrix_transform.hpp> #include <stb_image.h> #include "glApi.hpp" #include "utils.hpp" class GuiElement { private: glm::vec2 position; glm::vec2 dimension; Sampler textureSampler; Texture texture; VAO vao; glm::mat4 modelMatrix; void computeModelMatrix(); public: GuiElement(Program &program); void setPosition(glm::vec2 position); void setDimension(glm::vec2 dimension); void draw(); void updateUniforms(Program &guiProgram); }; No newline at end of file meshes/healthbar.png 0 → 100644 +537 KiB Loading image diff... shaders/gui.f.glsl 0 → 100644 +12 −0 Changes for shaders/gui.f.glsl: 12 added lines, 0 removed lines. Original line number Diff line number Diff line #version 410 in vec2 uv; uniform sampler2D textureMap; out vec4 fragColor; void main() { fragColor = vec4(texture(textureMap, uv).rgb, 1); } Loading
CMakeLists.txt +1 −1 Changes for CMakeLists.txt: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,6 +17,6 @@ include_directories("glitter/ext/tinyobjloader" "glitter/ext/glm" ${OPENGL_INCLUDE_DIR}) add_executable(GLE-test src/main.cpp src/RenderObject.cpp src/RenderObjectPart.cpp src/GlApplication.cpp add_executable(GLE-test src/main.cpp src/RenderObject.cpp src/GuiElement.cpp src/RenderObjectPart.cpp src/GlApplication.cpp src/model/Spaceship.cpp src/model/Entity.cpp src/model/Missile.cpp src/model/Box.cpp) target_link_libraries(GLE-test utils ${GLFW3_LIBRARIES} ${GLEW_LIBRARIES})
include/GlApplication.hpp +7 −0 Changes for include/GlApplication.hpp: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ #include <iostream> #include <memory> #include "GuiElement.hpp" #include "RenderObject.hpp" #include "model/Missile.hpp" #include "model/Player.hpp" Loading Loading @@ -46,6 +47,8 @@ class GlApplication : public Application { void createEntities(); void renderFrame() override; void renderGUI(); void update() override; static void resize(GLFWwindow * window, int framebufferWidth, int framebufferHeight); static void keyCallback(GLFWwindow * window, int key, int scancode, int action, int mods); Loading @@ -59,6 +62,7 @@ class GlApplication : public Application { std::map<ModelKeys, std::vector<std::shared_ptr<Entity>>> m_entities; ///< objects to render std::map<ModelKeys, std::unique_ptr<RenderObject>> m_models; ///< loaded models std::vector<std::shared_ptr<GuiElement>> m_guiElement; ///< gui elements glm::mat4 m_proj; ///< Projection matrix glm::mat4 m_view; ///< worldView matrix Loading @@ -72,4 +76,7 @@ class GlApplication : public Application { std::shared_ptr<Spaceship> m_spaceshipPlayer1; ///< Player 1 spaceship std::shared_ptr<Spaceship> m_spaceshipPlayer2; ///< Player 2 spaceship Program guiProgram; };
include/GuiElement.hpp 0 → 100644 +34 −0 Changes for include/GuiElement.hpp: 34 added lines, 0 removed lines. Original line number Diff line number Diff line #pragma once #include <glm/ext.hpp> #include <glm/gtc/matrix_transform.hpp> #include <stb_image.h> #include "glApi.hpp" #include "utils.hpp" class GuiElement { private: glm::vec2 position; glm::vec2 dimension; Sampler textureSampler; Texture texture; VAO vao; glm::mat4 modelMatrix; void computeModelMatrix(); public: GuiElement(Program &program); void setPosition(glm::vec2 position); void setDimension(glm::vec2 dimension); void draw(); void updateUniforms(Program &guiProgram); }; No newline at end of file
shaders/gui.f.glsl 0 → 100644 +12 −0 Changes for shaders/gui.f.glsl: 12 added lines, 0 removed lines. Original line number Diff line number Diff line #version 410 in vec2 uv; uniform sampler2D textureMap; out vec4 fragColor; void main() { fragColor = vec4(texture(textureMap, uv).rgb, 1); }