//// struct ////
struct EdWorldLightingInfo
{
EdWorldLightingInfo()
{
ambientColor = V3(0,0,0.1f);
dirLightDir = V2(0);
dirLightColor = V3(0);
dirLightDvg = 10;
dirLightNumSamples = 15;
lightmapClearColor = V3(0);
// radNumBounces = 2;
lightmapDetail = 2;
lightmapBlurSize = 1;
aoDist = 2;
aoMult = 1;
aoFalloff = 2;
aoEffect = 0;
// aoDivergence = 0;
aoColor = V3(0);
aoNumSamples = 15;
sampleDensity = 1.0f;
}
Vec3 ambientColor;
Vec2 dirLightDir;
Vec3 dirLightColor;
float dirLightDvg;
int32_t dirLightNumSamples;
Vec3 lightmapClearColor;
// int32_t radNumBounces;
float lightmapDetail;
float lightmapBlurSize;
float aoDist;
float aoMult;
float aoFalloff;
float aoEffect;
// float aoDivergence;
Vec3 aoColor;
int32_t aoNumSamples;
float sampleDensity;
String skyboxTexture;
String clutTexture;
};
//// metadata script ////
function MD_VEC2( x, y )
{
return fmt_pack( "2f", x, y ?? x );
}
function MD_VEC3( x, y, z )
{
return fmt_pack( "3f", x, y ?? x, z ?? x );
}
STRUCT("EdWorldLightingInfo",
{
metadata = { label = "Lighting info" },
props =
[
{ name = "ambientColor", type = "Vec3", metadata = { label = "Ambient color", min = MD_VEC3(0,0,0), max = MD_VEC3(1,1,100) } },
{ name = "dirLightDir", type = "Vec2", metadata = { label = "Dir.light direction (dX,dY)", min = MD_VEC2(-8192), max = MD_VEC2(8192) } },
{ name = "dirLightColor", type = "Vec3", metadata = { label = "Dir.light color (HSV)", min = MD_VEC3(0,0,0), max = MD_VEC3(1,1,100) } },
{ name = "dirLightDvg", type = "float", metadata = { label = "Dir.light divergence", min = 0, max = 180 } },
{ name = "dirLightNumSamples", type = "int32_t", metadata = { label = "Dir.light sample count", min = 0, max = 256 } },
{ name = "lightmapClearColor", type = "Vec3", metadata = { label = "Lightmap clear color (HSV)", min = MD_VEC3(0,0,0), max = MD_VEC3(1,1,100) } },
// { name = "radNumBounces", type = "int32_t", metadata = { label = "Radiosity bounce count", min = 0, max = 256 } },
{ name = "lightmapDetail", type = "float", metadata = { label = "Lightmap detail", min = 0.01, max = 16 } },
{ name = "lightmapBlurSize", type = "float", metadata = { label = "Lightmap blur size", min = 0, max = 10 } },
{ name = "aoDist", type = "float", metadata = { label = "AO distance", min = 0, max = 100 } },
{ name = "aoMult", type = "float", metadata = { label = "AO multiplier", min = 0, max = 2 } },
{ name = "aoFalloff", type = "float", metadata = { label = "AO falloff", min = 0.01, max = 100.0 } },
{ name = "aoEffect", type = "float", metadata = { label = "AO effect", min = -1, max = 1 } },
// { name = "aoDivergence", type = "float", metadata = { label = "AO divergence", min = 0, max = 1 } },
{ name = "aoColor", type = "Vec3", metadata = { label = "AO color (HSV)", min = MD_VEC3(0,0,0), max = MD_VEC3(1,1,100) } },
{ name = "aoNumSamples", type = "int32_t", metadata = { label = "AO sample count", min = 0, max = 256 } },
{ name = "sampleDensity", type = "float", metadata = { label = "Sample density", min = 0.01, max = 100.0 } },
{ name = "skyboxTexture", type = "String", metadata = { label = "Skybox texture", edit = "texture" } },
{ name = "clutTexture", type = "String", metadata = { label = "Default post-process cLUT", edit = "texture" } },
],
});
Comments