Skip to main content

Posts

Showing posts from May, 2021

Fake "reflective" material shader.

GODOT has a great shader system, and the roughness/metallic settings do a great job of representing a range of materials... but sometimes you want something a bit different. It is possible to have object specific "reflections", using a fairly old technique called "matcaps". It's not a particularly realistic looking effect, but if you want to go for that stylized effect, it can be a fun throwback. vec2 offset = (normal_map.xy) - vec2(0.5); vec2 v_n = (normal.xy / 2.0) + vec2(0.5, 0.5); v_n.y = (v_n.y * -1.0) + 1.0; v_n = v_n + offset;     vec4 refl = texture(mat_cap, v_n); Here 's the code you need for making the matcap project properly on your model. I've included a section to make sure the normal map will distort the reflections, just like with the metallic effect in GODOT. You can see in the image above that if we don't do this (left) the effect doesn't look good. Be sure to use the right import settings on your normal map textures, so that th