forked from bartvdbraak/blender
Fixes for movie distortion node
- Somehow this node was using nearest interpolation which seems have been passed from compositor node. It was using b-spline interpolation with old compositor implementation. Now forced this node to use bilinear interpolation, which should be close enough. - Operation should be marked as complex it seems, otherwise area of interest wouldn't make any affect on it's behavior.
This commit is contained in:
parent
f6a110d6ea
commit
819ca0accc
@ -49,7 +49,9 @@ MovieDistortionOperation::MovieDistortionOperation(bool distortion) : NodeOperat
|
||||
this->m_movieClip = NULL;
|
||||
this->m_cache = NULL;
|
||||
this->m_distortion = distortion;
|
||||
setComplex(true);
|
||||
}
|
||||
|
||||
void MovieDistortionOperation::initExecution()
|
||||
{
|
||||
this->m_inputOperation = this->getInputSocketReader(0);
|
||||
@ -105,10 +107,10 @@ void MovieDistortionOperation::executePixel(float output[4], float x, float y, P
|
||||
if (this->m_cache != NULL) {
|
||||
float u, v;
|
||||
this->m_cache->getUV(&this->m_movieClip->tracking, x, y, &u, &v);
|
||||
this->m_inputOperation->read(output, u, v, sampler);
|
||||
this->m_inputOperation->read(output, u, v, COM_PS_BILINEAR);
|
||||
}
|
||||
else {
|
||||
this->m_inputOperation->read(output, x, y, sampler);
|
||||
this->m_inputOperation->read(output, x, y, COM_PS_BILINEAR);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user