Aug 31, 2010

Eye rendering - first try

I was in holidays near Deauville (France) last week, that's why I remains quiet.

I have started working on an eye rendering method inspired by the one presented in this paper. As you can see on the next screen-shots, I have some interesting first results. The characteristics of the eye is taken from biologists reports papers. The iris is rendering using the subsurface texture mapping method simulating single scattering in participating medium (in this case, the iris). The light refraction at the cornea is taken into account in a different way than what is done in the eye paper (their refraction function). The sclera (the white part) is currently not shaded.

I hope you like it!

Blue iris rendering with refraction.
(click on the picture for higher resolution)

Green and Brown eyes.

I have set-up the scattering/extinction parameters rapidly so you may not found the color of this eyes really "realistic"! I still have to improve the current algorithm and I have some interesting idea for that.


  1. This falsh/pixel bender eye real time rendering might interest you :

  2. Thank you very much! These parameters are interesting.

    But there is no light scattering in the iris so it looks poor in the end (but it's ok, since this is flash).

  3. Hi, excellent work by the way. I am soon going to try and implement and then add my own features to this paper myself, although I think I may struggle! What language did you program this in by the way? I am not sure what I should do mine in, probably CG

  4. Hi,
    Thank you. I am using C++/OpenGL/GLSL. Do not hesitate to ask if you want some help.

  5. Thankyou I will bear it in mind!

  6. Hi Sebh, I am sorry to bother you but if you've got 5 mins I would love to ask you a couple of questions about the Subsurface Texture Mapping technique, I feel I have it 90% coded but am not getting the correct results. Maybe I could email you or something? My email is dawilson[at] I am wondering a couple of specific things like what I should actually be doing with the final vector the algorithm produces, do you just replace the light vector with it and then do standard light calculations? Thanks! :D

  7. Sure, I'll send you a mail.