A better subdivision threshold function

Hi again 🙂

 y = f(x,z)
detail function plotted in 3D
detail function plotted in 3D

Ok, is the Neverending story the software developent, there’s always something to add, something to improve, some knobs to tweak 😉 I have realized that softwares like Meshmixer and Sculptris (greetings to their awesome devs ;)) limit somehow the amount of detail that a certain brush size can have , in order to avoid unnecessary geometry added and improve performance, if is bad to down-sampling the brush splat is worse to oversampling it 😉  you can use almost any parameter to trigger the edge subdivision, in my previous implementation I was using a temporal function depending on the radius (x) and the use defined detail level(z), the problem can be seeing as simpler or as complicated as you want, so I have spent most of this day trying different threshold functions until I found the function that best suits most of the artists use cases 🙂

Thanks to that, now polygons grow on a much optimal and smarter rate further increasing performance 🙂

Edit: How this function works? This function basically will return a value that will aid in the decision process of subdividing an edge, so choosing an optimal function will have a huge impact in the quality of the resultant stroke, if is not properly set you may end up subdividing a lot your edges for a relatively low detail stroke or you may not have enough detail for a detailed stroke, regarding your detail slider user controlled parameter.