Billboard alternatives

After some time trying I find that billboard feature works very slowly.
Can I fast draw much positioned, scaled and zbuffered square sprites like billboadrs, I think it will be very useful and MUCH faster than standart billboards, if I cannot than why developers don`t use so pretty helpful thing? I just want to draw some kind of BIG forest :)) (Is there any way to make it?)

You can use point sprites, which let you create a big Geom where one vertex is one point sprite, and set it to perspective mode. This is the most efficient way to render a lot of billboard sprites.

Alternatively, you can also look into instancing methods with a custom shader.

Is there any examples of point sprites, I don`t understand what it means, but text “hundreds of thousands” :))) from google search looks very optimistic.

I have some questions:

  1. I think there will be no problem with using rendertotexture image
  2. Can I cnange near/far drawing distance fo sprites?
  3. I need some kind of LODS for sprite texture. I want to make transparent trees when sprite far from camera

With point sprites, you just need to use the geometry-writing utilities in Panda3D (eg. GeomVertexWriter) to create one vertex per sprite location. See the manual section “Procedurally generating 3D Models”.

However, keep in mind that point sprites may or may not be appropriate for your use case. For example, the points are always rotated towards the camera, not just around the Z axis. It is best used for particle effects.

An alternative would be to use a shader with instancing. This is fairly straightforward, and gives you full customizability at minimal performance cost.