Manual: Subdivide fails to subdivide N-Gon faces isn't clearly documented #73667

Closed
opened 2020-02-08 02:56:26 +01:00 by Rob Fav · 7 comments

Blender Version
Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-02-06 20:44, hash: blender/blender@763f117c48

Short description of error
The manual doesn't mention that Subdivide may fail to execute on all selected faces.

Exact steps for others to reproduce the error

  1. Launch Blender
  2. In Edit mode, select one face of the default cube and subdivide once.
  3. Choose a box or lasso selection tool (and enable the face selection button)
  4. Enable the X-ray button
  5. Select the entire default cube
  6. Right click and choose subdivide
  7. Inspect results - middle faces will fail to subdivide, even if they were visible and highlighted properly during the selection
    SubdivisionMayIgnoreSelection 2020-02-07.mp4

https://docs.blender.org/manual/en/dev/modeling/meshes/editing/subdividing/subdivide.html#bpy-ops-mesh-subdivide

**Blender Version** Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-02-06 20:44, hash: `blender/blender@763f117c48` **Short description of error** The manual doesn't mention that Subdivide may fail to execute on all selected faces. **Exact steps for others to reproduce the error** 1. Launch Blender 2. In Edit mode, select one face of the default cube and subdivide once. 2. Choose a box or lasso selection tool (and enable the face selection button) 3. Enable the X-ray button 4. Select the entire default cube 5. Right click and choose subdivide 6. Inspect results - middle faces will fail to subdivide, even if they were visible and highlighted properly during the selection [SubdivisionMayIgnoreSelection 2020-02-07.mp4](https://archive.blender.org/developer/F8328816/SubdivisionMayIgnoreSelection_2020-02-07.mp4) https://docs.blender.org/manual/en/dev/modeling/meshes/editing/subdividing/subdivide.html#bpy-ops-mesh-subdivide
Author

Added subscriber: @EVH1

Added subscriber: @EVH1
Member

Added subscriber: @EAW

Added subscriber: @EAW
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Inspect results - sides will fail to subdivide, even if they were visible and highlighted properly during the selection.

This I cannot reproduce. In your video, we cannot tell if the edges are subdivided because you are in face select mode. When I tried using today's daily build, the edges are clearly subdivided once I switch to vertex select.

edges_subdivided.png

Subdivide fails to subdivide all selected faces

Edges not subdividing and faces not subdividing are two separate things. The 4 faces you are expecting to be subdivided all have 5 vertices and 5 edges at the beginning of your video.

Looking at the manual, it seems that subdivision will only subdivide the face of a quad or a triangle, but not N-GONs.

You have to really read between the lines to get that, so I would consider this a case of unclear documentation since it isn't directly mentioned on the manual's subdivision page.

> Inspect results - sides will fail to subdivide, even if they were visible and highlighted properly during the selection. This I cannot reproduce. In your video, we cannot tell if the edges are subdivided because you are in face select mode. When I tried using today's daily build, the edges are clearly subdivided once I switch to vertex select. ![edges_subdivided.png](https://archive.blender.org/developer/F8328883/edges_subdivided.png) > Subdivide fails to subdivide all selected faces Edges not subdividing and faces not subdividing are two separate things. The 4 faces you are expecting to be subdivided all have 5 vertices and 5 edges at the beginning of your video. Looking at [the manual](https://docs.blender.org/manual/en/dev/modeling/meshes/editing/subdividing/subdivide.html#bpy-ops-mesh-subdivide), it seems that subdivision will only subdivide the face of a quad or a triangle, but not N-GONs. You have to really read between the lines to get that, so I would consider this a case of unclear documentation since it isn't directly mentioned on the manual's subdivision page.
Evan Wilson changed title from Subdivide fails to subdivide all selected faces to Manual: Subdivide fails to subdivide N-Gon faces isn't clearly documented 2020-02-08 04:17:26 +01:00
Author

I'm not sure where I mentioned edges were not subdividing? Those did subdivide.
In the video, Blender was displaying a point at the center of each face, but those points were not connected (nor editable) as you can see from a lack of edges to the center points. The steps listed began with a cube which was all quads unless a cube is actually two quads and a strip of quads internally. What's interesting is that the edges of all selected faces were subdivided and the faces were recreated to incorporate the new vertices thereby becoming n-gons for those faces that failed to subdivide. That's where the problem lies.

I hope you'll reconsider looking into this further.

On the topic this ticket transitioned into:
Subdividing triangles and n-gons can make for strange lighting/texturing results in certain scenarios, but it should be something the subdivision routine handles without geomtery deformation when smoothing is off. This can be done as follows:

  1. For triangle geometry, split each tri from the vertex opposite its longest edge to the midpoint of that edge, forming two new triangles.
  2. For any non-planar n-gon geomtry, create all triangles from the vertices then execute #1.
  3. For planar n-gons, Blender could offer an option to favor the creation of new quads inside of n-gons when offseting an n-gon's edges inward would create an area (or areas) large enough to contain one or more new quads of a specified size. The newly created quads would then be connected to the n-gon's outer border with quads and tris as needed, favoring quads whenever possible. Doing this correctly is more involved, but it can result in more quad-based geometry if that's desired by the user.

When smoothing is enabled, it's possible that curved geometry may start to look more faceted visually, but that should always be something that is left for the user to decide. Subdivided geometry with smoothing disabled should look the same even if an n-gon is allowed to have holes, assuming the cutouts were calculated correctly. Blender aside, subdividing is not impossible for n-gons, so I'm hoping that doesn't get blocked -- at least not permanently.

Thanks

I'm not sure where I mentioned edges were not subdividing? Those did subdivide. In the video, Blender was displaying a point at the center of each face, but those points were not connected (nor editable) as you can see from a lack of edges to the center points. The steps listed began with a cube which was all quads unless a cube is actually two quads and a strip of quads internally. What's interesting is that the edges of all selected faces were subdivided and the faces were recreated to incorporate the new vertices thereby becoming n-gons for those faces that failed to subdivide. That's where the problem lies. I hope you'll reconsider looking into this further. On the topic this ticket transitioned into: Subdividing triangles and n-gons can make for strange lighting/texturing results in certain scenarios, but it should be something the subdivision routine handles without geomtery deformation when smoothing is off. This can be done as follows: 1. For triangle geometry, split each tri from the vertex opposite its longest edge to the midpoint of that edge, forming two new triangles. 2. For any non-planar n-gon geomtry, create all triangles from the vertices then execute #1. 3. For planar n-gons, Blender could offer an option to favor the creation of new quads inside of n-gons when offseting an n-gon's edges inward would create an area (or areas) large enough to contain one or more new quads of a specified size. The newly created quads would then be connected to the n-gon's outer border with quads and tris as needed, favoring quads whenever possible. Doing this correctly is more involved, but it can result in more quad-based geometry if that's desired by the user. When smoothing is enabled, it's possible that curved geometry may start to look more faceted visually, but that should always be something that is left for the user to decide. Subdivided geometry with smoothing disabled should look the same even if an n-gon is allowed to have holes, assuming the cutouts were calculated correctly. Blender aside, subdividing is not impossible for n-gons, so I'm hoping that doesn't get blocked -- at least not permanently. Thanks

This issue was referenced by 6206

This issue was referenced by 6206
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Aaron Carlisle self-assigned this 2020-02-10 21:58:25 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#73667
No description provided.