octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #47677] non-planar patches are not supported i


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #47677] non-planar patches are not supported in Octave
Date: Tue, 19 Apr 2016 13:58:42 +0000
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0

Follow-up Comment #3, bug #47677 (project octave):

After some debugging, I am under the impression that OpenGL does not support
non-coplanar polygons at all.
For the missing vertex, patch_tesselator::combine is called and the point is
collapsed onto [0 1 0].

>From the OpenGL docs [1]:
GLU_TESS_COMBINE
The combine callback is called to create a new vertex when the tessellation
detects an intersection or wishes to merge features. 

If I understand correctly, this is something OpenGL does automatically.
The only thing that occurs to me that would enable non-coplanar polygons would
be to divide the polygons into coplanar subsets and draw them seperately...

With the attaches patch that adds a bunch of debugging messages, I get the
following:

>> hp = patch ('Vertices', [0, 1, 0; 1, 1, 0; 0, 0, 0; 0, 0, 1], 'Faces', [1 2
3 4]);
opengl_renderer::draw_patch vdata[0] (0, 1, 0)
opengl_renderer::draw_patch vdata[1] (1, 1, 0)
opengl_renderer::draw_patch vdata[2] (0, 0, 0)
opengl_renderer::draw_patch vdata[3] (0, 0, 1)
opengl_renderer::draw_patch drawing faces
opengl_renderer::draw_patch (0, 0, 1)
opengl_tesselator::add_vertex (0, 0, 1)
opengl_renderer::draw_patch (0, 0, 0)
opengl_tesselator::add_vertex (0, 0, 0)
opengl_renderer::draw_patch (1, 1, 0)
opengl_tesselator::add_vertex (1, 1, 0)
opengl_renderer::draw_patch (0, 1, 0)
opengl_tesselator::add_vertex (0, 1, 0)
opengl_renderer::draw_patch ending face
patch_tesselator::combine vertices to combine (1, 1, 0)
patch_tesselator::combine vertices to combine (0, 1, 0)
patch_tesselator::combine (1, 1, 0)
patch_tesselator::vertex (1, 1, 0)
patch_tesselator::vertex (0, 0, 1)
patch_tesselator::vertex (0, 0, 0)
opengl_renderer::draw_patch drawing contours
opengl_tesselator::add_vertex (0, 0, 1)
opengl_tesselator::add_vertex (0, 0, 0)
opengl_tesselator::add_vertex (1, 1, 0)
opengl_tesselator::add_vertex (0, 1, 0)
opengl_renderer::draw_patch ending contour
patch_tesselator::combine vertices to combine (1, 1, 0)
patch_tesselator::combine vertices to combine (0, 1, 0)
patch_tesselator::combine (1, 1, 0)
patch_tesselator::vertex (1, 1, 0)
patch_tesselator::vertex (0, 0, 1)
patch_tesselator::vertex (0, 0, 0)




(file #36963)
    _______________________________________________________

Additional Item Attachment:

File name: patch_tesselator_debug.patch   Size:10 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?47677>

_______________________________________________
  Nachricht gesendet von/durch Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]