Hello
My project is a universe with multiple galaxies and each galaxy with about 250 star systems.
So there might be a lot of objects on the screen depending on the zoom of the camera. To display a star i make use of 3 plane meshes imported with 2 triangles (not the default plane from unity) and have the the built in additive particle shader on each of them. Each mesh has different texture, color, rotation speed and direction and the materials color tint change. The planes are inside a billboard object, which faces the camera.
The problem is that there can be a lot of draw callbacks just from the stars, and there is lots of other things too like nebula.
So i was asking myself if replacing this design with a custom shader would help performance. Having only one mesh, which would reduce draw callbacks by 2/3 for the stars. The shader should be like the additive particle shader but support 3 textures each with parameters for rotation and color and tint.
Take in count that the reduction of draw callbacks would be around 500 per galaxy.
Since i have no experience with shader coding i wanted to ask the community first, before i start working on it. Could take me a few weeks. And if there is no gain i would not want to waste time on it.
Check the image to see how the design currently looks.