   feilds of grass
  I want to use the standard trick of the alpha mapped quads.I`m not having any trouble with that, however, when I get into the order of 1000 or so grass models, all the translations and rotation overload the CPU. What`s the best way, other than saving the feild as a mesh, to overcome this?   
  do them on the GPU...?   ;Quote:Original post by arbuckle911I want to use the standard trick of the alpha mapped quads.I`m not having any trouble with that, however, when I get into the order of 1000 or so grass models, all the translations and rotation overload the CPU. What`s the best way, other than saving the feild as a mesh, to overcome this?That's like asking "what's the best way, other than the best way, to overcome this?"  Your grass is probably not going to get up and walk around the terrain, so you know where it will be at all times.  You can pre-translate your quads and collect them into a vertex buffer object, then leave them on the card and not touch them again.  Use the vertex shader to make sure that the quads are screen aligned.  Use the fragment shader to fake the transparency so you don't need to sort.  1000 quads should be a breaze if you do it like that.   ;  10 quads per clump4 verts and 4 tex coords and 4 normals per quad3 floats per vert, 2 per tex coord and 3 per normal.4 bytes per float1000+ clumps(3+2+3)*4*4*10*1000 = 1.28 megabytes of video memory.1000 clumps arn't actually enough to cover the land I'd like to...It'd be more like 6000 to 10000, so 12.8 megabytes tops. I guess that's not so bad but I'd rather avoid it...is there a second best way?   ;  You don't have to put everything into a single vertex buffer.  You can divide your grass up into a grid the same way people divide terrain into a grid, and have something like 500 clumps per grid cell.  That way, you can cull away grass that is not on screen.   