Merge branch 'master' into blender2.8
This commit is contained in:
@@ -89,6 +89,18 @@ void MathNode::convertToOperations(NodeConverter &converter, const CompositorCon
|
||||
case NODE_MATH_ATAN2:
|
||||
operation = new MathArcTan2Operation();
|
||||
break;
|
||||
case NODE_MATH_FLOOR:
|
||||
operation = new MathFloorOperation();
|
||||
break;
|
||||
case NODE_MATH_CEIL:
|
||||
operation = new MathCeilOperation();
|
||||
break;
|
||||
case NODE_MATH_FRACT:
|
||||
operation = new MathFractOperation();
|
||||
break;
|
||||
case NODE_MATH_SQRT:
|
||||
operation = new MathSqrtOperation();
|
||||
break;
|
||||
}
|
||||
|
||||
if (operation) {
|
||||
|
@@ -356,3 +356,50 @@ void MathArcTan2Operation::executePixelSampled(float output[4], float x, float y
|
||||
|
||||
clampIfNeeded(output);
|
||||
}
|
||||
|
||||
void MathFloorOperation::executePixelSampled(float output[4], float x, float y, PixelSampler sampler)
|
||||
{
|
||||
float inputValue1[4];
|
||||
|
||||
this->m_inputValue1Operation->readSampled(inputValue1, x, y, sampler);
|
||||
|
||||
output[0] = floor(inputValue1[0]);
|
||||
|
||||
clampIfNeeded(output);
|
||||
}
|
||||
|
||||
void MathCeilOperation::executePixelSampled(float output[4], float x, float y, PixelSampler sampler)
|
||||
{
|
||||
float inputValue1[4];
|
||||
|
||||
this->m_inputValue1Operation->readSampled(inputValue1, x, y, sampler);
|
||||
|
||||
output[0] = ceil(inputValue1[0]);
|
||||
|
||||
clampIfNeeded(output);
|
||||
}
|
||||
|
||||
void MathFractOperation::executePixelSampled(float output[4], float x, float y, PixelSampler sampler)
|
||||
{
|
||||
float inputValue1[4];
|
||||
|
||||
this->m_inputValue1Operation->readSampled(inputValue1, x, y, sampler);
|
||||
|
||||
output[0] = inputValue1[0] - floor(inputValue1[0]);
|
||||
|
||||
clampIfNeeded(output);
|
||||
}
|
||||
|
||||
void MathSqrtOperation::executePixelSampled(float output[4], float x, float y, PixelSampler sampler)
|
||||
{
|
||||
float inputValue1[4];
|
||||
|
||||
this->m_inputValue1Operation->readSampled(inputValue1, x, y, sampler);
|
||||
|
||||
if (inputValue1[0] > 0)
|
||||
output[0] = sqrt(inputValue1[0]);
|
||||
else
|
||||
output[0] = 0.0f;
|
||||
|
||||
clampIfNeeded(output);
|
||||
}
|
||||
|
@@ -175,4 +175,28 @@ public:
|
||||
void executePixelSampled(float output[4], float x, float y, PixelSampler sampler);
|
||||
};
|
||||
|
||||
class MathFloorOperation : public MathBaseOperation {
|
||||
public:
|
||||
MathFloorOperation() : MathBaseOperation() {}
|
||||
void executePixelSampled(float output[4], float x, float y, PixelSampler sampler);
|
||||
};
|
||||
|
||||
class MathCeilOperation : public MathBaseOperation {
|
||||
public:
|
||||
MathCeilOperation() : MathBaseOperation() {}
|
||||
void executePixelSampled(float output[4], float x, float y, PixelSampler sampler);
|
||||
};
|
||||
|
||||
class MathFractOperation : public MathBaseOperation {
|
||||
public:
|
||||
MathFractOperation() : MathBaseOperation() {}
|
||||
void executePixelSampled(float output[4], float x, float y, PixelSampler sampler);
|
||||
};
|
||||
|
||||
class MathSqrtOperation : public MathBaseOperation {
|
||||
public:
|
||||
MathSqrtOperation() : MathBaseOperation() {}
|
||||
void executePixelSampled(float output[4], float x, float y, PixelSampler sampler);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user