Wenzel Jakob 2014-07-28 13:58:58 +02:00
commit 11c5ef7458
4 changed files with 13 additions and 9 deletions

View File

@ -221,8 +221,8 @@ class MTS_EXPORT_CORE half
unsigned short _h; unsigned short _h;
static MTS_EXPORT_CORE uif _toFloat[1 << 16]; static uif _toFloat[1 << 16];
static MTS_EXPORT_CORE unsigned short _eLut[1 << 9]; static unsigned short _eLut[1 << 9];
}; };
//----------- //-----------

View File

@ -179,9 +179,9 @@ template <typename Scalar> struct Resampler {
m_weights = new Scalar[m_taps]; m_weights = new Scalar[m_taps];
Float sum = 0; Float sum = 0;
for (int i=0; i<m_taps; i++) { for (int i=0; i<m_taps; i++) {
Float weight = (Scalar) rfilter->eval((Float) (i-m_halfTaps)); Scalar weight = (Scalar) rfilter->eval((Float) (i-m_halfTaps));
m_weights[i] = weight; m_weights[i] = weight;
sum += weight; sum += (Float) weight;
} }
Float normalization = 1.0f / sum; Float normalization = 1.0f / sum;
for (int i=0; i<m_taps; i++) { for (int i=0; i<m_taps; i++) {

View File

@ -1884,7 +1884,7 @@ std::map<std::string, Bitmap *> Bitmap::split() const {
ChannelMap channels; ChannelMap channels;
for (size_t i=0; i<m_channelNames.size(); ++i) for (size_t i=0; i<m_channelNames.size(); ++i)
channels[boost::to_lower_copy(m_channelNames[i])] = i; channels[boost::to_lower_copy(m_channelNames[i])] = (int) i;
for (size_t i=0; i<m_channelNames.size(); ++i) { for (size_t i=0; i<m_channelNames.size(); ++i) {
std::string name = boost::to_lower_copy(m_channelNames[i]); std::string name = boost::to_lower_copy(m_channelNames[i]);
@ -1951,7 +1951,7 @@ std::map<std::string, Bitmap *> Bitmap::split() const {
channels.erase(prefix + "y"); channels.erase(prefix + "y");
} else { } else {
extractFormat = ELuminance; extractFormat = ELuminance;
extractChannels.push_back(i); extractChannels.push_back((int) i);
channels.erase(name); channels.erase(name);
} }
@ -1989,7 +1989,7 @@ ref<Bitmap> Bitmap::extractChannels(EPixelFormat fmt, const std::vector<int> &ch
Log(EError, "Bitmap::extractChannel(%i): channel index " Log(EError, "Bitmap::extractChannel(%i): channel index "
"must be between 0 and %i", channels[i], channelCount-1); "must be between 0 and %i", channels[i], channelCount-1);
ref<Bitmap> result = new Bitmap(fmt, m_componentFormat, m_size, channels.size()); ref<Bitmap> result = new Bitmap(fmt, m_componentFormat, m_size, (int) channels.size());
result->setMetadata(m_metadata); result->setMetadata(m_metadata);
result->setGamma(m_gamma); result->setGamma(m_gamma);
@ -2851,7 +2851,7 @@ void Bitmap::readOpenEXR(Stream *stream, const std::string &_prefix) {
if (multichannel) { if (multichannel) {
for (Imf::ChannelList::ConstIterator it = channels.begin(); it != channels.end(); ++it) for (Imf::ChannelList::ConstIterator it = channels.begin(); it != channels.end(); ++it)
sourceChannels.push_back(it.name()); sourceChannels.push_back(it.name());
m_channelCount = sourceChannels.size(); m_channelCount = (int) sourceChannels.size();
m_pixelFormat = EMultiChannel; m_pixelFormat = EMultiChannel;
formatString = "Multichannel"; formatString = "Multichannel";
} else if (spectral) { } else if (spectral) {

View File

@ -53,6 +53,10 @@ static AABB shapekdtree_getAABB(const ShapeKDTree *kdtree) {
return kdtree->getAABB(); return kdtree->getAABB();
} }
static bool shapekdtree_isBuilt(const ShapeKDTree *kdtree) {
return kdtree->isBuilt();
}
static bp::object shapekdtree_rayIntersect(const ShapeKDTree *kdtree, const Ray &ray) { static bp::object shapekdtree_rayIntersect(const ShapeKDTree *kdtree, const Ray &ray) {
Intersection its; Intersection its;
@ -330,7 +334,7 @@ void export_render() {
.def("getPrimitiveCount", &ShapeKDTree::getPrimitiveCount) .def("getPrimitiveCount", &ShapeKDTree::getPrimitiveCount)
.def("addShape", &ShapeKDTree::addShape) .def("addShape", &ShapeKDTree::addShape)
.def("build", &ShapeKDTree::build) .def("build", &ShapeKDTree::build)
.def("isBuilt", &ShapeKDTree::isBuilt) .def("isBuilt", &shapekdtree_isBuilt)
.def("getAABB", &shapekdtree_getAABB, BP_RETURN_VALUE) .def("getAABB", &shapekdtree_getAABB, BP_RETURN_VALUE)
.def("getShapes", &shapekdtree_getShapes) .def("getShapes", &shapekdtree_getShapes)
.def("rayIntersect", &shapekdtree_rayIntersect); .def("rayIntersect", &shapekdtree_rayIntersect);