Is it possible to simulate an Optical Fiber in cycles?

E.g. like these:

I tried to simulate this with a glass shader with an IOR of 1.62, (a value gotten from wikipedia) however not much light seems to come out the end of the "fiber". After 260 samples:

enter image description here

Is this possible?

Image from Wikipedia


if you just want to have the looks of fiber optics, faking it is a much easier approach.

But this is definitely an interesting experiment for Cycles. It was surprisingly easy to achieve the result:

enter image description here

A few things I learned:

  • the fiber needs to be a volume. Make sure the two ends are closed.
  • Just like a real FO, too much kink in the fiber will kill the internal reflection.

  • I tried to model the core(high IOR) and the cladding(low IOR) as separate geometry, that didn't seem to work too well. I just ended up using only the core (and basically using air to model the cladding material)

  • Render with lots of bounces. High sample value helps make the image smoother, but if the bounce value is too low, no light will come out of the fiber.

Blend File

  • $\begingroup$ Beautiful! I had forgotten the bounces, thanks :) $\endgroup$ – gandalf3 Nov 20 '13 at 4:22
  • $\begingroup$ I had fun making this. Thanks for the inspiration. $\endgroup$ – Mike Pan Nov 20 '13 at 5:13
  • $\begingroup$ I got using both the core and the cladding to work using this technique. Here is a render with just the core, and a render with both cladding and core. $\endgroup$ – gandalf3 Nov 20 '13 at 23:11
  • $\begingroup$ Your blend file is not existed. Can you share it again? $\endgroup$ – SamSol Aug 16 '17 at 17:10

I would fake it instead of trying to simulate what actually happens.

So to match the reference image you posted, I would use a mix of a translucent/transparent shader and a rough glossy shader (mix with fresnel maybe) and make the ends of the fibres emissive. And you would need to do some post work in the compositor to make the ends glow like in the reference image.

  • $\begingroup$ Thanks for your answer :) Doubtless this is the proper way to go about it, but I want to try and actually simulate it, as a test. $\endgroup$ – gandalf3 Nov 19 '13 at 22:42
  • $\begingroup$ Brave, brave, man :P Cycles should be able to do it. I've seen some renders splitting white light into the rainbow colors before, so I guess cycles is physically accurate 'enough'. No idea how you would do it though :P $\endgroup$ – JamesNZ Nov 19 '13 at 22:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.