fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.6K
active users

#catmullclark

0 posts0 participants0 posts today
Ian Badcoe<p><a href="https://peoplemaking.games/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://peoplemaking.games/tags/Godot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Godot</span></a> <a href="https://peoplemaking.games/tags/Geometry" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Geometry</span></a> <a href="https://peoplemaking.games/tags/Procedural" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Procedural</span></a> <a href="https://peoplemaking.games/tags/PCG" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PCG</span></a> <a href="https://peoplemaking.games/tags/CatmullClark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CatmullClark</span></a> <a href="https://peoplemaking.games/tags/Subdivision" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Subdivision</span></a> <a href="https://peoplemaking.games/tags/GeometryMerging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GeometryMerging</span></a> <a href="https://peoplemaking.games/tags/Prototyping" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Prototyping</span></a> </p><p>A short playlist showing a couple of examples of merging geometry from an input set of cubes and then CCS subdividing it...</p><p><a href="https://www.youtube.com/watch?v=4hPTj0EJ1-Q&amp;list=PLhJWIs18UOUg_SQN_5ZUmx7ym3c6naXgB" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=4hPTj0EJ1-</span><span class="invisible">Q&amp;list=PLhJWIs18UOUg_SQN_5ZUmx7ym3c6naXgB</span></a></p>
Ian Badcoe<p><a href="https://peoplemaking.games/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://peoplemaking.games/tags/Godot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Godot</span></a> <a href="https://peoplemaking.games/tags/Subdivision" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Subdivision</span></a> <a href="https://peoplemaking.games/tags/CatmullClark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CatmullClark</span></a> <a href="https://peoplemaking.games/tags/Cheese" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Cheese</span></a></p><p>I got tempted by the idea of experimenting with subdivision surfaces again, and, consequently, I present: Cheese!</p><p>CW: Possibly mild trypophobia</p>
Ian Badcoe<p><a href="https://peoplemaking.games/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://peoplemaking.games/tags/Godot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Godot</span></a> <a href="https://peoplemaking.games/tags/Subdividsion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Subdividsion</span></a> <a href="https://peoplemaking.games/tags/CatmullClark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CatmullClark</span></a> <a href="https://peoplemaking.games/tags/DebugDrawModeTotheRescue" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DebugDrawModeTotheRescue</span></a> </p><p>Aaaaand, fixed! That wasn't really six hours solid debugging, or even an hour of drinking coffee and 4 hours debugging, there was cooking an eating a meal, watching the end of a Scandi Noire murder series... so maybe three hours solid debugging...</p><p>As ever, it's not assumptions you make that bite you the worst.</p><p>It's the assumptions you didn't even know were there. In this case the assumption that the edges are always added in to a vertex *clockwise*...</p><p>So, three hours debugging and one quick method VertUtil.ToVertWithSortedEdgesAndPolys(...) later and it finally looks like I'm really doing what I thought I was doing three days ago.</p>
Ian Badcoe<p><a href="https://peoplemaking.games/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://peoplemaking.games/tags/Godot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Godot</span></a> <a href="https://peoplemaking.games/tags/Subdividsion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Subdividsion</span></a> <a href="https://peoplemaking.games/tags/CatmullClark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CatmullClark</span></a> <a href="https://peoplemaking.games/tags/DebugDrawModeTotheRescue" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DebugDrawModeTotheRescue</span></a></p><p>They do work, though! I wasn't able to work out why I had this weird dark wedge on the flat surface at the edge furthest from the light, but drawing the normals shows that vert's normal (for this surface, we have to split the vert/normal for a sharp edge) is pointing off at an angle instead of perpendicular to the surface...</p><p>Time to put my debugging hat on...</p><p>But first, a cup of coffee!</p>
Ian Badcoe<p>May have gone a bit over kill on the debug draw modes here...</p><p><a href="https://peoplemaking.games/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://peoplemaking.games/tags/Godot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Godot</span></a> <a href="https://peoplemaking.games/tags/CatmullClark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CatmullClark</span></a> <a href="https://peoplemaking.games/tags/Debug" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Debug</span></a> <a href="https://peoplemaking.games/tags/DrawModes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DrawModes</span></a> <a href="https://peoplemaking.games/tags/DebugdrawModes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DebugdrawModes</span></a></p>
Ian Badcoe<p><a href="https://peoplemaking.games/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://peoplemaking.games/tags/ProceeduralGeometry" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ProceeduralGeometry</span></a> <a href="https://peoplemaking.games/tags/CatmullClark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CatmullClark</span></a> <a href="https://peoplemaking.games/tags/SmoothEdges" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmoothEdges</span></a> <a href="https://peoplemaking.games/tags/SmoothVertices" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmoothVertices</span></a> <a href="https://peoplemaking.games/tags/SharpEdges" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SharpEdges</span></a> <a href="https://peoplemaking.games/tags/SharpVertices" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SharpVertices</span></a> Some more progress with this.</p><p>- I got the normal calculations working (but I am not splitting any vertices, which is why the sharp circular edge at the base looks a bit "soft".)</p><p>- I added code for tagging verts or edges as "sharp" and implemented the CatmullClark special cases for processing those (which took some getting right, let me tell you, don't talk to me about taking a vert from the new array when it should have come from the old one...)</p><p>Not quite as advanced as I hoped to be by now, but looking pretty good...</p><p>Next step: try out the dozen or so examples which I hope will look good for use as part of differently styling different sort of generated landscape...</p><p>Further out: I need to get to grips with UVs... and possibly think about some sort of styling that can reach inside the divided mesh and (e.g.) apply grass to the top and "roadway" to selected contiguous smooth strips...</p>
Ian Badcoe<p><a href="https://peoplemaking.games/tags/Godot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Godot</span></a> <a href="https://peoplemaking.games/tags/PGC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PGC</span></a> <a href="https://peoplemaking.games/tags/Subdivision" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Subdivision</span></a> <a href="https://peoplemaking.games/tags/CatmullClark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CatmullClark</span></a> <a href="https://peoplemaking.games/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://peoplemaking.games/tags/ProceduralContent" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ProceduralContent</span></a> <a href="https://peoplemaking.games/tags/CSharp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSharp</span></a> <a href="https://peoplemaking.games/tags/LotsOfScaryLinq" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LotsOfScaryLinq</span></a></p><p>OK, finally got away from cubes... of course, you can't see exactly what shape this is, because I didn't add any normal calculations yet, but "roughly spherical" broadly sums it up...</p><p>If I get time tomorrow I'll add the normals, and then look into adding the calculation refinement that lets us tag verts/edges as "sharp"... Combos of sharp and smooth edges let us create all sorts of shapes, like if you leave the top and bottom edges sharp, but the side ones smooth you get a roughly cylindrical shape... Or you can do a block with a hole in it if you do the same thing to the edges around a square hole...</p>