2
$\begingroup$

This question already has an answer here:

I’m trying to render jewelry in rose gold. Just wondering if anyone knows a way or a color hex to achieve a look similar to the below image. Thank you for your time!enter image description here

$\endgroup$

marked as duplicate by m.ardito, Scott Milner, Ray Mairlot, Duarte Farrajota Ramos, aliasguru Jan 8 at 13:49

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

4
$\begingroup$

Basing creative decisions on scientific measurements

It is only possible to base your creative process and guesses on some scientific measurements while the results are never 'physically accurate' or 'correct' in CG. They should not be. Nobody actually needs this accuracy. It is OK to aim for a nice image that would be aesthetically pleasing and not to pursue physical accuracy that is most often impossible to achieve. Think of it this way - do you know the wavelengths of the primary colors of the monitor you are going to view the images on? I didn't think so. So let's not pretend anything about the images we create is even close to physically accurate.

If you wanted to use the data at https://refractiveindex.info to approximate the reflectance for the shader, you would need to know what the primary RGB color wavelengths you need are. I don't know what they should be, so let's just think that this random calculator that I just Googled gives us somewhat correct goals of what the ideal primary wavelengths for sRGB should be. It says red is around 610nm, green is around 550nm and blue is somewhere around 460nm. We can get the graphs for similar wavelengths at refractiveindex.info if we input the lengths here(in micrometers instead of nanometers though):

enter image description here

Only then you can take three different graphs like this one for all the primary wavelengths and replicate them using RGB Curves.

enter image description here

You should also ignore green and red lines representing different polarization, because in CG, we do not care about polarization at all. So only green lines for wavelengths representing red, green and blue colors.

But wait, what now? What should control our RGB Curves node? - you may ask. And that would be a wonderful question. Whatever it is - it is clear that it certainly is not some UV coordinates! We have the graphs from refractiveindex.info for Reflectance and Angle of Incidence in degrees that go from 0° to 90° linearly. Nothing in Blender actually gives us that.

Layer Weight and Fresnel nodes do not give us brightness depending on the angle of incidence from 0° to 90° linearly.

We have to actually make it by taking the arc-sine of the dot product of incoming and normal vectors and divide it by half of pi and then inverting it by subtracting it from 1:

enter image description here

(Sorry for added confusion - I use Bump Map node to get the normal vector because I want a way to plug normal or bump maps to this whole thing later.) Obviously it is better to have this as a node group.

So now let's just assume there is some micro-roughness effect visible because of the way the gold is polished(no reason other than that it looks nice on metals) and add roughness variation depending on the facing angle of the surface and we have something similar to what gold might look. Obviously it needs to be lit nicely as well and have some environment to reflect:

enter image description here

enter image description here

To make rose gold you would mix that with something like 25% of copper.

Is this process worth it?

I am not so sure it is for every situation. It is time consuming and it is also questionable if the extra effort is better noticeable than just working with some good reference photos. If you googled 'Gold' and compared it to my render you would find all kinds of different colors. That is normal and to be expected. They are all lit differently in different environments therefore reflecting different things, taken with different cameras and also all post processed differently. I think it makes a lot of sense to better invest more time into presentation, the models and especially the lighting and composition of the renders to make an impact on the viewer. These things can ruin all the effort of inputting loads of measured numerical values if not done correctly. It is not about physics, it is about visual communication. And this is just roughly based on some measurements. The rendering process is not physically accurate by any measure. I do however think it can be a strong base on which one could build an image if one has the time to play with this.

$\endgroup$
  • 1
    $\begingroup$ Looks like you are trying to replicate with curves what the conductive fresnel does using correct math: blender.stackexchange.com/questions/71651/custom-fresnel-curve. An argument for this might be some extra artistic control using the curves, but I find the ordinary pbr metal setup with edge tint much better for user comfort when going the artistic way. Using Filmic color management has huge impact on the look of metal, without it there is no much sense in doing it, imho should be part of answer. $\endgroup$ – Jaroslav Jerryno Novotny Dec 31 '18 at 21:02
  • $\begingroup$ I would say that the curves remove one inaccurate bit - they can be based on measurements instead of mathematical approximations of the curves. That would make sense if I could honestly recommend this method. I cannot. Filmic transform is one of the artistic choices(I personally really like it), but the end result could be color graded in many different ways - this is the reason I would recommend placing more value on good reference photographs and the idea of what visual style is wanted than on the physical accuracy. $\endgroup$ – Martin Z Dec 31 '18 at 21:12
  • $\begingroup$ I agree with using the references and grading. But that math is the math that generates those curves exactly, not an approximation. I'd say fiddling with the curves is approximation. The good thing about Filmic is that it does not clip scene referred values and does desaturate highlights correctly, it's more than grading. Imho it is quite essential for metals, if you don't use Filmic you can grade how ever you want and you won't get what you probably see in the reference. $\endgroup$ – Jaroslav Jerryno Novotny Dec 31 '18 at 21:22
  • $\begingroup$ Thought that the curves are calculated using some variation of Schlick's approximation. There are actual measured data sets on refractiveindex.info, isn't that what you can download in CSV tables?.. I might be misunderstanding what values are calculated, and what are measured - I assumed they calculate n and k values from actual intensity measurements with lasers. I don't know. It seems too deep. Color management and reproduction techniques mess everything up way earlier for this to matter. Yes, Filmic CM only allows to get the needed output for grading, but you can use whatever grading then. $\endgroup$ – Martin Z Dec 31 '18 at 21:51
  • 1
    $\begingroup$ The curve's are not calculated using Schlick's formula (that's for dielectrics only), but the Fresnel formulas. On refractiveindex they measure the reflectance values for all angles to get the curves and from them they obtain the N and K values. The N and K when put into the Fresnel formulas generate exactly those curves, it's like if you would measure the positions of a train for every time interval and then determine the acceleration and other numbers for the equations that describe that motion precisely. $\endgroup$ – Jaroslav Jerryno Novotny Dec 31 '18 at 22:42

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