[bug] power don't work with negative values in Decals

but you’re nor dealing with math, you’re dealing with shaders. it is the only relevant thing.

If you “don’t care about code”, you should stop coding (yes, making materials is also coding). And yes, from math point of view that also makes perfect sense. I can’t be a programmer without understanding how programmes work. CPUs and GPUs don’t work as math school books. Integers in computers have maximum and minimum values. Floats have limited precision, depending on the size of integer part (bigger values have less precision). And so on. Computer doesn’t care if you “don’t care about code”.

Why would they change the name of the node if it works exactly as expected by math definition for non-integer exponents?

I don’t know where did you study math, but in math power DOES NOT work for negative values, unless exp is integer number. You can’t get -8^(1/4). It is math. And this is not just about math. It’s about architecture of GPU. Your values are float, not integer. You don’t want your GPU to check if exp is really integer or float - it’s expensive. GPU must return “power(x,y)” instantly, without extra checking. So yes, of course power doesn’t work for negative numbers. It is both math and GPU architecture.

That is not the issue - the issue is that they changed how node works.
And for Integer values it doesn’t works like you expect.

A decent fix would be to for any value below zero turn them positive that way the magnitude for masking is correct and for any values of none even exponents add back the minis sign

The same error successfully survived and stayed in “ContentExamples” for Unreal Engine 5.3 despite from examples were reworked.


I think some steps should be done:
‎First: Adding details about abnormal “Abs” in text will be useful

NOTICE:
“Power” in Material Editor has special behavior. Base value must be positive, values less than 0 will be clamped. If you want use negative value, use “Abs” on it.



Second. Add “Abs” before “Power” to try fix graph (Positive Y values with negative X values)

But with base = -2 and exponential = 3 this will be still inconveniently 8 (not -8)