linux-wallpaperengine/wallpaperengine/core/objects/effect.h
Alexis Maiquez e80ce94331 + Support for null textures in material passes
+ Basic parsing for object's effects (missing passes specified in the scene.json)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-08-14 10:42:10 +02:00

39 lines
896 B
C++

#pragma once
#include <nlohmann/json.hpp>
#include <irrlicht/irrlicht.h>
#include "images/material.h"
namespace wp::core::objects
{
using json = nlohmann::json;
class effect
{
public:
effect (
std::string name,
std::string description,
std::string group,
std::string preview
);
static effect* fromJSON (json data);
std::vector<std::string>* getDependencies ();
std::vector<images::material*>* getMaterials ();
protected:
void insertDependency (const std::string& dep);
void insertMaterial (images::material* material);
private:
std::string m_name;
std::string m_description;
std::string m_group;
std::string m_preview;
std::vector<std::string> m_dependencies;
std::vector<images::material*> m_materials;
};
}