Chaos Corona for 3ds Max > [Max] Feature Requests

Impact of Mesh Topology on the Refraction Behavior of Glass (Curved Surfaces)

<< < (5/6) > >>

ATa:
Hi James,

As you can see, the unusual shading issue on refractions is still present. Smoothing groups and normals are exported correctly, as these issues only occur with the refraction of glass; the reflections are accurate.

Hi Pokoy,

I am an experienced 3D modeler using Rhino (CAD-based software). The exported 3D meshes are simple curved surfaces with low complexity, yet the unusual render outputs from Corona suggest that the issue might be related to the light solver and rendering algorithms of engines like Corona. Consequently, I am posting these refraction render issues here in the hope of receiving assistance and potentially seeing improvements from the active developer teams.

Creating quad or non-quad meshes is a technique to achieve precise 3D models, not an end goal. CAD-based 3D software can generate highly accurate meshes that are 3D printable and more, without the need for time-consuming topology optimization. It would be highly beneficial if render engine solvers could separate realistic refraction behavior from topology, regardless of whether the mesh is quad-based or not.

For instance, 3ds Max added the Weighted Normal modifier due to the importance of bridging 3D software meshes together, but it cannot handle the refraction issue. I hope the Corona engine can address this specifically, as it is a rendering issue and not a modeling one.

As illustrated in the attached pic1, my normals are correctly exported as an OBJ file. I understand the importance of explicit normals, and for this case, I also tried exporting in FBX format, but the refraction issues persist.

I appreciate any insights or suggestions you might have to improve the realistic output and address the refraction issues. 🤠

James Vella:
Interestingly when I import this into blender and use one of the built-in HDRIs. Indeed the geometry looks correct (same obj as the one imported into 3dsmax).

pokoy:
At least for the cylinder, there's a tiny angle at the center. In my CAD test object, there's no seam visible. You probably mirrored one half of the object but there's a tiny angle at the center, resulting in a slight break in surface continuity. Sorry if you feel like I'm stepping on your toe but the tessellation suggests this, too, and I just can't think of any other reason why a cylinder should have a slight angle at its center.
For the lens object - mine looks less mangled but it still displays some clearly visible artifacts at the edges.

In Corona, light/camera normals and surface normals are two different things, similar to how shadows will produce artifacts on the shadow terminator or SSS/absorption will reveal geometry tessellation. On top of that, Corona can't properly handle explicit normals in some cases. At least for the lens object, it's quite inacceptable.

Devs/support should chime in and give their perspective but this is a long standing issue and with the current target audience (archviz/DCC apps not CAD) I guess the priority will be low.

For the record, I totally support this and think that CAD objects should render perfectly in Corona, too.

FWIW, I'm rendering some comparisons and will post images + a max scene.

ATa:
Oh, James, could you provide more render shots by rotating the object in the viewport?

Thanks, Pokoy. but the convex shape is an accurate model. As you focus and zoom in to the boundaries of the topology, refraction issues start to appear where the quad meshes change into non-quads!

pokoy:
Here are my tests:

1. Cylinder - original object -> seam visible


2. Cylinder - reconstructed in CAD -> no seam visible


3. Lens - original object -> heavy artifacts visible


4. Lens - reconstructed in CAD, imported as BodyObject, Face Angle 10 -> less artifacts visible


5. Lens - reconstructed in CAD, imported as BodyObject, Face Angle 1 -> no artifacts visible



The cylindric objects - mystery remains but it looks like a clean start resolves the issue.

As for the lens - yes, artifacts will be visible, probably due to the fact that Corona doesn't interpolate explicit normals (like it does for normal smoothing).

The only solution (or rather a workaround, not a solution) I found is to use high tessellation. If you import the original CAD file in an format that Max can read, you can dynamically change the tessellation to whatever is needed.
For this to work: Import file > Convert to Mesh = OFF, this will import the object as a BodyObject where tessellation can be controlled at any time.

Attaching a zip file with the max 2021 scene and the exported IGS CAD objects from MoI3d.

FWIW - @OP, you'll find similar problems with shading for non-transparent objects. Two options to handle this:
- again, high tessellation
- or: Render dialog > 'Development/Experimental Stuff' rollout (might have to be enabled in Corona System setting, enabled by checking 'enable devel/debug mode') > 'Terminator Handling' > set 'Shadow Shift' to 1 (0 by default). This will mostly fix shadowing artifacts on CAD models. Might however introduce shading artifacts on low resolution geometry using standard Max smoothing.

Guess development needs to have a look at properly handling CAD normals sooner or later. We have to use workarounds for quite some time now so please have some mercy devs :D

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version