Document & Visualize forum
cancel
Showing results for 
Search instead for 
Did you mean: 

Rendering transparent surface touching non-transparent

PVBergkrantz
Enthusiast
Hi. I'm doing a rendering with some glass on top of another material, and if the two are touching, face to face, without any gap between, the rendering becomes grainy and messed up. See the screenshot for a clearer explanation.

I've tried messing around with the render settings, adjusting ray depth etc, but nothing seems to make a difference. In some cases I can move the objects to create an air gap, but in some that's not practical, like the inner sides of windows where the glass pane meets the frame, or modeled water touching the seabed.
Without any gap, the two faces are touching. With an air gap between the two surfaces.
| AC 25 Int | Win10 | i7-7800X | 32 GB | GeForce RTX 2060 6GB |

1 ACCEPTED SOLUTION

Solution
Daniel Kovacs
Graphisoft
Graphisoft
Hi,

I think this is because of a modeling thing that we generally call "z-fight". When you have 2 different surfaces in the exact same position, the 3D engine won't be able to decide which one is before the other (because neither are), and won't know which surface to eliminate in the current angle, and so the 2 surfaces are both displayed, and start "flashing". You can see that in the OpenGL 3D window of ARCHICAD as well, if you place 2 morphs right over each other, with different surfaces.
I think the same thing happens in the render: the renderer sees both surfaces, and tries to display them both at once. If you use the same color for the bottom of the glass as the slab underneath, it looks fine.

This is not actually a bug, but a behaviour/limitation of the rendering engine. Here's what I do in case of "seabed". I usually model the bed from a mesh, and place the water into it as a slab, and then use SEO to remove the excess parts of the slab. When I do this, I can use the "Inherit from Operator" option to override the cut surfaces to the same surface. This way the rendering will look fine even though the surfaces are still touching.
I hope this explains everything. Let me know if you still have doubts or problems.

Regards,
Daniel Alexander Kovacs

Professional Services Consultant

GRAPHISOFT



For Troubleshooting and useful Tips & Tricks visit

View solution in original post

8 REPLIES 8

Solution
Daniel Kovacs
Graphisoft
Graphisoft
Hi,

I think this is because of a modeling thing that we generally call "z-fight". When you have 2 different surfaces in the exact same position, the 3D engine won't be able to decide which one is before the other (because neither are), and won't know which surface to eliminate in the current angle, and so the 2 surfaces are both displayed, and start "flashing". You can see that in the OpenGL 3D window of ARCHICAD as well, if you place 2 morphs right over each other, with different surfaces.
I think the same thing happens in the render: the renderer sees both surfaces, and tries to display them both at once. If you use the same color for the bottom of the glass as the slab underneath, it looks fine.

This is not actually a bug, but a behaviour/limitation of the rendering engine. Here's what I do in case of "seabed". I usually model the bed from a mesh, and place the water into it as a slab, and then use SEO to remove the excess parts of the slab. When I do this, I can use the "Inherit from Operator" option to override the cut surfaces to the same surface. This way the rendering will look fine even though the surfaces are still touching.
I hope this explains everything. Let me know if you still have doubts or problems.

Regards,
Daniel Alexander Kovacs

Professional Services Consultant

GRAPHISOFT



For Troubleshooting and useful Tips & Tricks visit

View solution in original post

PVBergkrantz
Enthusiast
I googled a bunch after and found the z-fight referenced a few times, and it seems indeed to be the problem. I suspected it might be a limitation of the technology but was still hoping for a tip or workaround to solve it in a good way. The solution you provided with putting the bottom surface of the transparent part the same as the seabed seems to do the trick! Very smart workflow with the SEO and inherit from operator as well. Thanks!
| AC 25 Int | Win10 | i7-7800X | 32 GB | GeForce RTX 2060 6GB |

PVBergkrantz
Enthusiast
A small update on this, I am having some trouble rendering touching transparent materials. Say two walls in ArchiCAD, both in the same transparent material, meeting in a corner. When I try to render it shows similar issues to the first post. However, they are the same material and should merge right? They merge fine in sections and regular 3d, but when rendering I still get the edges.

The balcony in the attached image consists of 3 walls and a slab, all in the same material, but the connections appear and disrupts the shading in a render.

Any ideas?
| AC 25 Int | Win10 | i7-7800X | 32 GB | GeForce RTX 2060 6GB |

Barry Kelly
Moderator
PVBergkrantz wrote:
A small update on this, I am having some trouble rendering touching transparent materials. Say two walls in ArchiCAD, both in the same transparent material, meeting in a corner. When I try to render it shows similar issues to the first post. However, they are the same material and should merge right? They merge fine in sections and regular 3d, but when rendering I still get the edges.


transparency issues.jpg
The balcony in the attached image consists of 3 walls and a slab, all in the same material, but the connections appear and disrupts the shading in a render.

Any ideas?

You will probably want to play around with the Ray threshold and Ray Depth settings in the Cinerender settings.
There are many post here that discuss these settings.

Scroll down in this HelpCenter article to the section for "Cinerender and glass surfaces":
https://helpcenter.graphisoft.com/knowledgebase/41188/

There may be other render settings that affect how glass look when viewed from the ends - something to do with the refraction of the light and the colour of the glass.
I am no expert but the above should hopefully help.

Barry.

One of the forum moderators.
Versions 6.5 to 25
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Dell Precision 3510 - i7 6820HQ @ 2.70GHz, 16GB RAM, AMD FirePro W5130M, Windows 10

PVBergkrantz
Enthusiast
I'm aware of the ray depth settings, but I don't think that's the issue here, the problem is with ArchiCAD treating the walls as separate objects in the rendering, even though they merge in all other aspects. What I wished had happen was that they would be merged into one continuous solid before the rendering takes place, something that can be achieved by turning them into morphs and unioning them, but this is perhaphs not a feature in ArchiCAD (yet).
| AC 25 Int | Win10 | i7-7800X | 32 GB | GeForce RTX 2060 6GB |

Lingwisyer
Virtuoso
So you have an extra 2 surfaces that the light passes through and refracts / reflects BUT, you would not construct glass as a single continuous piece anyway. You would have a joined that creates that same effect somewhere near the corner.
AC18-23 AUS 7000
Self-taught, bend it till it breaks.
Win10 | E5620 x 2 | 24GB | K2200

Win10 | R5 2600 | 16GB | GTX1660

PVBergkrantz
Enthusiast
Yes, that is true of course, for this case at least. But since there isn't these two extra surfaces in any other aspect of the model, say in section, plan, or unrendered 3d-model. There the two walls merge into one continuous object, but just visually as it seems, not mathematically.

Always a good idea to ask anyway, when in doubt, I think. Thanks for the feedback.
| AC 25 Int | Win10 | i7-7800X | 32 GB | GeForce RTX 2060 6GB |

Lingwisyer
Virtuoso
If you select a each of those wall individually you will see that one continues into the corner while the other does not. Walls create a butt joint. My guess is that this is due to the fact that you would generally not chamfer the material you are making your wall out of. Not sure if there is a way to get them to chamfer to each other... If you try using beams on the other hand, you might get a different outcome as they do chamfer as far as I know.



Ling.
AC18-23 AUS 7000
Self-taught, bend it till it breaks.
Win10 | E5620 x 2 | 24GB | K2200

Win10 | R5 2600 | 16GB | GTX1660

Start a new conversation!

Labels

Still looking?

Browse more topics

Back to forum

See latest solutions

Accepted solutions

Start a new discussion!