Rocks are an important part of almost any terrain, and they help organize areas for gameplay. While they may not seem very interesting, poorly-rendered rocks can break immersion, and poorly-optimized rocks can reduce the framerate. I've been trying to optimize rocks in Overgrowth for awhile now. I haven't yet developed what I consider a perfect rock, but I feel like I've made a lot of progress. Here are some of my first rocks. They took a lot of work, but I think they looked pretty nice:
They had some major problem besides being work-intensive: they used a lot of texture space (since they had unique textures for the entire rock), and they were pretty small. Here's my next attempt (the rock on the right):
It was a lot bigger because I was able to use tiling textures. I used an experimental displacement-mapping technique to make the geometry support the texture details, which you can read about here. It looked okay, but had one pretty big problem -- it used a lot of geometry, which can slow down physics calculations. The rock on the right in this next picture is my most recent attempt, using a tiling texture with less geometry:
It's fast to produce, big, and doesn't use a lot of polygons, which is great -- but it's kind of ugly. I have some ideas to make it look better, and I've been looking at a lot of cool reference.
All of these techniques can be useful, and we may use all of them. Once I finish my next set of rocks I think I'll have a pretty comprehensive grasp of rock optimization, so stay tuned for more technical details!