I have made a polished granite material with a node setup. Using this photograph as reference, how can I improve this further?

enter image description here enter image description here enter image description here

  • 1
    $\begingroup$ Naresh, I think you'll find some resistance to this kind of question because of the subjective nature of perception. That aside, if you want to make it easy for people to offer answers based on your material why not also include the .blend, that way people who do have time don't need recreate the node tree from scratch using the screenshot. $\endgroup$
    – zeffii
    Commented Nov 3, 2015 at 9:50
  • $\begingroup$ Although not hugely obvious from the reference image, from my own experience of polished granite it often has flecks of high reflectivity across the surface, stemming from small crystals such as quartz from the rocks formation process. You could perhaps achieve this with a voronoi texture affecting a glossy value below the clear gloss coat above? :) $\endgroup$
    – Hexbob6
    Commented Jun 17, 2016 at 12:03

1 Answer 1


Creating a Procedural Polished Granite Material

Guessing you're probably no longer in need of this effect, but thought I'd write a (hopefully) short tutorial in case anyone is interested in creating a Realistic Procedural Polished Granite Material in future.

This is the final setup and material that we'll be creating :D

(3mins49secs @ 750x1000px on CPU) Final Image Final Nodes

1. We'll start off this material by creating the procedural mottled texture that is present in granite stone (and in your reference image).

Firstly, let's create the lighter sections, using this node setup:

Light Brown

The nodes are fairly self explanatory, but we're essentially creating and distorting a noise texture using the slot attached to the Mapping node. We're then using the Color Ramp node to bump up the contrast by just the right amount. Underneath this we are mixing together some colour sampled from the reference using a Mix RGB controlled by another Noise Texture plugged into the Fac input. Finally we'll plug this into the first Color input of another Mix RGB node with the blending mode set to Screen and the bottom value set to white to give us our desired result... phew!

Next up is essentially repeating the last step a couple more times to get the darker shades of the granite, as well as the yellow (?!) ones.

As the nodes are pretty much exactly the same with just a few values changed, we can go ahead and simply press Shift+D to duplicate them, and move them below.

Dark Colour Yellow Colour

Again fairly self explanatory... but briefly, we'll use the Mapping node to essentially create a seed value for the noise, using the Location value to adjust this. The Noise Textures themselves are used to adjust the size of the noise, etc and once again the colours are sampled from the reference images.

The final part of this step is mixing these 3 outputs together. We'll do this by adding 2 more Mix RGB nodes with a Multiply blend mode, and connecting them accordingly. Don't worry about the white background, that will be cut out at the start of the next step :)

Final Mottles

2. In this step we'll be finalising the granite base material. I won't go into details on every little section, but I'll explain the overall concepts.

Final Granite Material Nodes

So the extra Mix RGB > Multiply node is (as promised!) used to cut out that white and add in the creamy brown background colour. This colour is be plugged into a Diffuse BSDF shader, which is mixed with a Glossy BSDF shader using a Mix shader.

Next the crystal fleck mask is created. This is a simply case of using a scaled up Voronoi Texture thrown through a Color Ramp node plugged into the Fac input of the Mix shader. A simple step but it helps add another dimension of realism to the material :)

Finally, a procedural bump map is added to the Normal input of the diffuse and glossy shaders.

3. In this third and final step we'll be adding the final clear-coat (polish) effect to the granite material. Its fairly simple, but is slightly more involved than just mixing a glossy shader in... :)

Clear Coat

The Voronoi setup is used to break up the reflections of the Glossy BSDF shader, adding a little bit of roughness here and there. The Noise bump Texture is used to add another level of surface texture. It's a (very... :P) subtle effect, but one that helps give the polish a slightly more 'painted' look.

Finally, we can add this coat over the Granite material, using another Mix shader controlled by a Layer Weight node. You can use a Fresnel node or other inputs to control this, but I used the Facing output because it looked pretty nice! ;)

Adding the Coat

So there we go! A sweet, fully procedural Polished Granite Material setup! :D

Final Setup and Render

Hope it helps and don't forget to upvote/mark as the right answer if you liked it! :)

  • $\begingroup$ As an extra point, I also put together a tutorial on adding non-procedural realism to materials which might complement this material nicely... :) blender.stackexchange.com/questions/32494/… $\endgroup$
    – Hexbob6
    Commented Jun 18, 2016 at 1:28
  • 1
    $\begingroup$ 2 years later and this still helps people! Great answer! Helped me creating this material: imgur.com/a/ncfYyoQ $\endgroup$
    – S.Visser
    Commented May 25, 2018 at 2:31
  • $\begingroup$ Hey thanks, @S.Visser , glad people are still finding it helpful! $\endgroup$
    – Hexbob6
    Commented May 25, 2018 at 2:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .