Commits on Jun 13, 2009
  1. @bjorng

    Update release notes: R13B01 is now required

    The following correction in R13B01 eliminates a problem with
    dissolving all edges in an object:
    OTP-8033  array:from_orddict([]) and array:from_list([]) would
              construct fixed arrays instead of extendible arrays.
    bjorng committed Jun 7, 2009
  2. @bjorng

    Some cleanups

    Remove unused raw_vs field in #dlo{}. Remove ?TC(...).
    bjorng committed Jun 3, 2009
  3. @bjorng

    Eliminate the wings_draw_util module

    Most of functions in the wings_draw_module are only
    called from one other module. Move those functions
    into the modules that call them.
    The good_triangulation/5 function is called from two
    modules. Move it into the wings_tesselation module
    (one of the callers) and rename it to is_good_triangulation/5.
    Move the code in wings_draw_util:init/0 into wings_render:init/0.
    bjorng committed Jun 6, 2009
  4. @bjorng

    Protect vertex buffers from garbage collection

    If the last use of a binary is in a call to gl:vertexPointer/4,
    the binary could very well be deallocated before it is used by
    (for example) gl:drawArrays/3. Make sure that the binary is
    kept by passing it to a dummy function after the call
    to gl:drawArrays/3.
    You might think that vertex arrays kept in #dlo{} records are
    protected from garbage collections, but it turns out that
    temporary #dlo{} records are created in several places.
    Therefore, draw_faces_all/2 and smooth_faces_all/2 also need
    to protect their D (#dlo{}) arguments.
    bjorng committed Jun 4, 2009
  5. @bjorng

    Don't keep #dlo.face_ns after creating the display list

    The buffer for smooth normals is never re-used when the
    display list has been created, so there is no point
    keeping it.
    bjorng committed Jun 3, 2009
  6. @bjorng

    Don't build lists that are immediately matched apart

    Use separate arguments instead.
    bjorng committed Jun 2, 2009
  7. @bjorng

    Handle degenerate faces when showing smooth normals

    Degenerate faces that have lost of one or more triangles in the triangulation
    would cause a badmatch (because if we see two triangles after triangulation,
    we expect the original face to have exactly four vertices). Avoid the
    crash by using the face normal for all vertices if the original face
    doesn't have the expected number of vertices.
    bjorng committed Jun 2, 2009
  8. @bjorng

    Get rid of the OpenGL renderer and old drawing utilities

    It is no longer possible to support the OpenGL renderer.
    Use glu:triangulate/2 instead of wpc_ogla:triangulate.
    Replace the other few uses with primitive OpenGL code
    (i.e. gl:vertex3fv/1).
    bjorng committed Jun 1, 2009
  9. @bjorng

    Now supporting split.

    bjorng committed May 31, 2009
  10. @bjorng

    Properly display vertex colors.

    bjorng committed May 26, 2009
  11. @dgud @bjorng

    Miscellanous bug fixes

    dgud committed with bjorng May 24, 2009
  12. @bjorng

    Optimized drawing by by using a single interleaved array

    I saved some time by putting vertex positions in the same
    array. This could be extended to always put all data in one
    array, and we could save information about the layout of the
    array (stride and so on) so that we could set up all arrays
    The stride is stored with each buffer pointer, so that code
    outside of wings_draw_setup, will not need to know
    (or have any need to know) whether a given buffer
    is interleaved or not.
    bjorng committed May 24, 2009
  13. @dgud @bjorng

    Work faces and smooth faces uses vertex arrays.

    First step, to get input of code and for time measurement.
    Not completely working yet.
    dgud committed with bjorng May 23, 2009
  14. @bjorng

    Do not crash on stale hotkeys

    Hotkeys could have been created in ancient version of Wings or
    in a plug-in that is now disabled. It is annyoying to get a
    crash dump if you use a stale hotkey.
    Therefore, if a command that is initiatied by a hotkey fails
    in any way, show a dialog box asking the user what to do.
    In the dialog box we allow the user to ignore the error or to
    delete the offending hotkey. (We do not give a "Crash Dump"
    dump button, because it seems strange to generate a crash
    dump later than the actual error occurred.)
    To handle the related problem that repeating a command may
    cause a crash because a plug-in has been disabled, have the
    plug-in manager delete the last repeatable command (so that
    it cannot be repeated) if any plug-in was enabled or disabled.
    Handle stale hotkeys in Tweak mode in the same way.
    AutoUV does not yet handle stale hotkeys.
    bjorng committed Jun 8, 2009
  15. @bjorng

    Only use multisampling with OpenGL implementations that support it

    Test for the GL_ARB_multisample extension and only enable the
    choice for multisampling in the preferences if the OpenGL implementation
    supports it. That will avoid (harmless) error messages to the console
    if Develop|OpenGl Errors has been enabled.
    Also remove defines such as SDL_GL_MULTISAMPLEBUFFERS from
    wings_init that there only there to support an old ESDL (that
    will not work anyway for other reasons).
    Update Help|OpenGL Info to report the number of sample buffers.
    bjorng committed Jun 13, 2009
  16. @bjorng

    added uniform edge collapse with optional auto cleanup

    Richard Jones committed with bjorng Jun 7, 2009
  17. @bjorng

    crash when using Shift Spherical now fixed.

    Richard Jones committed with bjorng May 30, 2009
  18. @bjorng

    consolidation of extrude region with extrude, and extract region with…

    … extract faces.
    Richard Jones committed with bjorng Jun 1, 2009
  19. @bjorng

    Update the German translation

    Torsten Manz committed with bjorng Jun 13, 2009
  20. @bjorng

    Merge branch 'master' into next

    bjorng committed Jun 13, 2009
Commits on Jun 10, 2009
  1. @bjorng

    fixed crash in Edge|Collapse

    Richard Jones committed with bjorng Jun 9, 2009
Commits on Jun 7, 2009
  1. @bjorng

    Merge branch 'master' into next

    bjorng committed Jun 7, 2009
  2. @bjorng

    Fix bad mirror face in old Wings files

    Some old Wings files can have a mirror face that
    does not exist in the face table. Clear the mirror
    face to avoid the later crashes if it referes to
    a non-existing face.
    bjorng committed Jun 4, 2009
  3. @bjorng

    Return a correct selection after doing a Doo-Sabin subdivision

    The selection was not sorted in object ID order, which
    could cause crashes.
    bjorng committed Jun 5, 2009
Commits on Jun 6, 2009
  1. @bjorng

    Have wings_wm:update_focus/1 force a redisplay

    We need a redraw event when focus shifts to make sure
    that the window title bar indicate which window that
    has the focus. Instead of requiring each window to handle
    the got_focus message, let wings_wm:update_focus/1 itself
    call wings_wm:dirty/0 to force a redraw next time the
    event loop is entered.
    Also remove calls to wings_wm:dirty/0 from the event
    handling code for 'got_focus' in all event handlers
    in the core.
    bjorng committed Jun 6, 2009
Commits on May 30, 2009
  1. @bjorng
  2. @bjorng

    New Extract Faces plugin

    Richard Jones committed with bjorng May 27, 2009
  3. @bjorng

    Extended Shift plugin to work across all modes

    Richard Jones committed with bjorng May 25, 2009
  4. @bjorng

    Eliminate attempt to use auxiliary buffers.

    Most OpenGL implementations don't provide any auxiliary buffers and
    trying to use them will result in an OpenGL error and the currently
    selected buffer (GL_BACK) will be used anyway.
    bjorng committed May 30, 2009
  5. @bjorng

    Added Plug-in for Generating Ambient-Occlusion via OpenGL.

    Uses hardware-accelerated OpenGL calls, instead of ray-tracing, to
    calculate and set a per-vertex ambient-occlusion factor. A HemiCube is
    used to sample the environment's visibility. The results are stored in
    the vertex-colors and can also be baked to a texture through autouv.
    The Hemires variable is hard-coded at 64. Values greater than 64
    slowed down the calculation, and made no difference in the result.
    Values below 64 offered slightly increased speed at the cost of a
    much worse-looking solution. 64 seems to be the magic number here.
    Anthony D'Agostino committed with bjorng May 25, 2009
  6. @bjorng

    Remove unused fonts directories.

    Fonts used to be implemented as Erlang modules, but the implementation
    was changed a long time ago. The plugins_src/fonts  and plugins/fonts
    directories were forgotten.
    bjorng committed May 28, 2009
  7. @bjorng

    Remove the compiler option warn_obsolete_guard.

    It is default in R13B.
    bjorng committed May 28, 2009
  8. @bjorng

    Speeded up reading of fonts somewhat.

    Reading files in binary mode speeds up file reading
    by about 30 percent.
    bjorng committed May 28, 2009
  9. @bjorng

    Cleaned up the build of the MacOS X release.

    Moved the mac_make_dmg script from tools to the macosx directory
    and renamed it to make_dmg. Also modernized it using some new
    options in hdiutil that did not exist when I first wrote it.
    The driver_symbols files is no longer used. (It should have been
    deleted earlier when I updated strip_mac_driver.)
    bjorng committed May 28, 2009
  10. @bjorng