Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Reverse Model Wireframe

Featured Replies

  • Localization

Long story short, this is just a presentation of the progressive achievement with months of work on reconstruction & reimplementation of my quadrify algo previously posted on xentax a few years ago. Think I can put an end to it now.

Original uv:

uv_raw.thumb.png.e3631c2e7d5f93d90f20a52c283194aa.png

 

Quadrified

(before patching):

uv_unpatched_color.thumb.png.15af316510b7749ad2e94e7174b4bbb2.png

uv_unpatched_wire.thumb.png.95696f50c75b87c098ef01f022fe661e.png

 

(after patching):

uv_color.thumb.png.cebb906a943c77c12ad22c72a721e429.png

uv_wire.thumb.png.7692d2ecae71a6b834493aca8c63f137.png

3dFront.thumb.png.54401f8bc9d25709067b48336c677845.png

3dLeft.thumb.png.97c9838a072506073816259311fee87b.png

 

For this specific test the result has reached 100% of accuracy.

  • Localization

What an amazing post, I have hoped, and so happy to see you finally joined, and as a first post on your behalf, this is the most rewarding one to see, the results are amazing, thank you for not forgetting about it, it was awaited for a long time indeed.

I cant express enough how happy i am seeing this, so many models out there need this revolutionary solution you have shared with us initially, years ago.

I will continue patiently to wait for anything you are willing to make of it so we, the end users can give it a test run.

 

Thank you.

Edited by Dr. Sheldon Cooper

  • 2 years later...

I'm reading your original XeNTaX post and it seems to contain a mistake in the table of all neighbor triangle combinations. The indexes "e" and "f" were replaced with "d" for some reason, e.g. |abc|acd| which should be |abc|ace|.
https://web.archive.org/web/20220804212949/https://forum.xentax.com/viewtopic.php?f=16&t=18005&start=15#p140515

Here is the correct table

|    abc    |    abc    |    abc    |    abc    |    abc    |    abc    |    
|    adb    |    cbf    |    bfc    |    fcb    |    bad    |    cea    |    
-------------------------------------------------------------------------------------------------
|    abc    |    abc    |    abc    |
|    ace    |    dba    |    eac    |

Tri4.jpg

I also found an interesting technique of hiding diagonal edges, described in the following Nvidia paper. They suggest to hide an edge if it is the first edge of two triangles. It corresponds to the |abc|bad| rule in your terms.
Page 12 of https://developer.download.nvidia.com/SDK/10/direct3d/Source/SolidWireframe/Doc/SolidWireframe.pdf

If anyone is interested in an example, here is my implementation which is part of my open source ForzaTech importing script.

polys = []
faces_used = [False] * len(faces)
for i, f0 in enumerate(faces):
    if faces_used[i]:
        continue
    r = next(((j, f1) for j, f1 in enumerate(faces[i + 1:], i + 1) if f0[0] == f1[1] and f0[1] == f1[0]), None)
    if r is None:
        polys.append([f0[0], f0[1], f0[2]])
    else:
        j, f1 = r
        polys.append([f0[0], f1[2], f0[1], f0[2]])
        faces_used[j] = True
  • Author
  • Localization
On 2/9/2026 at 1:10 AM, Doliman100 said:

I'm reading your original XeNTaX post and it seems to contain a mistake in the table of all neighbor triangle combinations. The indexes "e" and "f" were replaced with "d" for some reason, e.g. |abc|acd| which should be |abc|ace|.

Nope, that's not a mistake. Coz it wasn't meant to correspond with the image. "a b c" stands for the 3 vertices along the orientation in the face buffer while "d" as a notation for the 4th vertex in the quad that might take any two of the verts of previous face to form an adjacent triangle, whose indices' orientation could also vary.

 

On 2/9/2026 at 1:16 AM, Doliman100 said:

They suggest to hide an edge if it is the first edge of two triangles. It corresponds to the |abc|bad| rule in your terms.

From a rough glance on that paper it merely applied to that model been used. As to hide a shared edge, or to create a new quad out of two triangles, is simply an implementation detail depending on the end format you're using. For obj you have not much choices.

Edited by Bigchillghost

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.