How to get sparkling gems?


is there a way to get this gem to throw light and sparkle at the
camera as well as show caustics on the floor?

Can Cycles do it, or is there a better render engine for this type of rendering?


To get the dispersion you’ll need a renderer that uses spectral light calculations rather than RGB (so not Cycles). To get Caustics without waiting a lifetime for a render you’ll need a renderer with bidirectional tracing or one of it’s cousins (MLT, EDPT, etc.). Also not Cycles. Check out Luxrender or Octane.

Ok, thanks. I have Octane for Blender and will see what it can do.

I didn’t know about MLT, but it looks great…

will check out Lux to see how to use it.:wink:

Luxrender is awesome, and has lots of great features, such as adjustments for individual light groups. But I haven’t ever figured out how to render dispersion with GPU. That means for me at least the time to render similar output with my pair of GPUs is actually on par with lux, plus I get lots of artistic control over the whole scene (gem brilliance, textures, instant lighting feedback, etc.) in cycles.

For example here is a frame rendered in blender 2.69 cycles for 30 min:

And here is a similar attempt in luxrender 1.3.1 (also 30 min):

I think the cycles material exaggerates the dispersion a bit too much and looks more like moissanite, but it could be a lot worse. The difference in brightness is mostly due to me being too lazy to figure out how to rotate the environment light in lux (the white floor is behind us instead of a dark studio).

Here’s a short video using this material in cycles. 60 frames at 30 minutes per frame, additional 84 frames interpolated with slomoVideo by granjow (which combined with the video encoding, smooths out the noise a little).

To get gems with other colors you could experiment with the colors of each glass shader node. Or you could add a mix shader with your desired color. You probably will want to set the IOR values closer together and lower overall for most other gems.