In this work, we provide several plugins for pbrt such that we can render a human eye
with layered iris and reflective cornea.
Moreover, we adopt the idea of fractal algorithm to generate blood vessel on the white part of the eye
at runtime rather than stiking a pre-drawn texture.
Our main reference paper is [1]
by Lefohn, et. al. The other reference result is from "2004 Standford's Rendering Competition."
Click here
for more information. However, instead of rendering eye with covering skin, we concentrate ourselves on
generating whole eyeball on which has the blood vessel and reflected image.
Iris:
According to the ocularist's approach proposed by
[1], we construct a new material named "iris", which can
take arbitary number of texture layers as input, and an incident ray on it will return a color computed with
R = (1 - £\) * T + £\ * C * L.
In this model, £\ is the opacity value read from the intersection point on the opacity map, T is the color
return from the inner layers, C is the paint color of current layer, and L is the result from light source.
Compared to simply drawing iris image by some image edit software as a whole, this method considers iris to be
several stacked layers and thus provides us more flexibility by adjusting their orders and opacities.
Though it is not as easy as we thought to create a proper image set. We used photoshop to create the image sets for iris layers.
Cornea:
The cornea, as the outermost part of human eye, has perfect transparent characteristic while meantaining the
ability to display reflcted image. To achieve this aquirement, we combine the merit of glass and shinymetal
materials into a new material "cornea", which provides satisfiable transmission and reflection features.
Since transparent object would not result in shadow, we have to stop the shadow ray by some tricks. In the end,
we choose the same technique appeared in the reference webpage. That is, create a new geometry which always
return false for shadow ray testing. Addtionally, the white part of eye is also covered by this material but
with higher reflction index.
Blood Vessel:
By carefully observing our eyes, we conclude that the vessels mostly growing back of the eye to the iris
region. In this part of work, we extend the pbrt with an new texture plugin called "fractalDLA", which
provide several ways to generate DLA texture. By coloring it with RED, we get a livly vessel.
Diffusion Limited Aggregation(DLA) is a kind of fractal model which can amazingly represent many life-like
structures. Under this process, particles will wander at random due to Brownian motion and then be attracted
by others forming an aggregation cluster.
Here is our reference.
We argue that, by appropriate setting, this plugin not only can generate vessel-like structue, but also can
simulate mineral deposition, snowflake growth, smoke particles, lightning paths and coral growth.
Following are two example results of our DLA code: first one has line seed on the bottom and the second
has one point seed at the center.
![]() DLA with line seed on the bottom |
![]() DLA with point seed at the conter |
Geometry of Eyeball:
The scale and relative size of our geometry is based on the data given by
[1] as shown below.
Basically, the eye is assembled by two spheres, and the iris is textured on a disk located on
spheres' intersection.
![]() Geometry of a human eye |
Test Scenes:
In the test scenes, there are two area light sources. We put two eyeballs facing each other in one scene; the other scene has one eye facing right to camera.
As the pictures shown below, we can see the reflected image in one eye.
![]() Sample result of the scene - side angle |
![]() Sample result of the scene - front angle |
Rendered Images:
![]() brown(12 layers) eye - side angle |
![]() brown(12 layers) eye - front angle |
![]() blue(7 layers) eye - side angle |
![]() blue(7 layers) eye - front angle |
![]() red eye(12 layers) - side angle |
![]() red eye(12 layers) - front angle |
![]() deepblue eye(4 layers) - front angle |
Referenced Images:
![]() brown eye |
![]() blue eye |
Although this paper provide a quick and practical method to synthesis a vivid iris, there is still a gap between the synthesized iris and real one. Recently, Michael et. al[2] present a biological approach to predict the light transport path in iris. In the future work, it would be a very good dirction to implement the light transport model with subsurface scattering technique to render a more reasonable iris.