How do I evaluate graphics resources and capabilities?

So, specifically, for example… say, I wanted to create a world similar to minecraft and I’m going to use Quads to represent sides of blocks. If that is even the best approach, what’s the best way to determine how many sides I can keep in memory and then how many could be in view at one time without bogging down. And the easy answer to these questions would be, well, that depends. So let’s say, if it matters, on a basic i5 Windows 7 system with 6GB ram and a dedicated but low-end graphics card with 1G of DDR5 I guess… how many Quads can I use and get decent framerate and playability?



I’m just curious if anyone has any good formulas, I’ll be doing a test and posting results if anyone else is curious.



Cheers,



Will

Separate quads, about a thousand before the frame rate starts to nose dive.



Custom meshes (the right answer), it depends on how you break your meshes up but you can get decent frame rates with hundreds of thousands of triangles.



There are any number of considerations for mesh size that have nothing to do with GPU performance, really. Bigger meshes take longer to regenerate, smaller meshes bog down throughput in scene graph management and system bus limits.



…and once you have all of those answers it depends on the shaders you are using, how you do lighting, etc… And those will vary by machine, too, and not always in logical ways.



For most people Mythruna runs slower than minecraft but every now and then I run across a user who says Mythruna performance is way better. I still don’t really know why.

Yes, I took a look at Mythruna… looks pretty good so far. I’d love to work on something like that but be able to implement my own ideas. I thought about modding minecraft, I still might but I’d probably recode almost all of it anyhow so I figured I might start from scratch. I guess I should just investigate how Mythruna handles their blocks and see if it would work for me or if I could at least gather some clues on how to go about it and optimize from there, but, and I know this is naive, I want to have much smaller blocks. About a 10th of the size of Mythrunas which would, I suppose, mean 1000 times the amount of polies that Mythruna is running. And I’m guessing that would be near impossible, but, I’ll look into custom meshes, perhaps I can come up with something clever like combining textures or something. I’m assuming you can have different textures for different face of a custom mesh somehow? Also, I suppose if you had a lot of blocks of the same type stacked, you could use one face for all of those blocks which would cut down on number of faces, but that’s probably what you can do with a custom mesh. I really need to start learning more about 3d graphics rendering.

There is also the bloxel project someone has worked on here. I can only speak about what Mythruna does though most of that’s pretty obvious.



And especially if you are trying to exponentially increase the block count you will want to only render the visible faces. You definitely have your work cut out for you.



I could pretty easily have Mythruna render 1/10th size blocks but I’d have to bring the horizon in by 1/10th as well. :wink: Max clip is 192 right now and I don’t think 19.2 clip distance is as compelling an experience in this case. :slight_smile: There are lots of ways to do voxel engines, though… without even using blocks. Inevitably you end up doing lots of custom meshes and funky shader customizations.



Mythruna will get less “blocky” as I go on but I had to start somewhere. In an entire game like Mythruna, that part of the engine is a very small percentage of the work. :wink: Maybe for 2.0 I’ll do isometric surfaces or something. 8)