2
$\begingroup$

I'm wondering if anyone has developed a method, or if one knows of an addon, to adaptively subdivide a mesh. I need to subdivide prior to rendering (this is for a 3d printed model), so adaptive subd/micropolygon displacement via cycles I don't think will work. My idea is to map a texture to the mesh, and white = full subdivision levels, black = no subdivision.

I had thought of writing an addon that will take the texture and "cut" the mesh based on contour lines (e.g. 6 "subdivisions" will cut at gray level contours of 0%/black, 20%, 40%, 60%, 80%, 100%/white). However, I wanted to check first if anyone has done such a thing first.

$\endgroup$

1 Answer 1

3
$\begingroup$

You can do something like this with Geometry Nodes. I'm still a total noob with GN, but something like this seems to do the trick.

Just comparing the value of some noise texture to a range of color values, mutliplying the geometry index by the result of that comparison and then using that to selectively delete and subdivide parts of the mesh, then rejoin it all together.

enter image description here

Result:

enter image description here

Definitely a bit janky, but a decent start for like ten minutes of farting around.

$\endgroup$
5
  • 1
    $\begingroup$ sorry, i totally disagree. Someone who can make this with GN is for sure NOT a total noob!! +1 $\endgroup$
    – Chris
    May 17, 2022 at 5:26
  • 1
    $\begingroup$ very nice :). been thinking if something like this is possible for a few months :)) $\endgroup$ May 17, 2022 at 19:51
  • 1
    $\begingroup$ @Chris I know Python/Programming fairly well, so I feel like alot of the broader concepts are there, I just don't know how to translate it to GN very well. Y'all only see the final result. not the 45 minutes of me going "...what the f*ck am i doing right now..." lmao $\endgroup$
    – Jakemoyo
    May 18, 2022 at 8:45
  • 1
    $\begingroup$ same to me. I am not very good at python...but i learned some other programming languages ...just waiting for the loop to come to GN ;) $\endgroup$
    – Chris
    May 18, 2022 at 8:47
  • $\begingroup$ @JachymMichal Awesome, yeah, I think there are about 3 different ways to pull this off with blender. You can also use a texture to set Vertex Group weights, I've never really done it though. Also a pure Python has probably the steepest bar of entry but undoubtedly offers the most power. $\endgroup$
    – Jakemoyo
    May 18, 2022 at 8:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .