@NionsChannel
…continued
I'll try a comparison of max vs avg, both with 6 samples, for comparison.
The only reason why I think that the purple sample is important as well, is because it does have the highest IoR while red has the lowest one, relative to usual materials…
So the difference in the two red channels will be the biggest and thus hardly neglectable. More than six samples shouldn't be too necessary though.
@NionsChannel
I also thought about it some more…
It would be overkill of freedom (not too much slower in case of calculation, though), but you'd actually need to multiply each channel seperately by some factor that determins the sensitivity to a certain frequency range for the given colour-channel. While the red channel does react to purple light, it doesn't do so as much as it does for red light.
Maybe, changing the colour of the sample is enough for that, though…
continued…
@Kram1032 I just thought about it once more: given enough samples, your approach is probably closer to realism. The thing is: lets say you get the value 1 for a color sample. If you make an average calculation, you only see the full occurence of that color, if the other samples for the color channel(s) also have the value 1. On the other hand: if you take the maximum and the samples are close to each other, you only see mixed colors and loose elementary colors.
@Kram1032 I thought about the additive approach as well, however I'm still not sure which one is more realistic. It'd be glad to see some of your results.
@NionsChannel
thanks for the help π That worked.
I did a slightly different version of yours, though:
First, I used six samples, adding one in the purple range, which you missed. Second, I assumed it to be more realistic if you add the different values together, rather than choosing the bigger one, so I did some adding and then renormalization (three samples per colour -> multiply by constant .333 grey) instead.
@NionsChannel Ah, thanks, that's probably it π
I looked at that and it's deactivated by default. I'll immediatedely try it with set to Transparency Checked, Option=Raytraced π
man, you're true God of Blender, RESPECT! π Thank you for such an outstanding, advanced tut, this is REALLY KICKING ASS AWESOME! Sorry for caps, but even it don't express my feelings enough. GREAT!
You are the hackiest Blender hacker I've seen before, Nion! π
You ought to make a proposal to implement this tricky dispersion effect to BI as the material's feature. I'm not sure the same possible about caustics (which is really great btw and can be a real exit for every PC without a powerful GPU). Just the matter of render times and setups.
Hmmm, this looks awesome.
But when I try replicating this effect, my Nodes don't use the transparency at all :-/
Any ideas what could go wrong?
(The transparency setting is greyed out. I set all my samples to RayTraced transparency. The samples each would render fine, but when combining via nodes, no transparency is used. Specular dispersion on solids looks nice too, but :-/)
A fantastic tutorial that my highschool physics teacher would have approved of. Thanks for posting something so insightful, Nion. Exactly the sort of thing we need more of.
You're ridiculously talented. I've shown friends a lot of your effects reels and clips, and everyone has been like "DAYUM! You should get HIM to help make your movie!" (My ex used to go to extremes to get me away from the computer and into her pants, and wasn't keen on explanations about the workload of other animators…)
30 responses to “Blender Internal Dispersion and Caustics – Explained”
OMG THANK YOU THANK YOU THANK YOU. I've been trying to figure out how to do a normal ramp in the nodes for so long!
Thanks for the idea on caustics!! That is great! I will recycle the principle for another effect!
Holy shit! :O You did an awesome job there π Thank you for this video.
@NionsChannel
…continued
I'll try a comparison of max vs avg, both with 6 samples, for comparison.
The only reason why I think that the purple sample is important as well, is because it does have the highest IoR while red has the lowest one, relative to usual materials…
So the difference in the two red channels will be the biggest and thus hardly neglectable. More than six samples shouldn't be too necessary though.
@NionsChannel
I also thought about it some more…
It would be overkill of freedom (not too much slower in case of calculation, though), but you'd actually need to multiply each channel seperately by some factor that determins the sensitivity to a certain frequency range for the given colour-channel. While the red channel does react to purple light, it doesn't do so as much as it does for red light.
Maybe, changing the colour of the sample is enough for that, though…
continued…
Genius!
@Kram1032 I just thought about it once more: given enough samples, your approach is probably closer to realism. The thing is: lets say you get the value 1 for a color sample. If you make an average calculation, you only see the full occurence of that color, if the other samples for the color channel(s) also have the value 1. On the other hand: if you take the maximum and the samples are close to each other, you only see mixed colors and loose elementary colors.
@Kram1032 I thought about the additive approach as well, however I'm still not sure which one is more realistic. It'd be glad to see some of your results.
@NionsChannel
thanks for the help π That worked.
I did a slightly different version of yours, though:
First, I used six samples, adding one in the purple range, which you missed. Second, I assumed it to be more realistic if you add the different values together, rather than choosing the bigger one, so I did some adding and then renormalization (three samples per colour -> multiply by constant .333 grey) instead.
@NionsChannel Ah, thanks, that's probably it π
I looked at that and it's deactivated by default. I'll immediatedely try it with set to Transparency Checked, Option=Raytraced π
And here I was wondering what you were up to. Awesome video!
awesome video!
Amazing. I've been using the Material and Texture nodes a lot in the past month. It's an incredibly useful tool that most people overlook.
Blender, sorry XD
Brilliant! Nion, what inspired you to use blendor, or better yet, animate. I have never seen such passion and to be honest, i could use a little. ^_^
Someone should write a script to do caustics in that manner.
man, you're true God of Blender, RESPECT! π Thank you for such an outstanding, advanced tut, this is REALLY KICKING ASS AWESOME! Sorry for caps, but even it don't express my feelings enough. GREAT!
You are the hackiest Blender hacker I've seen before, Nion! π
You ought to make a proposal to implement this tricky dispersion effect to BI as the material's feature. I'm not sure the same possible about caustics (which is really great btw and can be a real exit for every PC without a powerful GPU). Just the matter of render times and setups.
@Kram1032 There should be a "Render Pipeline Options" section in the material settings. Have you activated transparency there?
Hmmm, this looks awesome.
But when I try replicating this effect, my Nodes don't use the transparency at all :-/
Any ideas what could go wrong?
(The transparency setting is greyed out. I set all my samples to RayTraced transparency. The samples each would render fine, but when combining via nodes, no transparency is used. Specular dispersion on solids looks nice too, but :-/)
Wow very informative and full of good ideas!
Yes, pretty complex and very interesting. Thanks for sharing.
Have I said that your logo is fantastic before? It is really well designed. π
@MartianStories π Well, she WAS a German girl, so…
@MartianStories Thanks a lot for your words!
…and the last sentence really made my day ;D
A fantastic tutorial that my highschool physics teacher would have approved of. Thanks for posting something so insightful, Nion. Exactly the sort of thing we need more of.
You're ridiculously talented. I've shown friends a lot of your effects reels and clips, and everyone has been like "DAYUM! You should get HIM to help make your movie!" (My ex used to go to extremes to get me away from the computer and into her pants, and wasn't keen on explanations about the workload of other animators…)
@jookur LMAO
@xLDH1109x A first post? I didn't know I was that popular^^
second
first