jakj, were you able to get a block model to render without lighting? I've worked out the math for lighting triangular faces at arbitrary angles using Minecraft's methodology, but my test block comes out as invisible (it's a standard cube with faces divided into 2 triangles each). My source code is available on dropbox if you're interested.
I don't know how far you got with the lighting, but if you are curious, this is what I've found:
1) RGB color multipliers and brightness values are retrieved for each block immediately touching one of the corners of the block to be rendered.
2) The colors and brightness of the 4 adjacent blocks touching the corner of a face are averaged together. The color multipliers are then applied to the rendering block's color (white for regular blocks. Redstone and Grass use this to colorize their textures). So in total, there are 24 averaged points, 4 for each of the 6 faces.
3) The color and brightness values for a face are set before each corner's (x,y,z)+texture(u,v) is added to the tessellator buffer. Flags in the tessellator class tell it to add brightness, texture, color, and normal values to the buffer with the coordinates. Each point is 8 index points long with the order:
0 - x
1 - y
2 - z
3 - scaled texture x location (u)
4 - scaled texture y location (v)
5 - RGB color
6 - viewpoint normal vector? seems to be used for rendering inventory items only
7 - brightness
4) Supposedly the Tessellator.draw() method is called when the buffer is filled, but I don't see where that happens yet.
An easy way to demonstrate this with Kaevator's Superslopes code is to change the way the colors are averaged for the sloped faces. As is, the lighting for these faces is treated the same as a regular vertical face. To add a shadow gradient, average the "back" of the face that the slope slopes to. Then, when placing a solid cube to one side of the slope, the color for that back face darkens considerably, producing a smooth shadow towards the unblocked edge. I took this one step further with Smoothslopes and averaged all vector components of the color multipliers and brightness values at each cube corner above the plane normal to the triangular face instead of using the 4 block corners on the cube's face. I'll try to put together a picture showing what I mean if that's not clear.