Parent Directory
|
Revision Log
added libnytrengine. buildable
namespace nytr
{
template<typename T>
inline
FilmFilter<T>*
FilmFilter<T>::newFilmFilterImpl(FILMFILTERTYPE type)
{
switch(type)
{
case FILMFILTER_NULL:
return new NullFilmFilterImpl<T>();
case FILMFILTER_LANCZOS:
return new FunctionFilterImpl<T>(new LanczosSincFilterFunctionImpl((REAL)2.5, (REAL)2.5));
default:
FECTI_THROW(fecti::FEX_APPLICATION_ERROR, "unknown type specified");
}
}
template<>
inline
FilmFilter<fecti::FUINT8>*
FilmFilter<fecti::FUINT8>::newFilmFilterImpl(FILMFILTERTYPE)
{
return new NullFilmFilterImpl<fecti::FUINT8>();
}
inline
void
FrameBuffer::addSample(const fecti::FVector2& vP, const SampleValue& val, REAL fScale)
{
for(unsigned int i = 0; i < m_nfilms; ++ i)
{
if(! val.isReady(i))
{
continue;
}
switch(m_arytype[i])
{
case FILM_UNUSED:
continue;
case FILM_INT:
((Film<FUINT8>*)getpFilm(i))->addSample(vP, val.getInt(i), fScale);
case FILM_FLOAT:
((Film<float>*)getpFilm(i))->addSample(vP, val.getReal(i), fScale);
case FILM_DOUBLE:
((Film<double>*)getpFilm(i))->addSample(vP, val.getReal(i), fScale);
case FILM_RGB:
((Film<FRGB>*)getpFilm(i))->addSample(vP, val.getRGB(i), fScale);
break;
case FILM_XYZ:
((Film<FXYZ>*)getpFilm(i))->addSample(vP, val.getXYZ(i), fScale);
break;
default:
FECTI_THROW(FEX_APPLICATION_ERROR, "should not come here");
}
}
}
} // end of namespace nytr
| admin | ViewVC Help |
| Powered by ViewVC 1.0.5 |