Shaders Lighting

i’ve started to play around with different combinations of shader light types and am trying to understand something.

if i’m getting this right (please let me know if i’m not ; ), vertex lights calculate light intensity based on the relative distances of the tris to it and seem to light each individual tri fairly evenly. the result of this is that you can see the split in the faces which looks bad. it looks much worse though with say the glossy shader as opposed to the diffuse one (i imagine this is because the glossy shader is multiplying the light value to make it seem more shiny). also using a directional light looks fine but with point lights it does not (i imagine this is because of the point light attentuation - if you turn it off the artifacts are less noticeable but still there).

in my experience you do not see these artifacts in any major title released these days, or at least they aren’t very noticable. are they just using diffuse materials for everything? directional lights only? i can’t seem to find anything, does anybody have any info on this?

(ps i know about general modeling technique, keeping faces square etc. i’ve actually been testing this with the default cubes)

It sounds like you’re just seeing the smoothing angle? I belive vertex lighting interpolates from every vert to the next, so two verts on a common edge should not show any undue seam–UNLESS the object has no smoothing.

Now, shapes with really LONG thin triangles can get kind of streaky with vertex lighting, but that’s a different issue.

does smoothing matter? i’m mostly doing hard objects right now (and as i said was testing this with the default cubes), but i have imported models from blender with some parts smoothed some hard still have the same artifacts as stated above.

I don’t know. Any screenshots?

actually i need to throw together a complete scene see if the lighting is okay in a more real-game setting. i noticed that the proximity of the lights makes a big difference, so i’ll try that post again with screenshots if it still doesn’t look good. thanks for your help ; )

Depends on the game of course but a lot of games are still using Lightmaps for their base lighting (That also gives you radiosity and you can have infinetely many) and then putting just a couple of dynamic lights into the scene. We did this in the first person shooter.

All lights are lightmapped, the characters are lit with a different light that doesnt affect the environment (You do this using the light culling mask). Explosions spawn lights which fade out over the time of the explosion.

Another reason why you don’t see vertex light artifacts in games is that you usually tesselate your geometry up to the point where you cant see a big difference. Eg. while you could make a big 20 meter wall out of 1 quad, you would usually tesselate it down to .5 meter big quads.

Vertex lights always calculate the light influence at the vertex, then interpolate the color. So the finer you tesselate the closer it gets to look like pixel lights.

that makes a difference.
thanks, it would have taken me a while to figure that out ; )

i’ve been baking light into my textures at the object level, which works ok i guess in blender, but i still haven’t figured out if there’s a way to do it at the scene level without having 2 uv layouts.