23 #include "COLLADASWColor.h"
24 #include "COLLADASWLight.h"
31 template<
class Functor>
45 : COLLADASW::LibraryLights(sw), export_settings(export_settings)
62 std::string la_name(
id_name(la));
64 float d, constatt, linatt, quadatt;
76 quadatt = 1.0f / (d * d);
81 COLLADASW::DirectionalLight cla(mSW, la_id, la_name);
82 cla.setColor(
col,
false,
"color");
83 cla.setConstantAttenuation(constatt);
84 exportBlenderProfile(cla, la);
90 COLLADASW::SpotLight cla(mSW, la_id, la_name);
91 cla.setColor(
col,
false,
"color");
93 cla.setFallOffExponent(la->
spotblend,
false,
"fall_off_exponent");
94 cla.setConstantAttenuation(constatt);
95 cla.setLinearAttenuation(linatt);
96 cla.setQuadraticAttenuation(quadatt);
97 exportBlenderProfile(cla, la);
102 COLLADASW::PointLight cla(mSW, la_id, la_name);
103 cla.setColor(
col,
false,
"color");
104 cla.setConstantAttenuation(constatt);
105 cla.setLinearAttenuation(linatt);
106 cla.setQuadraticAttenuation(quadatt);
107 exportBlenderProfile(cla, la);
113 COLLADASW::PointLight cla(mSW, la_id, la_name);
114 cla.setColor(
col,
false,
"color");
115 cla.setConstantAttenuation(constatt);
116 cla.setLinearAttenuation(linatt);
117 cla.setQuadraticAttenuation(quadatt);
118 exportBlenderProfile(cla, la);
125 cla.addExtraTechniqueParameter(
"blender",
"type", la->
type);
126 cla.addExtraTechniqueParameter(
"blender",
"flag", la->
flag);
127 cla.addExtraTechniqueParameter(
"blender",
"mode", la->
mode);
128 cla.addExtraTechniqueParameter(
"blender",
"gamma", la->
k,
"blender_gamma");
129 cla.addExtraTechniqueParameter(
"blender",
"red", la->
r);
130 cla.addExtraTechniqueParameter(
"blender",
"green", la->
g);
131 cla.addExtraTechniqueParameter(
"blender",
"blue", la->
b);
132 cla.addExtraTechniqueParameter(
"blender",
"shadow_r", la->
shdwr,
"blender_shadow_r");
133 cla.addExtraTechniqueParameter(
"blender",
"shadow_g", la->
shdwg,
"blender_shadow_g");
134 cla.addExtraTechniqueParameter(
"blender",
"shadow_b", la->
shdwb,
"blender_shadow_b");
135 cla.addExtraTechniqueParameter(
"blender",
"energy", la->
energy,
"blender_energy");
136 cla.addExtraTechniqueParameter(
"blender",
"dist", la->
dist,
"blender_dist");
137 cla.addExtraTechniqueParameter(
"blender",
"spotsize",
RAD2DEGF(la->
spotsize));
138 cla.addExtraTechniqueParameter(
"blender",
"spotblend", la->
spotblend);
139 cla.addExtraTechniqueParameter(
"blender",
"att1", la->
att1);
140 cla.addExtraTechniqueParameter(
"blender",
"att2", la->
att2);
142 cla.addExtraTechniqueParameter(
"blender",
"falloff_type", la->
falloff_type);
143 cla.addExtraTechniqueParameter(
"blender",
"clipsta", la->
clipsta);
144 cla.addExtraTechniqueParameter(
"blender",
"clipend", la->
clipend);
145 cla.addExtraTechniqueParameter(
"blender",
"bias", la->
bias);
146 cla.addExtraTechniqueParameter(
"blender",
"soft", la->
soft);
147 cla.addExtraTechniqueParameter(
"blender",
"bufsize", la->
bufsize);
148 cla.addExtraTechniqueParameter(
"blender",
"samp", la->
samp);
149 cla.addExtraTechniqueParameter(
"blender",
"buffers", la->
buffers);
150 cla.addExtraTechniqueParameter(
"blender",
"area_shape", la->
area_shape);
151 cla.addExtraTechniqueParameter(
"blender",
"area_size", la->
area_size);
152 cla.addExtraTechniqueParameter(
"blender",
"area_sizey", la->
area_sizey);
153 cla.addExtraTechniqueParameter(
"blender",
"area_sizez", la->
area_sizez);
#define LA_FALLOFF_INVLINEAR
void forEachLightObjectInExportSet(Scene *sce, Functor &f, LinkNode *export_set)
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Color
void exportLights(Scene *sce)
LightsExporter(COLLADASW::StreamWriter *sw, BCExportSettings &export_settings)
void operator()(Object *ob)
std::string get_light_id(Object *ob)
std::string id_name(void *id)