o'dium wrote:
C) Sprites are not exactly possible here

While I could use them, you have to remember the lighting engine we use, i.e. you cant have a lit sprite. It would be fullbright. So while its possible to use them, they would probably end up looking worse

You could run a per-instance ambient term over them, make them 'work' with the surface a bit better... I wrote an ambient occlusion tool to run over instances, even with 5000+ instance models it's pretty fast because you're only calculating an instances world pos ambient term, not it's local ambient term. This helped instances fit much better into the scene, as seen in these "Before & After" shots:
For grass, sprites would be a good option to explore - you can
jam pack a scene with them, they have constant 'volume' by virtue of being camera facing sprites... and again, although they are run in a full-bright pass, each point representing a grass-sprite location can have an ambient term and a fixed lighting vector (perhaps from the sun) to feed in as a constant to the fullbright shader without breaking the batching.
...other stuff: wrote a water shader for a demo I'm doing.
Has a caustics texture that is extruded along the light tangent vector to emulate real depth and 'godrays' in foggy water, looks impressive in motion, they are subtle in a screenshot (visible bottom right)... it's a surface only effect, so you can't go underneath it.
