linux-wallpaperengine/wallpaperengine/object.h
Alexis Maiquez 2be1bffb6f - Removed all the contents of the res folder as those weren't needed anymore
+ Added basic, single-pass-effects parsing
- Removed duplicated code for effect parsing
+ Added support for shader loading and applying to materials (might not work with every shader, still needs some more investigation)
+ Added support for TEXB0001 containers to be able to load images from the wallpaperengine original files

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-04-05 08:34:53 +02:00

54 lines
1.1 KiB
C++

#ifndef WALLENGINE_OBJECT_H
#define WALLENGINE_OBJECT_H
#include <iostream>
#include <irrlicht/irrlicht.h>
#include <nlohmann/json.hpp>
#include <wallpaperengine/video/node.h>
#include <wallpaperengine/effect.h>
#include <wallpaperengine/scene.h>
namespace wp
{
using json = nlohmann::json;
class object3d;
class scene;
class object : public wp::video::node
{
public:
object (json json_data, wp::scene* scene);
~object ();
irr::core::vector2df& getSize ();
irr::core::vector3df& getScale ();
irr::core::vector3df& getOrigin ();
irr::core::vector3df& getAngles ();
std::vector<effect*>& getEffects ();
wp::scene* getScene ();
void render ();
private:
int m_id;
wp::scene* m_scene;
std::string m_name;
irr::core::vector2df m_size;
irr::core::vector3df m_scale;
irr::core::vector3df m_origin;
irr::core::vector3df m_angles;
wp::object3d* m_object3d;
std::vector<effect*> m_effects;
};
};
#endif //WALLENGINE_OBJECT_H