Realtime raytraced shadows?

Hello!
Precise shadows (like in not shadow maps, which are somewhat crappy) are quite desirable for architectural graphics, sun studies etc. I’m using Rhino Render / Cycles to get them, via a modified display mode like this:


Works, but is still slow. Question is, would OpenGL basically support raytraced shadows? (Got a GeForce RTX 2060 super)

How does Sketchup and the likes do this trick, which got these nice realtime sharp shadows?

Or, can the raytracing render settings somehow be tweaked to be super fast for the purpose and still give ‘perfect’ shadows?

Thanks!

Yeah, raytraced shadows possible in OpenGL? Anyone?
Cheers!

in order to get sharp shadows in rendered mode, you need to use a light source like a spotlight, or the sun- They are not raytraced per se, but look nice for presentation stuff-

image

Hello!
Thanks, but that’s not the point. My scenes (architectural) tend to have a larger scale, and the sun’s shadow map that OpenGL uses starts to blur out / shows artifacts at the edges, even when the size and all the sharpness parameters are set to maximum - even with good graphics hardware (NVidia RTX 2070 at the office, RTX 2060 super at home).

The Vulkan API was released in 2016, which is the next gen OpenGL. In a recent Khronos Group article there’s a code snippet regarding raytraced shadows. This raises the question, does Rhino support Vulkan? And what needs to happen to add raytraced shadows then?
Thanks!
Best regards
Eugen

No, it does not.

Current raytraced shadows yuo can get with the Raytraced viewport mode, or in Rhino 7 you can use Rhino Render as well.

Ok! Will it ever?

In my initial post I’m doing exactly this. Got a display mode with Display Pipeline: OpenGL, and Realtime display engine: Cycles.
My question should better be: how can I turn off global illumination for Cycles (when used in a display mode), which for some graphic styles is not necessary, so I get those raytraced shadows real quick?
Thanks!

cycles aka raytraced display mode is the only renderer that will do ray tracing (out of the included rhino 7 options). you won’t get this with any other display mode. if you want it quicker, your only way is to throw as much money at it as possible. one of the new RTX3000 cards.

the RTX 3080 renders roughly three times quicker compared to your RTX 2060 Super. though I’m not sure how exactly these numbers translate to the rhino implemantation of cycles.

Turn off skylighting, and set in Advanced Render Settings section the Diffuse bounces to 0.

4 Likes

just the shadows? zero diffuse bounces!
simple and smart :sweat_smile:

Cool, that should cut it!
Thank you Nathan!!

This is a pretty cool trick!
Do you think it could be optimized to use even less gpu resources?
I am working on laptop with GTX 1070 and (in UE4) realtime raytrainced shadows works for me with some simple scenes.
With this trick inside Rhino, all I care about is just crisp and pretty accurate shadow line, so it could be simplified to the bare minimum.

Would it be possible to incorporate something like “use precise (raytraced) shadows” option in other display modes?

These settings you saw in my video in the earlier post are all part of the document. You should be able to write a simple Python script where you set these to your liking.

Ah sorry, I gave this thread a more careful look.
The thing I miss now is how to, in Raytraced mode, get shadows that are not entirely black, but without using skylight? Ambient light seems like should do it, but doesn’t affect the scene in any way.

Raytraced has no support for ambient light other than using skylight.