Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 4 of 4

Thread: (non realtime) Hidden face removal

  1. #1
    Junior Member Regular Contributor
    Join Date
    Nov 2012
    Location
    Bremen, Germany
    Posts
    149

    (non realtime) Hidden face removal

    Hello!
    I've got a few 3d-models which aren't drawn very cleanly - that is: There are some faces which are never visible from any point of view - as for example two intersecting spheres.
    Having given up googling for an answer I was searching for a clean way to remove the hidden faces but didn't come to a "clean" (that is: mathematically correct) solution.
    Such a solution would mean to find all triangles for which it is impossible to cast a ray from anywhere of it's surface to a point sufficiently far away without intersecting any other triangle.
    Having thought about this this would form an (in-)equation system that contains different equations as well as inequalities: First one knows the ray is originated on the triangle to test for invisibility:
    Code :
    P = A + a*AB + b*AC  , a>=0, b>= 0, a+b <= 1
    and the ray cast from it
    Code :
    R = P + c * D
    may not intersect with any triangle
    Code :
    T = Q + s*S + r*R, s+r <= 1, s>=0, r>= 0
    .
    which leads to:
    Code :
    R != T, for any (valid) a,b,c,D,T (in all other triangles)
    .

    Can this be solved efficiently? Is there software performing perfect non-realtime face removal?

  2. #2
    Advanced Member Frequent Contributor
    Join Date
    Dec 2007
    Location
    Hungary
    Posts
    985
    If you know that the visible faces that "hide" the invisible faces form a closed mesh then the problem is simply reduced to a "point in concave primitive" issue which you'll be able to easily find efficient algorithms for. If the mesh has "holes" then it is a bit trickier though, but definitely solvable efficiently.
    Disclaimer: This is my personal profile. Whatever I write here is my personal opinion and none of my statements or speculations are anyhow related to my employer and as such should not be treated as accurate or valid and in no case should those be considered to represent the opinions of my employer.
    Technical Blog: http://www.rastergrid.com/blog/

  3. #3
    Junior Member Regular Contributor
    Join Date
    Nov 2012
    Location
    Bremen, Germany
    Posts
    149
    Hmm. Is there software - eg. Modeling-Tools - available that can do such model-cleanup?

    EDIT: It has been some time since I looked into the test-Version of 3DS-Max and that was not a feature I searched for.
    Last edited by hlewin; 07-23-2013 at 08:51 PM.

  4. #4
    Junior Member Regular Contributor
    Join Date
    Mar 2012
    Posts
    129
    You could use Bullet Physics along with its included convex hull decomposer.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •