Wohooo.. what a long journey when JohnJ first asked the user about batching and stuff, and then he end up creating his own which is far superior than our own initial suggestions in the forum hehe..
Okay enough about that, I think the subject is quite clear - camera facing grass billboard will eliminate the grass appearance which look like a 'card' if you know what I mean
Btw, I think that grass should only yaw ie rotate around y-axis otherwise it looks weird if the billboard try very hard to always face the camera.
What do you think JohnJ - is there any tricky issues since the grass billboard as of now can also be animated? Ie if the grass is animated + facing the camera, it will be very nice.
This is something I originally planned to implement in the grass system from the beginning, but postponed to save time for other features / bug fixes. I think now would be a good time to implement this feature, in addition to the Crysis grass technique mentioned by Falagard in the showcase thread.
I'll plan these features for v1.10, but of course bug fixes will come first.
I think I should put the report here: it now works okay (GRASSTECH_SPRITE) but certain scene is not. What I mean by 'certain scene' is the scene using 'vertex painting' which is then fed into shader for texture splatting. The other scene works nicely.
I tried to reproduce the problem using your example4 and load the same mesh using vertex painting, and it turns out to be okay. Maybe the fault lies in other areas. However, for the mean time I will use GRASSTECH_QUAD for problematic scene, and GRASSTECH_SPRITE for the rest.
I'm not quite sure what you're saying. Are you saying that GRASSTECH_SPRITE doesn't work in certain scenes? What do you mean by "vertex painting" - is that a feature of your terrain engine or something else?
"Vertex painting" is pretty much described in this Ofusion thread
. Basically you paint the vertices using 3dsmax 'vertex painter' and these vertices color are then picked up by shader to generate texture splatting.
I have converted your Example4 to load the mesh (which uses vertex painting shader technique), but strangely the GRASSTECH_SPRITE works there. However I remember that the grass is not on the top of the mesh, so that is probably the reason why it worked.
In short, I need more testing to be sure:wink:
Ok, let me know how the testing goes