engine/ext/behaviors/baking/behavior.h

52 lines
1.2 KiB
C++

#pragma once
#include <uf/config.h>
#include <uf/ext/ext.h>
#include <uf/engine/entity/entity.h>
#include <uf/engine/scene/scene.h>
#include <uf/utils/math/vector.h>
namespace ext {
namespace BakingBehavior {
UF_BEHAVIOR_DEFINE_TYPE;
EXT_BEHAVIOR_DEFINE_TRAITS;
EXT_BEHAVIOR_DEFINE_FUNCTIONS;
UF_BEHAVIOR_DEFINE_METADATA {
pod::Vector2ui size = {};
struct {
uf::stl::string model = "";
struct{
uf::stl::string model = "";
uf::stl::string map = "./lightmap.png";
} output;
uf::stl::string renderMode = "Baker";
} names;
struct {
size_t instance = 0;
size_t material = 0;
size_t texture = 0;
size_t light = 0;
} buffers;
struct {
size_t textures2D = 1024;
size_t texturesCube = 512;
size_t textures3D = 1;
size_t lights = 1024;
size_t shadows = 1024;
} max;
struct {
size_t max = 0;
size_t update = 0;
} previous;
struct {
uf::stl::string mode = "key";
uf::stl::string value = "";
} trigger;
struct {
bool renderMode = false;
bool map = false;
} initialized;
bool shadows = false;
};
}
}