Fake glossy highlight?

I’m trying to make a very lightweight shader that doesn’t use glossy rays because if I can stick to mostly just diffuse rays, the render times will be lower.

I was curious if anyone has or knows of a solution for creating a decent fake highlight?

I dont know a fake method for diffuse rays only.anyways,they would need its calculcation time too.

You could bake all your diffuse shaders and add a simple specular or clear coat on top in the principled shader.This should make the rendertime faster too.

You could add shader in some matcap (sphere map) emission, or even from an equirectangular map via an environment texture lookup. You could do good old fashioned game rendering and get clamp(dot(normal, light+eye/2))^specular power, where you set up a fake “light” vector (again, add shader that value in as emission.)

If you render a normal pass, you can even do all that in post.

But you’re not going to get good Cycles effects by doing it.

1 Like

Hmm, you reckon that perhaps I could render the spec only in EEVEE and composite that?

Sure could. Same camera, give everything a glossy material, maybe with its specular color multiplied by Fresnel. Add it to the diffuse in compositing.

As bandages said. you could add an emission shader to the material, using an environment texture on reflected coordinates. It won’t react to the materials roughness and any “roughness” would have to be simulated on the texture itself by blurring it.
If you’re looking for a “fake light”, you can setup a diffuse+phong shader that calculates based on a world location coordinate, but it’s kinda complex and is likely slower than having the material reacts to real lighting. I think I have it somewhere, but it obviously doesn’t react to shadowing.