flat grassshader, like in Dauntless, Fortnite, the Witness, Zelda:botw I am trying to get grass that look like the one in Dauntless - Fortnite - the Witness - Zelda:botw and many other stylized games. It is flatshaded, but cast no shadows and recieves shadows from other objects. And it also gets brighter when the light shines from above.

Here are some examples:

from the Indiegame woodbound (gif)

from the Witness


I managed to reproduce it in Blender internal render:
No texture, only planes, lightsource is a sunlamp.
The Vertexnormals of the planes are looking straight up (blend4web addon helped me there).


In Cycles I tried mixing up a diffuse + translucent shader, edited the vertexnormals aswell, but it doesnt get the flatshaded look.

It only looks good, when all the planes face the same direction, or the light source is mainly hitting the Front. If the camera is looking at the plane at an angel, the color gets darker. If the camera looks at the backside of a plane its dark.

I searched the web for a view weeks now, the only thing that helped (and let me recreate this effect in blender-internal) was, to let the vertex-normals of the plane face straight up.

Maybe you guys have some Ideas for this stylized shader in Cycles :)
Since the suggetions are not working (still getting darker colors of some grassbillboards) :( ,
I managed to build a workaround.

The downside is:


it doesnt work for moving light/objects, because the shadows are baked. ( or is there a way to bake a texture for every single Frame).
it also inst an accurate shadow, because the color stays the same on the Z axis. (So it works best if the grass inst tall)
for large scaled scenes you need huge textures to bake on (10k*10k pixels and up).


How its done:

Bake shadows on a white plane, were your grass is emitted from.
Take the baked texture as an factor between a bright color (light) and a dark color (shadow).
Instead of using the hair particle system, use the emitter system, because it let you project the texture of the emitterplane onto the particles.

But its easier to explain the idea and technik behind this workflow with a picture:



So this question is half solved, thanks so far :D.
 I am also happy to see further ideas to solve it completely.