Help Requested: Post Render distortion


  • Poser Ambassadors

    @posernewbie
    Ah, OK, thanks for the info. it looked like a fish eye type of shot.

    For your info :
    I have Smoothing enabled in the render settings all the time, and the crease angle in General Preferences set to 180°. That is my default FireFly render setting.

    Props have far less vertex groups then figures. And it is a lot faster to adapt the Smoothing setting per vertex group for the props in a scene then it is to adapt them on all vertex groups of all figures in a scene.

    And I also use SubD where required.

    Why I use both? Smoothing and SubD?
    Smoothing enlarges a mesh, while SubD shrinks a mesh.

    Using both settings properly, you can "maintain" mesh size.
    This is most important for close fitting clothing and is one tool to avoid Skin poking through clothing.

    Best regards, Tony



  • @karina LOL! You got it. I like it! I respectfully request to steal the refrigerator comparison... :-)


  • Poser Ambassadors

    @posernewbie
    LOL; Do it fast. With global warming going the way it goes, one might soon need refrigerators at the poles too. LOL. (And something to keep them floating. LOL.)



  • @posernewbie: granted, do so XD

    Tony, without wanting to start a discussion here, but by using both Smoothing AND SubD you are basically adding one inaccuracy upon the former, hoping that the results will somehow cancel each other out.
    Hmmm...

    As for your procedure of global smoothing and then setting the props in a scene individually:
    I don't know what you consider as a "scene" - however in most cases it's more than a road and a grassy knoll in the background.

    @vilters said in Help Requested: Post Render distortion:

    Props have far less vertex groups then figures. And it is a lot faster to adapt the Smoothing setting per vertex group for the props in a scene then it is to adapt them on all vertex groups of all figures in a scene.

    I absolutely disagree.
    Take "The Pad" for instance: It comes with Poser. Load it!

    There are 79 individual props in the set and ALL have "Smooth Polygons" set with a CA of 80.
    (and don't forget to also change the settings on every extra prop that you add, like a simple extra vase.

    Now, good luck in changing them all!

    B.t.w, the point of the smoothing IDs for polygon groups is moot IMO because no prop I stumbled over have them explicitly set.
    And figures have Smoothing turned on anyway, so there's no need to fiddle with this except for very low poly figures like game meshes.

    So why make it more complicated than necessary?

    • Turn global Smoothing OFF in the render settings: All figures and 99 per cent of all props will render OK - out of the box, without bulging.
    • IF you have a prop that could need some smoothing (and only then): Turn it ON for that particular prop.

    Since I heed these (my own, of course) rules, I never had problems with bulging surfaces.
    Thus quoth the raven: "Nevermore!"
    ;)

    With due respect

    Karina


  • Poser Ambassadors

    @karina you are mistaken and your apparent certainty is confusing others.

    A prop or figure is smoothed if and only if the actor AND the render setting are enabled.

    If the actor smoothing setting is disabled, that actor is not smoothed.

    If the render smoothing setting is disabled, all actors are not smoothed.


  • Poser Ambassadors

    Here are two bucky balls (add one using Scripts/Create Props/geom_bucky)

    0_1541782740231_258e7ffe-53eb-420d-ad04-e798c14c75b9-image.png

    The red bucky and blue bucky properties
    0_1541782794299_9ca19adf-88a1-48f4-a71c-6eaa7e87a795-image.png
    0_1541782839346_bbdf48e8-816b-42ff-8d69-9d923cf9be16-image.png

    With render options smoothing enabled
    0_1541782937887_00c8b576-070f-4a15-9097-4bf0b6756a65-image.png

    It looks like this
    0_1541782990364_buck1.png

    Only the blue one is smoothed. The red one is not because false AND true is false.

    Now I disable in render options
    0_1541783063443_ccf2861d-1275-43c8-a614-5df5708dcf10-image.png

    And rendering now produces NO smoothing anywhere. The red is not smooth because false AND false is false. The blue is not smooth because true AND false is false.

    0_1541783127638_buck2.png

    If you wish to have smoothing on anything at all, you have to enable it in Render options. This is not ambiguous. That (render setting) is the master switch to turn on the feature - if the feature is turned off, it doesn't matter what each actor says it wants.


  • Poser Ambassadors

    Subdivision is not a universal answer either. Here the red bucky is subdivided 2x, while the blue is smoothed as before.

    0_1541783375512_buck3.png

    The red one is not only smaller, it is not round.

    When we use smoothing or subdivision features, it must be in situations where the geometry WAS DESIGNED FOR THAT FEATURE.

    Ballooning shows a prop that was not designed to be used with smoothing and you must disable it for THAT prop or turn off the feature and live with the fact that bucky balls don't look smooth. If the prop is from a vendor and he/she did not pay attention to the properties, then this vendor is not ideal.

    Shrinking and changing shape shows a prop that was not designed to be used with subdivision. You must not use subdivision for THAT prop because if you do it looks stupid.


  • Poser Ambassadors

    Vilters suggests using both.

    The red bucky is using 1x subdivision AND smoothing.

    0_1541783597470_buck4.png

    It is still shitty.

    For certain geometries, such as the bucky ball, smoothing is THE best algorithm we have and there are similar benefits to low-poly figures, especially their head and ears.

    For other geometries, subdivision is THE best algorithm.

    For some geometries, particularly from lazy or ignorant vendors, geometry doesn't work well with any shape-changing algorithm. If the prop looks good anyway, then fine, but it should not start acting stupid when you need to enable the smoothing feature on behalf of your other props or humans.



  • Thank you for chiming in here, @bagginsbill

    So what you say is that the "render Smoothing" overrides the individual settings?

    Interesting, since (as I said) I never had any significant problems (the E.A.Poe quote...)
    But the examples you posted here look VERY convincing (thank you for taking the time to make those!)
    I will investigate this in my PP2014 further.

    Something new - One never stops to learn. :)

    Karina


  • Poser Ambassadors

    @karina said in Help Requested: Post Render distortion:

    Thank you for chiming in here, @bagginsbill

    So what you say is that the "render Smoothing" overrides the individual settings?

    No - I'm saying the render smoothing is a switch to turn the feature on or off. If you turn it off, it's like running a version of Poser that doesn't have the ability to do smoothing. It has no affect on overriding an individual setting, which COULD exist as a new setting but no such thing exists.

    Interesting, since (as I said) I never had any significant problems (the E.A.Poe quote...)

    It is not going to be a problem if you are using high-poly props and figures. The problem is when you are using props (such as the bucky ball) which are LOW poly and were INTENDED to work well ONLY if the smoothing feature is turned on in the renderer.

    For those who have Poser 11, SuperFly DOES NOT HAVE THE SMOOTHING FEATURE. Doesn't matter if you set it to true on a prop - the feature is nonexistent.

    FireFly has the feature but it pretends it does NOT have the feature when you turn the smoothing off in render settings. That is not "overriding" each actor - it is removing the code that does smoothing from the system.



  • @bagginsbill would you mind commenting on what appears as a further confusion to me (but may be simply a feature of the render settings or prop choice). In comparison with the (what I assume to be Lit Wireframe) preview, the first render with red unsmoothed and blue smoothed buckyballs, seems to have the same specular highlights on both, which I would not (perhaps mistakenly) expect from a sharp edged, flat faceted polyhedron. It's obvious that the profiles are distinct in their flatness/smoothing, but the forward facing facets away from the limbs are (apart from diffuse colour) not distinctly different in their shading. Can this be solely attributed to their roughness or other specular settings?

    Since I'm currently in my SuperFly only phase, I'll also take away that this is not something that will affect my renders unless I choose FireFly by accident, or re-render an old, pre-SuperFly scene.


  • Poser Ambassadors

    anomalaus, you are so keenly observant.

    You are correct - the highlights mysteriously behave as if the smoothing had actually taken place. That is because FireFly renders using the "Phong" shading algorithm, also known as "Phong interpolation". Before I explain what Phong shading is, let's be clear that "Phong shading" and "polygon smoothing" are independent features or behaviors. Either alone can improve the illusion of smooth, continuous curves on an otherwise flat polygon. Together they work very well.


  • Poser Ambassadors

    As usual, wikipedia already has a good writeup and I can just refer you to that for the definition of Phong shading.

    Click here to read about Phong Shading at Wikipedia


  • Poser Ambassadors

    Damn 30-second edit timeout. I'm going to have to be careful.

    I wanted to revise earlier post - Poser is doing Phong interpolation, but not always Phong shading. It is only doing Phong shading if you use the traditional Diffuse node and the traditional Specular node, or the built-in Poser Surface root node versions of those two things (top five inputs).

    Phong interpolation specifically identifies the process of calculating a false normal for every point of a polygon based on interpolating the normals as defined at the vertices. Phong shading then uses the interpolated normal as input to the (trivial) Diffuse + Specular nodes.

    If, instead of those Diffuse + Specular nodes, you use Scatter and Fresnel-adjusted Reflection, then it is no longer the Phong reflection model, and so this combination is not Phong shading.


  • Poser Ambassadors

    Now you may ask how do we control the Phong Interpolation feature. Can we turn it off in render settings - no. Can we turn it off for each prop - no. It's always part of the rendering algorithm.

    But be aware I am speaking with precision here. The Phong Interpolation "feature" (the ability to do that form of calculation) is not the same as the "effect". The feature is always on, but the effect of it is NOT!

    The Phong Interpolation feature can be seen here on the blue bucky but not the red one. How is that done?

    0_1541852657386_buck5.png

    It is done with Crease Angle - the same one that we use to affect smoothing.

    0_1541852692837_c2509635-5f9d-45bc-9e0c-a313d9aba3ba-image.png

    (For purposes of less typing for me, I'm going to refer to Smoothing plus Phong Interpolation as S+PI)

    Both S and PI examine the angle formed between the normals of two adjacent polygons, where adjacent means they share an edge (the line between a pair of vertices). When a shared edge exists, S+PI is activated. Shared means literally the same two vertices (i.e. what we call welded), not just some vertices that happen to be in the same positions but have different identities or indexes.

    When that angle between the normals is BELOW the Crease Angle, S+PI produces an effect that incorporates a surface that smoothly curves across that shared edge. When that angle between the normals is ABOVE the Crease Angle, S+PI ignores the shared edge and draws those polygons as if they were not touching. That doesn't mean they're FLAT! Other edges could be creating a fake curve. Or in the case of a 4+ sided polygon, the vertices may not be coplanar to begin with and imply a curved surface between them.

    Thus, the Crease Angle defines a threshold. Above the threshold, S+PI deems the shared edge is irrelevant.


  • Poser Ambassadors

    Here I have set the crease angle to 38 degrees on the blue ball, 35 on the red.

    The bucky ball geometry has shared edges, all above 35 degrees, some below 38 degrees, some above 38 degrees. The S+PI effect is now mixed on the blue bucky, because some of the edges are below the threshold and some are above. Nobody would do this on purpose - I'm just doing this to show (reveal) the inner working of the algorithm.

    0_1541853333943_buck6.png


  • Poser Ambassadors

    What about SuperFly? SuperFly does not have polygon smoothing, but it DOES have Phong Interpolation and it does respect the same Crease Angle as FireFly.

    0_1541853497404_buck7.png



  • @bagginsbill I'm just browsing the relevant sections of the Poser manual before I suggest that all of this information should be in there, because some of it is, though without your detailed explanations it's still mostly left as an "exercise for the reader".

    I wonder if you could comment on Smoothing IDs (from the OBJ geometry, but assignable in the Grouping Tool) and whether SuperFly follows the FireFly scheme of creasing between facets in different smoothing groups (groups with a different smoothing ID "s <n>" lines in OBJ files) but not between facets in the same smoothing group?


  • Poser Ambassadors

    Yes there is additional logic related to smoothing group ids. For an edge to be considered "shared", the two polygons have to belong to the same smoothing group. Even if an edge is welded, it is effectively unwelded for the purposes of S + PI. Of course SuperFly doesn't have smoothing, but its PI is working this way.

    I changed my red bucky to crease angle 80 (all edges are applicable for S+PI), and placed the upper half of polygons in smoothing group 2 and lower half of polygons in smoothing group 1.

    Rendered in SuperFly, the PI does not go across edges shared by group 1 and 2.
    0_1541854774552_buck8s.png

    Rendered in SuperFly, the PI also stops, AND the Smooth Polygons effects have actually torn the mesh at the boundary between the two smoothing groups, because the curves produced do not agree between the two groups.

    0_1541854909237_buck8f.png



  • @bagginsbill Uh, SuperFly first image and FireFly second image? (Judging by the Phong Interpolation of the previous two renders... and the non-smoothed boundary of the blue buckyball in first image)