[ADD] added base for loading scene

This commit is contained in:
Jasper
2021-06-11 11:43:46 +02:00
parent 504b97b320
commit bce2ccf889
6 changed files with 148 additions and 90 deletions

View File

@@ -0,0 +1,47 @@
#include "loading_Scene.h"
#include "../renderEngine/Renderer.h"
#include "../renderEngine/Loader.h"
#include "../gui/gui_element.h"
namespace scene
{
Loading_Scene::Loading_Scene()
{
gui_shader = new shaders::GuiShader();
gui_shader->Init();
}
Loading_Scene::~Loading_Scene()
{
delete gui_shader;
}
Scenes Loading_Scene::start(GLFWwindow* window)
{
render();
}
void Loading_Scene::render()
{
render_engine::renderer::Prepare();
gui::GuiTexture loading_image = { render_engine::loader::LoadTexture("res/menu_item_start1.png"),
glm::vec2(0,0),glm::vec2(1,1) };
std::vector<gui::GuiTexture*> image_list;
image_list.push_back(&loading_image);
render_engine::renderer::Render(image_list, *gui_shader);
}
void Loading_Scene::update(GLFWwindow* window)
{
}
void Loading_Scene::onKey(GLFWwindow* window, int key, int scancode, int action, int mods)
{
}
}

View File

@@ -0,0 +1,63 @@
#pragma once
#pragma once
#include "scene.h"
#include "../gui/gui_element.h"
#include "../shaders/gui_shader.h"
namespace scene
{
extern GLFWwindow* window;
class Loading_Scene : public scene::Scene
{
private:
//return_value is an enum that is necessary for the scene switching. Whenever this changes, the scene will change to a different scene.
scene::Scenes return_value = scene::Scenes::LOADING;
shaders::GuiShader* gui_shader;
public:
/**
* @brief Constructor of the class Startup_Scene
*
*/
Loading_Scene();
~Loading_Scene();
/**
* @brief
*
* @param window
* @return
*/
Scenes start(GLFWwindow* window) override;
/**
* @brief
*
*/
void render() override;
/**
* @brief This method updates all the components on the window
*
* @param window Window it updates
*/
void update(GLFWwindow* window) override;
/**
* @brief Listener for key events
*
* @param window Window it listens to for key events
* @param key Key of event that is activated
* @param scancode Code of Key
* @param action
* @param mods
*/
void onKey(GLFWwindow* window, int key, int scancode, int action, int mods) override;
};
}

View File

@@ -11,6 +11,7 @@ namespace scene {
*/ */
enum class Scenes enum class Scenes
{ {
LOADING,
STARTUP, STARTUP,
INGAME, INGAME,
GAMEOVER, GAMEOVER,

View File

@@ -211,6 +211,7 @@ namespace scene
{ {
if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS) if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS)
{ {
return_value = scene::Scenes::INGAME; return_value = scene::Scenes::INGAME;
cv::destroyWindow("camera"); cv::destroyWindow("camera");
} }

View File

@@ -40,6 +40,7 @@
<ClCompile Include="src\renderEngine\loader.cpp" /> <ClCompile Include="src\renderEngine\loader.cpp" />
<ClCompile Include="src\renderEngine\obj_loader.cpp" /> <ClCompile Include="src\renderEngine\obj_loader.cpp" />
<ClCompile Include="src\renderEngine\renderer.cpp" /> <ClCompile Include="src\renderEngine\renderer.cpp" />
<ClCompile Include="src\scenes\loading_Scene.cpp" />
<ClCompile Include="src\scenes\scene.cpp" /> <ClCompile Include="src\scenes\scene.cpp" />
<ClCompile Include="src\shaders\gui_shader.cpp" /> <ClCompile Include="src\shaders\gui_shader.cpp" />
<ClCompile Include="src\shaders\shader_program.cpp" /> <ClCompile Include="src\shaders\shader_program.cpp" />
@@ -56,6 +57,7 @@
<ClInclude Include="src\computervision\calibration\StaticSkinTreshold.h" /> <ClInclude Include="src\computervision\calibration\StaticSkinTreshold.h" />
<ClInclude Include="src\computervision\HandDetectRegion.h" /> <ClInclude Include="src\computervision\HandDetectRegion.h" />
<ClInclude Include="src\scenes\in_Game_Scene.h" /> <ClInclude Include="src\scenes\in_Game_Scene.h" />
<ClInclude Include="src\scenes\loading_Scene.h" />
<ClInclude Include="src\scenes\scene.h" /> <ClInclude Include="src\scenes\scene.h" />
<ClInclude Include="src\computervision\async\async_arm_detection.h" /> <ClInclude Include="src\computervision\async\async_arm_detection.h" />
<ClInclude Include="src\computervision\async\StaticCameraInstance.h" /> <ClInclude Include="src\computervision\async\StaticCameraInstance.h" />

View File

@@ -24,6 +24,11 @@
<ClCompile Include="src\scenes\startup_Scene.cpp" /> <ClCompile Include="src\scenes\startup_Scene.cpp" />
<ClCompile Include="src\computervision\calibration\HandCalibrator.cpp" /> <ClCompile Include="src\computervision\calibration\HandCalibrator.cpp" />
<ClCompile Include="src\computervision\HandDetectRegion.cpp" /> <ClCompile Include="src\computervision\HandDetectRegion.cpp" />
<ClCompile Include="src\entities\main_character.cpp" />
<ClCompile Include="src\entities\house_generator.cpp" />
<ClCompile Include="src\computervision\MenuTest.cpp" />
<ClCompile Include="src\scenes\scene.cpp" />
<ClCompile Include="src\scenes\loading_Scene.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="src\entities\Camera.cpp"> <ClCompile Include="src\entities\Camera.cpp">
@@ -83,98 +88,8 @@
<ClCompile Include="src\computervision\BackgroundRemover.cpp"> <ClCompile Include="src\computervision\BackgroundRemover.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\computervision\MenuTest.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\scenes\scene.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\entities\house_generator.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="src\entities\Camera.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\entities\Entity.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\models\Model.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\renderEngine\Loader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\renderEngine\Renderer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\stb_image.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\shaders\shader_program.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\renderEngine\obj_loader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\toolbox\toolbox.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\entities\light.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\shaders\entity_shader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\shaders\gui_shader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\gui\gui_element.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\gui\gui_interactable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\scenes\scene.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\scenes\in_Game_Scene.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\scenes\startup_Scene.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\entities\collision_entity.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\collision\collision.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\collision\collision_handler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\computervision\ObjectDetection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\computervision\SkinDetector.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\computervision\FingerCount.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\computervision\BackgroundRemover.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\toolbox\Timer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\computervision\MenuTest.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\entities\house_generator.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\collision\collision.h" /> <ClInclude Include="src\collision\collision.h" />
<ClInclude Include="src\collision\collision_handler.h" /> <ClInclude Include="src\collision\collision_handler.h" />
<ClInclude Include="src\scenes\in_Game_Scene.h" /> <ClInclude Include="src\scenes\in_Game_Scene.h" />
@@ -206,6 +121,35 @@
<ClInclude Include="src\computervision\calibration\HandCalibrator.h" /> <ClInclude Include="src\computervision\calibration\HandCalibrator.h" />
<ClInclude Include="src\computervision\HandDetectRegion.h" /> <ClInclude Include="src\computervision\HandDetectRegion.h" />
<ClInclude Include="src\computervision\calibration\StaticSkinTreshold.h" /> <ClInclude Include="src\computervision\calibration\StaticSkinTreshold.h" />
<ClInclude Include="src\collision\collision.h" />
<ClInclude Include="src\collision\collision_handler.h" />
<ClInclude Include="src\entities\main_character.h" />
<ClInclude Include="src\entities\house_generator.h" />
<ClInclude Include="src\scenes\in_Game_Scene.h" />
<ClInclude Include="src\scenes\scene.h" />
<ClInclude Include="src\computervision\FingerCount.h" />
<ClInclude Include="src\computervision\BackgroundRemover.h" />
<ClInclude Include="src\computervision\MenuTest.h" />
<ClInclude Include="src\computervision\SkinDetector.h" />
<ClInclude Include="src\computervision\ObjectDetection.h" />
<ClInclude Include="src\entities\camera.h" />
<ClInclude Include="src\entities\collision_entity.h" />
<ClInclude Include="src\entities\entity.h" />
<ClInclude Include="src\entities\light.h" />
<ClInclude Include="src\gui\gui_element.h" />
<ClInclude Include="src\gui\gui_interactable.h" />
<ClInclude Include="src\models\model.h" />
<ClInclude Include="src\renderEngine\loader.h" />
<ClInclude Include="src\renderEngine\obj_loader.h" />
<ClInclude Include="src\renderEngine\renderer.h" />
<ClInclude Include="src\shaders\gui_shader.h" />
<ClInclude Include="src\shaders\shader_program.h" />
<ClInclude Include="src\shaders\entity_shader.h" />
<ClInclude Include="src\stb_image.h" />
<ClInclude Include="src\toolbox\Timer.h" />
<ClInclude Include="src\toolbox\toolbox.h" />
<ClInclude Include="src\scenes\startup_Scene.h" />
<ClInclude Include="src\scenes\loading_Scene.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Xml Include="res\haarcascade_frontalface_alt.xml" /> <Xml Include="res\haarcascade_frontalface_alt.xml" />