forked from bartvdbraak/blender
Fix T39189: Node editor Map Uv requires an scale node to work.
This is a regression caused by rB67134a7bf689279785e2e40b29cd24243813998b The UV coordinates read from the UV input must be scaled by the Image input size instead of the UV input size. Also now this node uses the UV input resolution instead of the Image resolution, since this is what determines the available resolution. The image is EWA-sampled anyway, it's resolution does not have a direct impact.
This commit is contained in:
parent
2aff2435f0
commit
caf5d90fb0
@ -29,6 +29,7 @@ MapUVOperation::MapUVOperation() : NodeOperation()
|
||||
this->addOutputSocket(COM_DT_COLOR);
|
||||
this->m_alpha = 0.0f;
|
||||
this->setComplex(true);
|
||||
setResolutionInputSocketIndex(1);
|
||||
|
||||
this->m_inputUVProgram = NULL;
|
||||
this->m_inputColorProgram = NULL;
|
||||
@ -84,8 +85,8 @@ bool MapUVOperation::read_uv(float x, float y, float &r_u, float &r_v, float &r_
|
||||
else {
|
||||
float col[4];
|
||||
m_inputUVProgram->readSampled(col, x, y, COM_PS_BILINEAR);
|
||||
r_u = col[0] * width;
|
||||
r_v = col[1] * height;
|
||||
r_u = col[0] * m_inputColorProgram->getWidth();
|
||||
r_v = col[1] * m_inputColorProgram->getHeight();
|
||||
r_alpha = col[2];
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user