@ Reliquia - thanks and yes that grass popping is (was) annoying
Actually you can try that update without engine change, just easy shader changes. Take a backup of apbr_core.fx first (in case you need to restore) then open it up with notepad and change two lines:
float fEdgePerc = max(0,fDist-(GrassFadeDistance*0.4f)) / (GrassFadeDistance*0.6f);
float fEdgePerc = 1- smoothstep(GrassFadeDistance-600,GrassFadeDistance, fDist);
And from this:
output.color.a = 1.0f - fEdgePerc;
output.color.a *= fEdgePerc;
Then delete apbr_veg.blob
(not the apbr_veg.fx), restart GG and see if the grass popping has stopped. It has for me but I'm running a 4x terrain - the '600' value in the first replacement line might need tweaking if you still get popping, but should be OK I think.
@Earthling45 - thanks for posting, sometimes think I won't bother as few are reading, though it is turning into a journal of GG updates so may be useful at some point just for that as I'll forget what I've done or why
On an I5/GTX750TI I can now run around the 4X GG terrain shown in the pics that is completely covered in grass (vegetation setting at 80, quantity, height, width = 50) at 60FPS (vsync'ed), dipping to 50FPS when detailed terrain LOD encountered.
I now suspect the occlusion culling is not working for grass, now that I've separated out terrain polys to monitor it, I can see there is no change on grass polys rendered irrespective of occlusion culling slider value. So might get more mileage out of the grass system yet.