Mega Chunks - get started?

Pardon my stupid question, but how do I get started for Mega Chunks? I tried to search high and low in the forums yet could not find any suitable answer.

According to Google AI
" The Ideal Compromise: Mega-Chunks

If you want the benefits of fewer meshes without the penalties of a single giant mesh, you change the size of your chunks. Instead of small 16 \times 16 \times 16 chunks, scale up to Mega-Chunks (64 \times 64 \times 64 or 128 \times 128 \times 128).

This drastically reduces total active mesh count for Babylon.js to manage, keeps frustum culling active, and restricts vertex updates to a localized zone when a block breaks.

Would you like to explore how to merge smaller meshes together cleanly using Babylon’s built-in tools for a static map, or look into the exact math behind greedy meshing to shrink your vertex count?"

Is merging small meshes together or exact math behind greedy meshing able to “Mega Chunk”?

I know Babylon.js talks about chunking, but anywhere to get started regarding Mega Chunks?

I don’t know what mega chunks is. Even less in the context of Baylon.

For performance optimization, did you check this page? Babylon.js docs

I thought it was just me - never heard of mega chunks either … :grinning_face_with_smiling_eyes:

Yes I did read that page, I just decided to google up “Can Babylon.js develop large web browser games the size of GTA5, especially for mobile web browser”, and this came up when talking about Voxel Engine Babylon.js

I couldn’t find chunking in that Babylon.js optimization page. Where do I start to learn that chunking?

do you have a link to the web page that mention mega chunks with Babylon?

Maybe you want to talk about that for chunking ?
ground.optimize(8);

optimize(chunksCount: number, octreeBlocksSize?: number)

This function will divide the mesh into submeshes and update an octree to help to select the right submeshes for rendering, picking and collision computations. Please note that you must have a decent number of submeshes to get performance improvements when using an octree.

What Google AI mentioned in the convo:

The rest of the convo starting here

Did you check this : Babylon.js docs

Currently, hopefully it will enable large web browser games the size of GTA 5 on even mobile web browser, with maximum fps

Thanks, hopefully this will enable large browser games the size of GTA 5 on even mobile web browsers

There are some possible optimizations in the field, but there are many other optimizations to be planned for Thinks of LOD, streaming, masking distant objects, making medium resolution textures and many other things.
You have to plan many tricks to keep the performance correct and give acceptable results.
A GTA 5 game is really hugely ambitious and for a single project or with 2 or 3 people is just impossible.
But I don’t want to discourage you, you learn a lot with ambitious projects. I think that a “GTA Vice City” would already be more affordable, even if ambitious too.

Do you guys think one render call is feasible?

It will be impossible. You can merge models with each other and reduce the number of render calls, but you will always have non-mergeable models. For example, your characters, you don’t want to merge them with the terrain. Some models need collision and others don’t…