void PerspectiveSensor::configure() { float aspect = m_imageSize.x() / static_cast<float>(m_imageSize.y()); float recip = 1.f / (m_farClip - m_nearClip); float cot = 1.f / std::tanf(degToRad(m_fov / 2.f)); Eigen::Matrix4f mat; mat << cot, 0, 0, 0, 0, cot, 0, 0, 0, 0, m_farClip * recip, -m_nearClip * m_farClip * recip, 0, 0, 1, 0; Transform perspective(mat); Transform scale = Transform::createScale(Vector3f(0.5f, 0.5f * aspect, 1.f)); Transform shift = Transform::createTranslation(Vector3f(1.f, 1.f / aspect, 0.f)); m_sampleToCamera = (scale * shift * perspective).invert(); if (!m_filter) { m_filter = std::make_shared<GaussianFilter>(AttributeList()); m_filter->configure(); } }
void StarSystem::beginElement( void *userData, const XML_Char *name, const XML_Char **atts ) { ( (StarSystem*) userData )->beginElement( name, AttributeList( atts ) ); }
AttributeList Convertor::getAttributeList() { return(AttributeList()); }