So, I am adding instance support to my editor so that it can more effectively render all those duplicate tiles and items in the scene.

Collecting all the duplicate shapes into tables, populating the arguments and index compute buffers for each octree cell item and then rendering them from my management game objects with the DrawMeshInstancedIndirect API. A friend of mine pointed out that this way is a lot better fit for what I am doing, and there are so many interesting things I can do with compute buffers to speed things up.

Another little previous bug I found had to do with normals produced by Unity. RecomputeNormals does not produce very nice normals. Very small triangles can cause a lot of jitter and the recompute does not do any sort of weighted computations as far as I can tell. Using the area of the neighbouring triangles or the angle of the neighbouring triangles will produce a better average across the surface than just summing up the normals of the connected triangles and normalise. Getting that sorted, helped a lot with bumps in the surfaces where the planes were cutting and producing a dense area of triangles.

Looking forward to playing with some 3D Perlin noise textures and get some cool dissolving effect working for obstruction culling effects. Need to hide all those items that are in the way of things you want to edit.

Reading up on a lot of cool graphical effect stuff instead of heavy handed computational geometric algorithms is a breath of fresh air and a nice context switch. Even though I did run into a nice little article about Voronoi Shattering of polygonal geometry this morning.

Back to work.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s