Commit 0233bfa3 authored by Justine Martin's avatar Justine Martin 💖
Browse files

Merge branch 'features/gui'

parents ad9f1044 d894ea02
Loading
Loading
Loading
Loading
+1 −1
Changes for CMakeLists.txt: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -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)
target_link_libraries(GLE-test utils ${GLFW3_LIBRARIES} ${GLEW_LIBRARIES})
+7 −0
Changes for include/GlApplication.hpp: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#include <iostream>
#include <memory>

#include "GuiElement.hpp"
#include "RenderObject.hpp"
#include "model/Missile.hpp"
#include "model/Player.hpp"
@@ -44,6 +45,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);
@@ -55,6 +58,7 @@ class GlApplication : public Application {
    private:
        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
@@ -68,4 +72,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