Skip to content
Commits on Oct 17, 2009
  1. @bjorng
  2. @bjorng

    move windows that are beyond the max X into view on exit

    Richard Jones committed with bjorng Oct 3, 2009
  3. @bjorng
  4. @bjorng

    NOTE: Added Bbox Move and Scale to Selection tools. BBox now

    displays with a visible center and uses the user define Vector
    colour. [optigon]
    Richard Jones committed with bjorng Oct 2, 2009
  5. @bjorng

    Optimize loading of edges without vertex attributes

    Loading wings files become somewhat slower in 1.1.5 when vertex
    attributes no longer was stored in edges.
    For edges without vertex attributes, we can bypass the code for
    handling vertex attributes and avoid building #va{} records and
    lists that ultimately make no difference.
    NOTE: Opening .wings files without vertex attributes is now
    slightly faster. (Thanks to ycarry.) [bjorng]
    bjorng committed Oct 4, 2009
  6. @bjorng

    Optimize Separate when there are many sub-objects

    wings_util:array_smallest_key/1 gets increasingly slower as the
    number of 'undefined' entries before the first defined entry
    in the array increases. It is a big win to keep track of the
    next possible position where we can find a defined entry.
    We can also save some time in separate/3 if we avoid putting edges
    that we have already copied into the working set.
    bjorng committed Oct 3, 2009
  7. @bjorng

    wings_we:rebuild/1: Optimize vertex position GC

    The vertex position GC part of the rebuild operation will be slow
    if there are many more vertex positions in the 'vp' table than
    entries in the 'vc' table (for example, when separating an object
    with many sub-objects) because the 'vp' table is converted to
    a list which must be traversed to discard unused positions.
    Fix that by looking up each vertex in the 'vc' table in the original
    'vp' array. That will be slightly slower if the tables have the
    same number of entries, but much faster if there are many more
    entries in the 'vp' table.
    NOTE: The Separate command is now significantly faster when run
    on objects with many sub-objects. (Thanks to ycarry for noticing
    the slowness.) [bjorng]
    bjorng committed Oct 3, 2009
  8. @bjorng

    Add wings_we:fast_rebuild/1

    When undoing, we only want to rebuild the 'vc' and 'fs' tables,
    but not do any GC of the 'vp' table (doing a GC will not do any
    good, but will probably decrease sharing with the rest of
    the Undo history).
    While at it, correct the comments to for rebuild/1 to note that
    vertex GC always happen.
    bjorng committed Oct 3, 2009
  9. @bjorng

    Optimize marquee picking of many objects

    Sort the hits when we have collected all of them, not once
    per object to avoid quadratic complexity.
    While at it, add some comments to make it clearer what the
    different case branches do.
    NOTE: Selecting many elements in many objects using marquee
    selection is now much faster. (Thanks to ycarry for noticing
    the slowness.) [bjorng]
    bjorng committed Oct 3, 2009
  10. @bjorng

    Validate hole faces when loading wings files

    While at it, rearrange and comment the code in share_list_2 to
    make it clearer.
    NOTE: Wings will now validate holes when loading .wings files,
    and remove from the list of holes any non-existent face or
    face that is not invisible. (Importing objects with holes and
    saving in a previous release of Wings could cause such
    inconsistencies, as described in the previous release note.)
    bjorng committed Oct 10, 2009
  11. @bjorng

    Let wings_we:merge/{1,2} re-hide holes

    After merging using wings_we:merge/{1,2}, the function
    wings_we:rehide_holes/1 must always be called, or there will be
    faces that are marked as holes but still visible. I had forgotten
    to call rehide_holes/1 from wings_import.
    Therefore, remove the function rehide_holes/1 and let merge/{1,2}
    take care of re-hiding the holes.
    NOTE: When importing holes were not always handled correctly.
    There could be faces marked as holes internally, but the faces
    would still be visible. Future operations (such as Combine), could
    then cause the faces to suddenly disappear (i.e. become holes).
    (Thanks to Siber.) [bjorng]
    bjorng committed Oct 10, 2009
  12. @bjorng

    Fix crash in wings_we:merge/{1,2}

    wings_we:merge/{1,2} can sometimes crash because of duplicate keys
    in the vertex or edge table. The reason is that merge_renumber/3
    can fail to realize that two objects has overlapping ranges if
    merge_bounds/2 returns negative lower bounds (causing the list
    of Wes to be sorted in the wrong order).
    Fix this problem by returning a lower bound of 0 for objects
    that have invsible faces.
    bjorng committed Oct 10, 2009
  13. @bjorng

    Use R13B02 to speed up building of fonts

    Using the new file:read_file/1 function we can speed up building
    of fonts.
    NOTE: For developers: Erlang/OTP R13B02 is now required for building
    Wings. [bjorng]
    bjorng committed Oct 2, 2009
Commits on Oct 8, 2009
  1. Enable FreeBSD Compile

    Added include and library paths for opengl and jpeg.
    Changed make_installer to handle FreeBSD's, which is not a
    symbolic link. Also switched to 'bash' because the built-in pwd command
    in 'sh' produces a minor error if the wings directory is a symbolic
    NOTE: Wings now compiles cleanly on FreeBSD.
    Anthony D'Agostino committed Oct 8, 2009
Commits on Oct 3, 2009
  1. @bjorng
  2. @bjorng

    NOTE: Windows could appear above the visible screen area. Now some code

    checks for this as windows are loaded and moves them within the visible
    range. [optigon]
    Richard Jones committed with bjorng Sep 25, 2009
  3. @bjorng
  4. @bjorng

    LWO import: Don't crash on unsupported SUBD forms

    NOTE: Newer LWO files may contain a sub form of POLS called SUBD.
    Unfortunately, I have found no description on how to interpret those
    forms. If you happen to know how to interpret those forms, please
    post a message in the Programming forum. The LWO importer will now
    quit with an error message instead of crashing when encountering
    ae SUBD form. (Thanks to Siber.) [bjorng]
    bjorng committed Oct 1, 2009
  5. @bjorng

    Allow selecting area lights from all sides

    Starting from d7f0aca, area lights
    use proper holes as their backside (instead of the _hole_ material).
    Therefore, it is no longer possible select an area light from the
    back side.
    Disable back face culling when picking area lights to allow they
    to be selected from both sides.
    NOTE: Area lights can now be selected from both sides, not only
    from the front face. (Thanks to Micheus.) [bjorng]
    bjorng committed Sep 29, 2009
  6. @bjorng

    Fix crash when creating new Geometry window

    In commit 4ad808c,
    wings_toolbar:button_help/2 was made more strict in
    requiring that #sh.but is a boolean.
    Unfortunately, the default initialization of the #but{} record
    leaves set to 'undefined', causing a crash when a new
    Geoemetry window is created.
    To avoid the crash, add a default value for so that it
    never can be 'undefined'.
    Also update the code in wings.erl that create the Geometry window
    to send the newly created toolbar window the current status, so
    that the toolbar starts out in the correct selection mode.
    While at it, clean up some indentation in wings.erl.
    NOTE: Creating a new Geometry window and moving the mouse cursor
    over the toolbar of the new window before doing anything else would
    cause Wings to crash. (Thanks to BlackHarmo.) [bjorng]
    bjorng committed Sep 23, 2009
  7. @bjorng

    Refresh the AutoUV window when Geom window updates UV coordinates

    AutoUV will only rebuild its charts if the edge table has been
    updated. Since 1.1.5, UV coordinates are not kept in the edge
    table any longer, so a change of UV coordinates done by the
    Geometry window (for instances, by undoing) will not force
    rebuilding of the charts.
    Make sure that we rebuild the charts if either the edge table
    OR vertex attributes have changed.
    NOTE: Undoing a change of UV coordindates would not update the
    AutoUV window. (Thanks to no204.) [bjorng]
    bjorng committed Sep 22, 2009
  8. @bjorng

    Windows: Add new install/uninstall icons

    NOTE: Gordo has designed new (much nicer) install and uninstall icons
    for the installer on Windows. [bjorng]
    Benjamin Burnett committed with bjorng Sep 26, 2009
  9. @bjorng

    Optimize selecting by material

    NOTE: Select by material is now much faster for big objects with
    more than one material. (Thanks for ycarry for noticing the
    slowness.) [bjorng]
    bjorng committed Sep 28, 2009
  10. @dgud @bjorng

    Fix performance problems for Combine/Separate

    The change in 235be9f to use
    arrays instead of gb_trees for the edge table made Combine and
    Separate much slower if there were many objects in the scene
    because array:from_orddict/1 does not create sparse arrays if
    there are holes in the index numbering.
    This problem is best fixed in array.erl to make sure that
    array:from_orddict/1 creates sparse arrays. Include the fixed
    version of array.erl in Wings until R13B03 has been released.
    NOTE: Combine and Separate became much slower in 1.1 if there
    were many objects in the scene. This has been corrected.
    (Thanks to ycarry.) [dgud/bjorng]
    dgud committed with bjorng Sep 30, 2009
  11. @bjorng

    Teach Edge Loop To Region to stop on virtual mirror/hole edges

    NOTE: The Select|Edge Loop|Edge Loop To Region command will
    now allow virtual mirror and hole edges to close an edge loop.
    (Suggested by FonteBoa.) [bjorng]
    bjorng committed Sep 29, 2009
  12. @bjorng

    Flatten the mirror face when creating a virtual mirror

    NOTE: The Tools|Virtual Mirror|Create command will now
    automatically flatten the virtual mirror face. [bjorng]
    bjorng committed Sep 21, 2009
  13. @bjorng
  14. @bjorng

    Make the virtual mirror face invisible

    Making the virtual mirror face for an object invisible (giving it
    a negative face number), will simplify especially the
    wings_we:visible* functions because a special case disappears.
    On the other hand, some functions will become slightly more
    While at it, comment the functions having to do with invisible
    faces in wings_we and move them upwards to the other API functions.
    bjorng committed Sep 19, 2009
  15. @bjorng

    Factor out code for projection to the virtual mirror plane

    Add wings_we:mirror_projection/1 for constructing a matrix for
    projecting to the virtual mirror plane.
    bjorng committed Sep 20, 2009
  16. @bjorng

    Use wings_we:validate_mirror/1 and wings_we:visible/{1,2}

    Coding guidelines: "Use existing APIs and libraries."
    bjorng committed Sep 19, 2009
  17. @bjorng

    Rename wings_we:any_hidden/1 to wings_we:is_open/1

    We want a name that makes it absolutely clear that this
    function will not return 'true' just because there is a
    virtual mirror face.
    bjorng committed Sep 18, 2009
Commits on Sep 25, 2009
  1. @bjorng

    Merge branch 'master' into next

    bjorng committed Sep 25, 2009
  2. @bjorng
  3. @bjorng

    Snow Leopard: Force use of gcc 4.0

    To still support building a MacOS 10.4 (Tiger) target on a
    Snow Leopard development host, we must make sure that we use
    the gcc-4.0 compiler and not the default gcc 4.2 compiler.
    (I have no way to test Wings on either Tiger or PPC Macs.)
    It is probably still possible to build on 10.5 (Leopard) host,
    but I have not tested that.
    NOTE: This release for Mac OS X has been built with Snow
    Leopard (10.6) as the host OS. It is still supposed to work on
    Tiger (10.4) with either PPC or Intel CPUs, but I have no way to
    actually test that. [bjorng]
    bjorng committed Sep 1, 2009
  4. @bjorng

    MacOS X/Intel: Fix reading of JPEG/PNG/GIF images

    Fix a long-standing bug on Intel Macs by adding a 'native'
    specifier to the BytesPerRow field. In practice, on Leopard
    image reading happens to work (at least most of the time) despite
    the bug, but on Snow Leopard the bug strikes every time.
    NOTE: It was not possible to load JPEG, PNG, or GIF images (either
    as textures or using the Image Plane commands) on Snow Leopard.
    (Thanks to Riolan and nobrandname.) [bjorng]
    bjorng committed Sep 20, 2009
Something went wrong with that request. Please try again.