The shader core is "neutral", it is neither 2D or 3D. Renderer class is a higher level implementation of it, that builds at the moment 2 shader programs. 1 for 2D and 1 for 3D, except that i haven't had time to work on the 3D yet. I'm doing some tests with shader code in other project, trying to get point-light system done with maybe 8 lights. So you don't have to modify anything. Everything old still works, this will just be a separate addition to nx. The rendering queue should work for both 2D and 3D, just that 3D shader has all rendering commented out.

About this 3D shader, it has some technical challenges that i would have to solve in theory first aswell, before coding. Because GLSL ES doesn't support dynamic for-loops and IF structures very well, and i can't have large dynamic arrays, how am i supposed to use many lights? There's many questions that still need answered, but for now it seems that i would have to have static 8 lights and just turn them black color... Then i would let renderer know 8 nearest lights to camera + environment lights ambient/diffuse/specular stuff. But for now i'm not done with the matrix math yet. I need to construct NormalMatrix and so on, to get even 1 light working first. And i haven't been able to do that with the default gl_NormalMatrix etc yet.