Object procedural texturing issue

Started by Hannes, October 13, 2020, 01:33:36 am

Previous topic - Next topic

Hannes

I don't know, if this was mentioned before. At least I couldn't find something.

In some of my attempts of creating new shaders I found that using procedural breakup or masking can create weird faceted artifacts on the shaderball object (I ran it through Poseray first and recalculated normals). See image below.
The two shaderballs on the left have "use smooth normals" checked, the two on the right have it unchecked. So unchecking it makes the PF look good, but the object itself is faceted, which is of course not good.
This happens with other imported objects as well, no matter if it's an obj or a tgo.

Is there any workaround for that?
I attached the file for testing it.

Dune

Maybe it's a bug, since the new feature in the latest version that can recalculate normals in TG. I hope Matt will chime in here...

Hannes

Thanks Ulco! I tested the file with an older version, and it's the same. Yes, hopefully Matt can shed some light on this.

Dune

So it's not that >:(  I'll download your stuff and have a look...

Hannes

Thanks a lot, Ulco! Much appreciated. :)

Dune

Confirmed. And it's both in standard renderer as in PT. And also in version 4.38 before introduction of smoothing options. Bug, I suppose. Strange that I never noticed it in my people and stuff. Have to check that out as well!

Hannes

Thanks again, Ulco!!


Quote from: Dune on October 13, 2020, 06:31:44 amStrange that I never noticed it in my people and stuff.


Yes, I didn't notice this as well... :(

Dune

Just tested one of my employees, and it looks normal :P  So maybe it's the shaderball? My tgo has not been taken through PR, as normals were already okay. The guy had no bump and just a procedural surface texture from PF and transform to world.

Hannes

Weird! I have to do some tests as well...

WAS

Distort by normal doesn't understand object normals well is my guess. Happened on my pop rocks too, I just turned down distort by normal to 0.25

sboerner

Confirmed here, too. I took a look at your shader ball model and couldn't find anything wrong with it. When I substitute a simple sphere OBJ in your file I get the same result, both standard and PT renderers. And it shows up in the RTP as well. Strange that this hasn't been noticed before.

Hannes

Quote from: WAS on October 13, 2020, 01:34:36 pmDistort by normal doesn't understand object normals well is my guess


Thanks, Jordan, you are right. Disabling "distort by normal" makes the faceted stuff go away, but of course it doesn't look the same. Not at all! Hmm, I have to do a lot more tests I guess...

Quote from: sboerner on October 13, 2020, 04:30:33 pmConfirmed here, too. I took a look at your shader ball model and couldn't find anything wrong with it. When I substitute a simple sphere OBJ in your file I get the same result, both standard and PT renderers. And it shows up in the RTP as well. Strange that this hasn't been noticed before.
Thanks Steve. Too bad...

WAS

Curious if this is possible with a more densely subdivided object? Impractical, but maybe that's the issue. Seems to want to read the polygon edges.

WAS

Yeah, seems when the polygon count is high enough, normals are fine for the most part. Though this couldn't be subdivided more without Poseray crashing. Lol

Dune

October 14, 2020, 01:36:44 am #14 Last Edit: October 14, 2020, 01:45:49 am by Dune
Distort by normal isn't what I usually use on object texturing (only on planet stuff), and in fact I often decrease it considerably or turn it off in breakup shaders (along with the strong warp). So, I hadn't thought of that (didn't check your insides either, Hannes :P )
But it's not good if that's indeed the culprit.

On another note; I also wondered if the automatic recalculation of normals shouldn't be to off as default. I don't actualy know if it is (will check later), but I often recalculate my normals in Poseray carefully for each part, and don't need it messed up by an average recalculation (no offence for the feature).

EDIT: I think I got it; it only recalculates after a mesh displacer has been added. So does nothing if just importing?