I already know about sub routines in GLSL and intend to use them in the rendering engine.
The whole material system will change in one of the next versions to become better:
a) Multithreading for occlusion and frustum culling and animation skinning
b) Deferred shading for high number of dynamic lights
c) Usage of GL4.x for advanced features
d) Physically based shading for more realistic graphics
e) Usage of hardware instancing (Automatic?)
I already experimented with GL4 and deferred shading a little. It will take a while until the new rendering engine can replace the current one but it will be worth it. There will be no serious material editor until the new material system is fully functional.
Btw: Neo 0.5 is now in a feature freeze. Consider it being a beta version. I will upload some binaries this week when I have some time so it can be tested.
Neo 0.5.1 will be mainly about getting proper Android support due to some requests I got.
Another topic for the future will be the future of the Neo Editor. The current editor is written in C++ using FLTK. All logic is hidden in the EditorBackend class. When switching to OpenGL 4.x the toolkit will need to be modified manually to work with the new API. The question is: Stick with FLTK and improve it or change to another toolkit that has better support?
I like FLTK but the development seems rather slow.
Anyway, have a nice day!