Gouraud/Vertex N64/PS1 Style Shading via Geometry Nodes - Am I doing this the hard way?

My goal is to have per-vertex shading (rather than the now standard per-pixel shading) in Cycles or EEVEE, and I’ve gotten that by calculating the diffuse and specular lighting in Geometry Nodes and passing those values to shader nodes to combine with the surface albedo and specular tint for the final (purely emissive as far as the shader nodes are concerned) texture.

It’s turning out great, I just want to check if anyone knows a more built-in style way of achieving this.

I used the ideas here to create the geometry nodes to calculate the lighting: https://developer.download.nvidia.com/CgTutorial/cg_tutorial_chapter05.html

4 Likes

I’ve gotten some messages asking for my node groups, here they are! This is version 0.1, consider it in early alpha.

NettlesVertexLighting0_1.blend (2.3 MB)

Model is copyright, the node groups and materials are CC0.

3 Likes

Hello im new to this site, so i hope this is the correct way to make a comment. But i wanted to say thank you for this Node, it helped me alot. I managed to accurately recreate SM64 lighting because of it, and im curious if this project will ever be updated. For example, Mario has multiple colors on 1 mesh, im curious if it’s possible to do multiple colors without splitting meshes

Yes, you just put multiple materials on the mesh and assign the faces to each as desired.

Is there some way you can visually explain this to me? Would help alot