I can't manage to produce a metallic looking sphere despite trying many things. I have the basics working, i.e shadows, refraction etc. but I'm not sure what combination of these will allow me to produce a metallic surface. I know that it should be reflective and retain it's color but how do I go about accomplishing that? This is my spec and diffuse calc: specular code = vec(1,1,1) * pow((std::max(0.f, dot(light, reflection))), spec)//white specular highlights

diffuse code = vec diffuse = col*std::max(0.f, dot(normal, light));//col = object col

I test if the object that is hit is reflective and calculate the reflection ray, but how do I make it look metallic after producing the reflective image on the sphere?

  • $\begingroup$ Look up Cook-Torrance. $\endgroup$ – lightxbulb Mar 29 '20 at 20:20
  • $\begingroup$ Note that how you render the image doesn't really affect whether the surface is metallic. A rasterizer is just as capable of getting a surface to appear metallic as a raytracer. It's all about the lighting model you employ. $\endgroup$ – Nicol Bolas Mar 30 '20 at 1:33
  • $\begingroup$ won't the way the light interacts with the surface determine whether its metallic or not? $\endgroup$ – JerSci Mar 30 '20 at 5:52
  • $\begingroup$ Could you post an image? $\endgroup$ – Simon F Mar 30 '20 at 6:37
  • $\begingroup$ I'm not sure of what exactly $\endgroup$ – JerSci Mar 30 '20 at 6:38

Your Answer

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

Browse other questions tagged or ask your own question.