Raytraced vs rendered oddity

I never understood rendering in Rhino, so I don’t have a clue what’s going on here :

-Rendered viewport

The texture of the photogrammetry-scanned building seems self-luminous (no indication of that in the texture settings).

-Ray-traced viewport

Apart from the fact it looks like shit, it is clear that the texture of the building is behaving “normally”, at least it is coherent with the other elements in the scene (the standing guy, the low wallboard boxes,…)

So what’s the deal ?

Hard to say without a file to investigate and without knowing what Rhino version we’re talking about.

In Rhino 8 a test scene (photogrammy) from casualeffects looks like this:

Is that with vertex colors? Texture properly set up? Lighting?

Hi Nathan, thanks for popping-up so fast.
Sent you the link in PM

1 Like

Also here’s a wish for the spot light settings : use real-world parameters

“light objects” aren’t “real world,” they’re a relic from the dawn of computer graphics, these days you can just brute-force actual fixtures with emissive materials that you can set the color temp on and just model the angles.

OK, but why wouldn’t Rhino try to be a bit smarter and propose an angle setting for example.
Many spots are adjustable, and it would be nice to change the value on the fly instead of fiddling with geometry.

Thank you for sharing your file. A couple of things:

Your mesh has vertex colors. This causes Rendered mode to ignore any shading and lighting. The mesh will be rendered with what is called flat shading. You’ll find that anything lighting you try to do won’t show at all on the mesh - turn your spotlights to say green and you’ll see that nothing happens on the mesh.

If you were to unlock your mesh, select it and run this script to remove vertex colors you’d get closer to what Raytraced is seeing.

#! python3

import scriptcontext as sc

obs = sc.doc.Objects.GetSelectedObjects(False, False)
mob = list(obs)[0]

attr = mob.Attributes
me = mob.Geometry
print(me.VertexColors.Count)
me.VertexColors.Clear()
print(me.VertexColors.Count)
sc.doc.Objects.Replace(mob.Id, me)

You’d see for instance that your cylindrical (linear) lights are overpowered also in Rendered mode. Set their intensity to 1.0 to not have them blow out the scene. You now should also see lighting on the mesh that you weren’t seeing before. If you did change some of the spotlights to green you should see that now be cast on the mesh as well.

Now, here I’d turn on the skylight, then switch to Raytraced. If you have both Rendered mode and Raytraced mode side by side (named views ftw) you should see that now your model matches pretty close, with Raytraced having much nicer lighting from your fixtures.

edit/addendum: to clarify Raytraced does not use the vertex colors to switch to a non-shaded mode. That is why your initial post shows so big differences between Rendered and Raytraced mode. Rendered mode doesn’t do any lighting with the mesh, Raytraced does.

1 Like

fwiw, linear lights and I are not friends.

1 Like