I have to render a very large number of colored billboards in Irrlicht, but it's really slow. I use many BillboardSceneNodes:
List<BillboardSceneNode> voxels = new List<BillboardSceneNode>();
for (int x = 0; x < 32; x++)
for (int y = 0; y < 32; y++)
for (int z = 0; z < 32; z++)
{
Color c = new Color(r.Next(255), r.Next(255), r.Next(255));
BillboardSceneNode b = device.SceneManager.AddBillboardSceneNode(null, new Dimension2Df(1), new Vector3Df(x, y, z), -1, c);
b.SetMaterialFlag(MaterialFlag.Lighting, false);
voxels.Add(b);
}
How I can optimize that? How I do occlusion culling or frustum culling with the billboards?