I am very new to Blender and I'm trying to use the BGE to simulate some interactive optics experiments. I need to model a lens which is made up of a definite refractive index and of a desired focal length. The prism too should be of a definite refractive index. I am able to model the lens and the prism in Cycles Render but to make the experiment interactive I need to model them in the BGE, but I do not find the same material options in the Blender Game Materials panel. How do I proceed ahead?

As of now I do not need the dispersion, I only need the refraction to form images (virtual images or real images) on a screen.

  • $\begingroup$ Related: blender.stackexchange.com/q/6283/2843 $\endgroup$ – Samoth May 24 '16 at 10:53
  • $\begingroup$ Possible duplicate of Light spectrum dispersion effect in Blender? $\endgroup$ – Samoth May 24 '16 at 10:53
  • $\begingroup$ @Samoth This question is about the game engine and that question is about Cycles, so not related in my opinion. $\endgroup$ – Ray Mairlot May 24 '16 at 12:59
  • $\begingroup$ @RayMairlot: I'd agree to say that it's no exact duplicate, but not calling it related is fallen off the horse on the other side... he's asking about dispersion and the other question is exactly about that, right? Let's call it related: blender.stackexchange.com/q/1602/2843 $\endgroup$ – Samoth May 24 '16 at 13:07
  • $\begingroup$ @Samoth I meant 'related' as in not related to the duplicate. Slightly poor wording on my part. $\endgroup$ – Ray Mairlot May 24 '16 at 13:09

Game engines are vastly different to rendering engines. Rendering engines are optimized for accuracy, game engines for speed. Caustics (refraction) is something that is incredibly computationally expensive. It's only in the last decade that it is possible to do it on a home computer, and even then it is slow.

Do my knowledge, not a single commercially or freely available game engine supports real-time caustics accurate enough to be used as a demonstration. Rendering out preset movies and using buttons to switch between them can be done really easily....

That said, with some creative coding, there is no reason it can't be faked really well, but you'd have to be really heavily into your math for that.

|improve this answer|||||

Your Answer

