I created a camera lens in cycles, and I want it's core lens to display color dispersions: enter image description here enter image description here

However, there are a glass panel that covering the core lens which prevent color dispersions to show up. enter image description here enter image description here

what Can I do? I don't want the glass panel have the color dispersion but I need to see the color dispersion from the inside.

by the way, why the light reflections shows in triangle in a round surface?? enter image description here

here is my blender file: https://drive.google.com/file/d/1vsgvzQEEytQ2biYIJYbLcj2zZUfLeX0b/view?usp=sharing


1 Answer 1


First of all, for the glass panel covering the core lens, the material setup makes no sense. With the Mix Shader's Fac set to 1, only the Glass BSDF will contribute to the output, so you can directly connect it and delete the Mix Shader and Light Path nodes.

With the material for the core lens, the Light Path node creates the problem: by using the Transmission Depth information as a mix factor, you limit the dispersion glass to be only visible with a transmission depth less than 1, which means only when viewed directly. When you have a glass panel above it (with a front and back face), you have a transmission depth of 2.

So the solution is to do something similar like before: delete the Mix Shader and the Light Path and only use the result of the added red, green and blue glass for the Material Output (this is in Blender 4.0, don't know your version but for me this looks better than in 3.6.5) - of course it does not look exactly like without the glass panel, because the refraction and absorption of that glass has an influence on the appearance too, while at the same time the dispersion now influences the reflections inside the core lens and of the red lens as well:

dispersion lens

For the shading problem: you have messed up geometry there. The ring consist of only two n-gons, but on the upper right there are some orphaned edges connecting vertices without faces, which remain even after deleting the two ring faces:

orphaned edges

I would suggest you delete the faces and the orphaned edges, then select the two edge loops around the gap. With the Loop Tools addon enabled you now can simply right-click and choose Loop Tools > Bridge from the context menu to create new clean topology:

bridge edge loops

Afterwards the shading issues are gone:

new shading

  • $\begingroup$ Thanks for your kind help! I've learned alot! $\endgroup$
    – JiuyeAyan
    Nov 30, 2023 at 1:51
  • $\begingroup$ Oh here is one thing, I feel like the color is too complex the core lens has, if I only want it to reflect green color when lights hit on it, what can I do? I don't want the whole core lens turnning to green, Only the reflected spot, I tried alot and searched on the internet, I still can't find the solution $\endgroup$
    – JiuyeAyan
    Nov 30, 2023 at 5:21

You must log in to answer this question.

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