Did you know you can quickly and easily make a stained glass window with a graphic and a few material nodes in Blender?
In this Blender tutorial I will show you how to make a stained glass window with a graphic and a procedural glass material in Blender.
Frame (SVG)
I’ve already made a graphic using Illustrator but I wanted to point out a few things in case you want to make your own graphic
I used a reference from Maxpixel.Net to make this graphic
I made thick parts of the frame using the standard tools
Since the frame is made out of curves, I needed to expand the appearance so I’m actually exporting the strokes – otherwise, I would just see very thin curves in Blender – this option (or something similar to it) is available in any vector program
Since this needs to be transparent, I made sure I used a transparent background when exported the graphic
I exported the frame as an SVG
Frame
In Blender I will be using the import SVG add-on
In top view – I import the SVG file
I select each of the curves that were imported, right-click, and convert the curves to a mesh
After the curves are converted to meshes, I select everything and use CTRL + J to join the meshes
I right-click and set the origin to the center of the mass (volume)
I then use SHIFT + S and choose “selection to cursor” to center the frame
I then rotate the frame around the X-Axis 90-degrees
Using CTRL + A I apply the scale and rotation of the frame
I then add a solidify modifier to give the frame some thickness
I then apply the modifier
I right-click and choose “shade smooth” to smooth out the rough look of the frame
Under the object data properties tab, under the normals panel, I turn on auto smooth to correct any shading issues
In edit mode, I select the frame and under the mesh menu, I go to the clean up menu and choose “limited dissolve” – this will simplify the geometry
Frame Material
Now that I have the frame completed it is time to add a simple material
I will be making a concrete material since this is a rosette window that is common to the outer walls of churches
I split the viewport and open the shader editor
I also go into material preview mode so I can see the material
Under the material properties tab, I delete any material already applied to the object
I add a new material to the frame
I change the base color to a gray [#B5B4B1]
I then add a Musgrave texture and connect it to the principled shader
I then change the options on the Musgrave texture to get a look that I like
Using the node wrangler add-on, I select the Musgrave texture and use CTRL + T to add a mapping and texture coordinate node
I select the object in the texture coordinate node
I add a Voronoi texture node and connect the mapping node to the Voronoi texture
I add a mix RGB node and connect both texture nodes
I change the scale of the Voronoi texture
I add a color ramp between the mix RGB and principled shader – moving the white color stop to get my desired look
I change the white color stop to a gray [#B5B4B1]
I change the factor on the mix RGB to get the right look
I then add a bump node – connecting the mix RGB to the height input
I then connect the bump node to the normal of the principled shader
I then change the strength of the bump node to get my desired look [0.200]
Glass
For the stained glass, I add a cylinder and rotate it around the X-Axis 90-degrees
I then scale it down so it fits within the frame
I apply the scale and rotation to the glass object
I add a Boolean modifier to the glass object using the frame as the object
If you have holes left behind like I do, open the solver options panel and activate “self intersection”
I apply the modifier
If I hide the frame and select the glass – in edit mode, I can now see that each of the intersections of the glass are now individual objects
I select the glass and under the mesh menu, I go to the clean up menu and choose “limited dissolve”
Glass Material
To make the stained glass look old, I will be using a wavy glass technique for the base material
I add a subdivision surface modifier – using the simple option
I apply the modifier and add a new material
Under the material properties tab, in the settings panel, I change the blend mode to alpha hashed and activate screen space refraction
In the render properties tab, I activate screen space reflections and refraction
I delete the principled shader and add a glass shader
I add a Hue Saturation value node and connect it to the glass shader
I can now change the color of the glass
To add some wavy glass texture, I add a Musgrave texture node and a displacement node – connecting them to the displacement input of the output node
I can then change the options on both nodes to get the look I like
I can copy these nodes to a new material and change the color
In edit mode, I can select the faces where I want to apply this new material
I then select the material in the materials property tab and assign the new material
If I want a piece of glass to not have a specific color, I can change the hue saturation color to white