Alcatergit / Hbm-s-Nuclear-Tech-GIT

My fork of the HBM's nuclear tech mod.
GNU General Public License v3.0
54 stars 43 forks source link

Suggestion: OBJ Models Optimization #219

Open HighQGithub opened 11 months ago

HighQGithub commented 11 months ago

I noticed that the OBJ models have a lot of unnecessary faces and vertices that can be removed with decimation in blender which would greatly improve performance. After doing some testing, I found that HBM machines even after downscaling their textures ended up dropping my framerates significantly if even a few were present compared to other mods where I can have several tile entities without issue. Also if it's possible to implement to HBM's rendering system, maybe add a maximum render distance configuration for tile entities (in blocks) so that tile entity models stop rendering past a certain distance.

Alcatergit commented 10 months ago

I noticed that the OBJ models have a lot of unnecessary faces and vertices that can be removed with decimation in blender which would greatly improve performance.

If you know how to do this without breaking textures/shading/details feel free to send a cloud link to the optimized obj files you made.

HighQGithub commented 10 months ago

If it's not possible due to MC shader handling limitations then is it possible to add a max render distance for tile entities? This might be a workaround for performance issues. For now I'll start researching methods of object mesh simplification without breaking how MC's model handler deals with shading etc,. I'm not too knowledgeable in the realm of modelling so I'll see what I can do. Do you know how HBM's model handler deals with model handling just so I can try to keep compatibility in mind since I'm pretty sure forge doesn't allow for .obj model loading by default.

HighQGithub commented 10 months ago

I just did some testing with Blender and the models appear to load when you don't use a modifier layer like decimate so in order to simplify meshes you have to manually go Blender > Mesh > Simplify. I usually screw around with the algorithms depending on what parts of the model I want simplified and whichever ends up looking best. The only issue I've come across is incorrect model shading when using shaders. This could just be due to me being lazy when testing and simplifying the meshes to see if HBM even loads them...

Shibva commented 5 months ago

there are a variety of things, one is a annoying bug where the lighting shifts every which way if something else is rendering wrong

don't know how to describe it but if you have seen "ghost chest" rendering bug Its something among those lines

Ethanedc commented 5 months ago

i think the problem is not the models, even a bad computer can render a million of vertices, the way of rendering them its the problem, even a simple rendering system can improve a lot the performance and the capabilities of the visual effects also can simplify the code, the problem is the compability with the actual code like the animations of the models