Well, I did have to write a full Gouraud implementation. It took about 100 lines of code.
I still have problems with luxels that aren't within any single triangle. To fix that, I think I will have to find the closest triangle, and use the closest point on that triangle for the normals calculation.