I am adding Greedy Meshing a Voxel game. But atlasing does not work well, I tried look that topic “Greedy Meshing is complex voxel data” but did not help much.
I think these two methods can make you understand well:
Greedy meshing requires textures to repeat… so you can’t really use a texture atlas without some serious shader tricks. …but then a texture array might be a better bet.
I’m still just a beginner in jMonkeyEngine and know not to where to start to make shaders, do not talk to me “start with something easier than Voxel,” I need to make this game as quickly as possible, and all I want know is how to make my Mesher repeat textures without OpenGL, something like code examples help more than “learn shaders”.
Why? Just change the u,v coords and let OpenGL repeat the texture for you. You could divide your mega-mesh by type of texture (so that fewer texture switches occur in your scene). No atlas, not the best performance, but works for now.
If you really need to optimize later, you can pass another vertex attribute and try to make your own shader using an atlas (which should boost your performance).
It’s a common wisdome that “time equals money”. Either you buy some pspeed-hours like he suggested - in that case you can save time. Or you try to get where pspeed is today - in that case you can save money.
Just because you need something to be done as quickly as possible, there is no reason why others should do that work for you.
Is that greedy meshing so important? I mean, why not just disable that - a few triangles more and buffers a little bit bigger should not hurt the performance?
Could be wrong on that, but when either not using greedy mesh or not using atlas could still have quite okay performance? I would try sacrifice the greedy meshing first and if it doesn’t work, then sacrifice the atlas and keep the greedy meshing. If both fails, custom shaders seem to be the only way left.
How many frames per second do you gain from greedy meshing when compared to not using it, @Dimalenus?