Browse Source

Project: add dedicated reload_shaders method

master
gradient 8 years ago
parent
commit
dd0838b302
3 changed files with 8 additions and 3 deletions
  1. +1
    -1
      src/gui.cpp
  2. +5
    -1
      src/project.cpp
  3. +2
    -1
      src/project.h

+ 1
- 1
src/gui.cpp View File

@ -90,7 +90,7 @@ void Gui::render_mmb_debug() {
if (state->current_project != nullptr) {
if (state->current_project->scene_loaded) {
std::cout << "=== reloading shaders ===\n";
state->current_project->shader_bundle->recompile().link();
state->current_project->reload_shaders();
}
}
}


+ 5
- 1
src/project.cpp View File

@ -46,4 +46,8 @@ std::unique_ptr<Project> Project::fromToml(std::shared_ptr<cpptoml::table> manif
void Project::load_scene(std::shared_ptr<Scene> scene) {
this->current_scene = scene;
this->scene_loaded = true;
}
}
void Project::reload_shaders() {
this->shader_bundle->recompile().link();
}

+ 2
- 1
src/project.h View File

@ -28,6 +28,7 @@ public:
static std::unique_ptr<Project> fromToml(std::shared_ptr<cpptoml::table> manifest, filesystem::path basepath);
void load_scene(std::shared_ptr<Scene> scene);
void reload_shaders();
std::vector<std::shared_ptr<Scene>> scenes;
@ -36,4 +37,4 @@ public:
std::string name;
std::shared_ptr<ShaderBundle> shader_bundle;
};
};

Loading…
Cancel
Save