How to make a crystal material in cycles with the node editor? Much like this - crystal material

Not exactly like the image because I'm trying to make an object with a light that is emitting from the center of the object lighting it towards the surface of the object as the light fades. And the object to be crystal like looking (the back faces to be visible too, like a real crystal). The "layer weight" node does something like that, but it shows the materials according to the camera angles and I don't want that. How can I achieve that?


Using volume rendering, you can emit light from inside a glass object. If you use a procedural gradient texture to control the strength, you get a nice effect:

enter image description here

enter image description here

If you bump up the IOR, it helps make it look more like a crystal:

enter image description here

Also see Controlling volume density

Original answer:

You can make a glass object emit light on other objects without affecting the appearance of the object to the camera with a light path node:

enter image description here

If the incoming ray is a

  • Camera ray

  • Transmission ray

  • Glossy Ray

Then the glass shader is used. If it's not any of the above, then the emission shader is used. If the ray is hitting the back of a face, it always uses the glass shader.

If you want you could also add some emission which is visible to the camera, to make it appear more glowy:

enter image description here

If you want light to be emitted from inside the object, you can use the new volumetrics features:

enter image description here

| improve this answer | |
  • $\begingroup$ @Vladimir Not sure why that would be.. Could you upload a .blend or something? $\endgroup$ – gandalf3 Jul 28 '14 at 20:24
  • $\begingroup$ @Vladimir I'm not sure I know what you want.. The layer weight node gives a value between 1 and 0 based on the angle of the incoming ray and the face. The second example uses this to emit more light from faces at grazing angles, but I used a fresnel node instead of a layer weight node. You could use the fresnel socket of the layer weight node to get the exact same result, only the input units are different.. To control the amount of emitted light regardless of angle you can just change the strength of the emission node. $\endgroup$ – gandalf3 Jul 28 '14 at 20:38
  • $\begingroup$ @Vladimir No, only in the last example is light emitted from inside the object. As far as I can see your question doesn't mention anything about emitting light from inside an object, so I didn't take that into account for the first few examples.. $\endgroup$ – gandalf3 Jul 28 '14 at 21:21
  • $\begingroup$ @Vladimir Does the third example work for you? If not, Is it possible you could make a mockup/example/reference image of exactly how you want it to look? $\endgroup$ – gandalf3 Jul 28 '14 at 21:38
  • 1
    $\begingroup$ Let us continue this discussion in chat. $\endgroup$ – gandalf3 Jul 28 '14 at 22:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.