Realistic eye texture painting


In this tutorial you will learn to create a realistic eye texture which can be used on your 3D models or as a general guide while painting realistic characters in 2D. I am using the latest version of Photoshop CC, but you can use any version of Photoshop. I am also using a Wacom tablet although this is not essential and you should be able to yield similar results without the use of a tablet.

Final Result

Getting started

Create a new canvas – I am working at 1000 × 1000 pixels. Start by creating two circular shapes on separate layers, I use the Lasso tool for this. One will be the iris, the other the pupil.


Next, duplicate your iris layer so that you have two copies of this. On one layer use the Smudge tool to create some variation in the initial shape – always pull from the center outwards and try to imagine that you are doing so from the center point of the iris, so that the smudges resemble the rays of sunlight a little bit. Leave the other layer as is, we will come back to this.


Create another circle and fill it with white. Apply a noise Filter to this layer and use the settings indicated – Amount: Roughly 130, Uniform, Monochromatic: On

Take note of where filters are accessed from as I will be referring to them several times during this tutorial.

Radial Blur

Again under Filters, select Blur > Radial Blur. As shown, here I set the Blur amount to 100, with Blur method set to Zoom and quality to best.


The lines created by the blur are all very uniform but eyes tend to have many interesting shapes in them. We can create some irregularities and interesting lines by selecting Liquify from the Filter drop-down. Liquify will allow you to distort the layer selected and I just use the default settings here. I am creating some warped lines using a very, very small brush. Once you’re happy with the result, hit okay.

Blend Modes and Masks

In my Layer Blend Modes I set my, now liquified, lines to Vivid Light with an Opacity of 51%.

Take note of where Blend Modes are, highlighted by the pink box, as I will be referring to them several times in this tutorial.

Next, use the original shape of the Iris to apply a Mask to this layer, indicated in blue at the bottom of the image. You can do this by holding down the Control Key on your keyboard and clicking into the Layer thumbnail in Layers. Once you have done that, simply click the Mask button and a Mask will be applied using the shape of the Layer Contents you had selected. Alternatively you can simply create a circle with the Marquee tool and apply the mask using that. Soften the mask in whichever way you prefer to give the lines a soft fall off. I have softened the Mask by selecting the Mask contents and applying a Gaussian Blur Filter from Filter > Blur > Gaussian Blur.

Adding some squiggly lines

Duplicate the smudged pupil layer and adjust the color to whatever you would like to use as the secondary color in your eye. The easiest way to do this is by hitting Control U on your keyboard to open Hue/Saturation adjustments. Make sure you have Colorize selected in this popup or your layer will stay monochrome. From this you can paint some rough squiggly lines emanating from the center. These should be a good mix of big and small! Pop the layer behind your smudged pupil layer when done.

Repeat process

Duplicate the squiggly line layer you just created, alter the color again, maybe to something brighter this time, and rotate them for added variation.

Initial eye glint

Create a shape for your eye glint, I am using a plain white rectangle. Once I’ve made the shape I decide to Warp it to add a slight curve which gives the illusion of a curved surface. You can access the Transform tool by hitting Control T on your keyboard and then right-clicking anywhere for additional options such as Warp.

Add some glow

Double-click on your new Eye Glint Layer to access the Layer Style properties. Here I add a simple Outer Glow and drop shadow to lift my eye glint and create an illusion of depth.

More natural

Next I erase some lines into the eye glint to make it feel more like a natural reflection.

Adding a third color

Once again, duplicate one of the layers that include your squiggly lines. Scale this so that it’s bigger than the other squiggly line layers and apply a new color to it using the same method as before (Control U). This will be the third color in your iris.

Set to Hard Light

Set the Layer Blend Mode of this layer to Hard Light

Adding blur

Next, apply a Gaussian Blur filter to this layer (Filter > Blur > Gaussian Blur.) This will soften the lines nicely and let them blend with the rest of the eye.

I also knock the color back by decreasing the saturation a little bit as it felt too overwhelming as it was. You will have to play with the colors and see what works best for you.

Drop shadows

Lastly, apply a drop shadow to this layer for some added depth. Once again, double-click on Layer to access the Layer Style properties. I have set both the Distance and Spread to 0 and have set the Size to 8.

Some quick house keeping

As we start adding more layers to this I’d like to make sure that we don’t have to worry about effects and layers bleeding out over the iris area. The easiest way to do this is by grouping all elements apart from the eye glint and pupil together, and applying a circular mask the group.

Iris layer

Select your iris layer and apply a drop shadow to this; this will soften the edges and give it some added depth.

Adding variation with Clouds

To add a bit of variation within the eye we’re going to apply a Clouds Filter. Create a new layer and make sure that you have Black selected as your foreground color and White as your background color, as highlighted in Pink. Next select Filter > Render > Clouds.

Further variation

Set your new Clouds Layer to Overlay at 57% in your Layer Blend Mode. This should add some nice blotchy effects over the iris.

Adding depth

Create a darkened ring on your Iris as shown and apply a Gaussian Blur to this. You may need to do this a few times before you find the right blur amount for this layer. This ring is going to add some additional depth to the iris. I keep this at a Normal Blend mode but adjust the opacity of the layer until it feels right.

More squiggly lines

Next I paint in some rough squiggly lines along the outer edge of the iris using our third color, in this case Orange.

Bounced light

I duplicate the Clouds layer we created earlier, set it to Multiply in my Layer Blend Modes with an Opacity of 47% and apply a Layer Mask to this. On this Mask, I paint black in the areas where I want some light shining through the eye. Remember, the light is coming from our eye glint, moving through the eyeball and hitting the bottom area of the iris. This means that the darkest part of the iris is actually going to be right behind the eye glint. Doing this will add some depth to the eye.


Next I use my Third color (Orange) to paint some squiggly rings. I set the Layer Blend Mode of this layer to Overlay with an Opacity of 27%.

Dark spots

I want to add in some dark spots into the eye, I do this by roughly painting all the areas I want dark, as indicated on the Left and then setting this layer’s Layer Blend Mode to Overlay with an Opacity of 45%.

Blending the pupils

As mentioned earlier, we had separated our pupil and smudged pupil layers out from one another. At this point, I would like to add some color to the smudged pupil layer so that it will blend better with the rest of the iris. I do this by selecting Control U on my keyboard to open Hue/Saturation adjustments. As before, make sure you have Colorize selected in this popup or your layer will stay monochrome. I have chosen to colorize my smudged pupil layer to dark brown and have blurred the original pupil using Filter > Blur > Gaussian Blur to blend it with the brown.


Create a copy of all existing layers apart from the pupil and eye glint and Merge these together. Grayscale this by hitting Control Shift U or by selecting Control U on your keyboard to open Hue/Saturation adjustments where you can manually tweak the saturation. Next apply an Emboss Filter from Filter > Stylize > Emboss and apply the settings shown. I set the Layer Blend Mode of this layer to Overlay with an Opacity of 70%.

Believable reflections

Next we can add in some depth and variation to the eye glints to make them feel more like they’re reflecting the real world. I’ve chosen to create a nice window reflection with a bit of blue to hint at a sky. Once creating the basic shape I erase some random texture into the shape to create some interest.

Reflections II

I apply another Gaussian blur to this eye glint by selecting the Gaussian Blur Filter from Filter > Blur > Gaussian Blur.

A last bit of light

I’m adding in a last bit of light into the iris by painting in some light yellow and setting the Layer Blend Mode of this layer to Overlay with an Opacity of 43%. It’s subtle, but this final touch of light gives the eye so much added depth which is suddenly very noticeable when you take it away.

Working on the whites

As eyeballs tend not to be pure white, I select a more neutral color for the background. I am also adding in a small strip of a lighter color at the bottom left, right next to the iris. If you have a look at reference images you will see this is very common in eyes where the light shines through the eye, and will make your eye seem more realistic.

Red everywhere!

All eyeballs have blood vessels! You will find that when painting eyeball textures you will need to add in what seems like quite a drastic amount of red, but because you only ever see a tiny bit of the whites of the eye, this will actually show up as very subtle. I do this by painting in an orangey red in the corners and then adding in some squiggles of various widths going from the outside in towards the iris.

Once I have a good amount of squiggles, I duplicate the layer, rotate it and add a Gaussian Blur Filter. You can play with the opacity here to get the effect that is right for you. You may find that if you want more blood vessels in your eye a good technique could be to make some of them redder than others, and to play with the opacity of various blood vessels on different layers.