KRSpotLight is now using KRNodeProperty
This commit is contained in:
@@ -38,14 +38,12 @@ using namespace hydra;
|
|||||||
void KRSpotLight::InitNodeInfo(KrNodeInfo* nodeInfo)
|
void KRSpotLight::InitNodeInfo(KrNodeInfo* nodeInfo)
|
||||||
{
|
{
|
||||||
KRLight::InitNodeInfo(nodeInfo);
|
KRLight::InitNodeInfo(nodeInfo);
|
||||||
nodeInfo->light.spot.inner_angle = M_PI_4;
|
nodeInfo->light.spot.inner_angle = decltype(m_innerAngle)::defaultVal;
|
||||||
nodeInfo->light.spot.outer_angle = M_PI_2;
|
nodeInfo->light.spot.outer_angle = decltype(m_outerAngle)::defaultVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
KRSpotLight::KRSpotLight(KRScene& scene, std::string name) : KRLight(scene, name)
|
KRSpotLight::KRSpotLight(KRScene& scene, std::string name) : KRLight(scene, name)
|
||||||
{
|
{
|
||||||
m_innerAngle = M_PI_4;
|
|
||||||
m_outerAngle = M_PI_2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
KRSpotLight::~KRSpotLight()
|
KRSpotLight::~KRSpotLight()
|
||||||
@@ -61,8 +59,8 @@ std::string KRSpotLight::getElementName()
|
|||||||
tinyxml2::XMLElement* KRSpotLight::saveXML(tinyxml2::XMLNode* parent)
|
tinyxml2::XMLElement* KRSpotLight::saveXML(tinyxml2::XMLNode* parent)
|
||||||
{
|
{
|
||||||
tinyxml2::XMLElement* e = KRLight::saveXML(parent);
|
tinyxml2::XMLElement* e = KRLight::saveXML(parent);
|
||||||
e->SetAttribute("inner_angle", m_innerAngle);
|
m_innerAngle.save(e);
|
||||||
e->SetAttribute("outer_angle", m_outerAngle);
|
m_outerAngle.save(e);
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,8 +68,8 @@ void KRSpotLight::loadXML(tinyxml2::XMLElement* e)
|
|||||||
{
|
{
|
||||||
KRLight::loadXML(e);
|
KRLight::loadXML(e);
|
||||||
|
|
||||||
e->QueryFloatAttribute("inner_angle", &m_innerAngle);
|
m_innerAngle.load(e);
|
||||||
e->QueryFloatAttribute("outer_angle", &m_outerAngle);
|
m_outerAngle.load(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
float KRSpotLight::getInnerAngle()
|
float KRSpotLight::getInnerAngle()
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ public:
|
|||||||
void setOuterAngle(float outerAngle);
|
void setOuterAngle(float outerAngle);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float m_innerAngle; // Inner angle of the cone, in radians. Inside this radius, the light will be at full brightness
|
// Inner angle of the cone, in radians. Inside this radius, the light will be at full brightness
|
||||||
float m_outerAngle; // Outer angle of the cone, in radians. Outside this radius, the light will be completely attenuated
|
KRNODE_PROPERTY(float, m_innerAngle, M_PI_4, "inner_angle");
|
||||||
|
// Outer angle of the cone, in radians. Outside this radius, the light will be completely attenuated
|
||||||
|
KRNODE_PROPERTY(float, m_outerAngle, M_PI_2, "outer_angle");
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user