Donate Share

Wings 3D

File Release Notes and Changelog

Release Name: 1.1.3

Notes:
- Torsten Manz updated the German translation. [bjorng]

- Menu Cleanup: Consolidated Extrude with Extrude Region and Extract Region with
  Extract Faces. Since there is now only one heading each for Extrude and
  Extract, the mouse buttons that activate specific commands have been changed.
  Please see the related info lines for details. [optigon]

- Crash when using Shift Spherical (mmb option) now fixed.
  (Thanks to Fonte Boa.) [optigon]

- Edge|Collapse now deletes edges more uniformly than the previous
  implementation. Also, a Rmb option has been added to automatically cleanup
  any newly created isolated vertices resulting from the collapse edges.
  (Thanks to deerwood and Fonte Boa). [optigon]

- On OpenGL implementations without support for multisampling,
  there would be (harmless) error messages written to the console
  Develop|OpenGL Errors had been turned on. Changed to only
  attempt to use multisampling if the OpenGL implementation supports
  it, and no longer showing the checkbox in the preferences for
  turning on/off multisampling if the OpenGL implementation does
  not support it. [bjorng]

- If a command executed through a hotkey causes an error,
  a dialog box with some help will be shown. [bjorng]

- Major rewrite of how geometry data is sent to OpenGL. We used
  to have a specially written driver, but for future compatibility
  we cannot use a driver. Instead we use vertex arrays.

  This is the first step in this direction and we expect to do
  further optimizations. For the moment, some display updates
  can be slower and some can be faster than before.

  As part of this change, the OpenGL renderer has been removed.
  Sorry for any inconvenience, but it had to go. [dgud & bjorng]

- This release uses R13B01. A bug fix in the array module in R13B01
  eliminates a crash that occurred when all edges in an object
  were dissolved. [bjorng]

- This development release also includes all bug fixes in the 1.0.1 release.


Changes: commit 1f5aa32ab463ed03c45c7542335a6bd566552c86 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sun Jun 7 11:39:34 2009 +0200 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. commit c97fc3d8b94a85625778bd790f194939dcf4c6c7 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Wed Jun 3 07:56:33 2009 +0200 Some cleanups Remove unused raw_vs field in #dlo{}. Remove ?TC(...). commit 0812b099161ce7e03375eb13678e697ed8535319 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sat Jun 6 16:03:53 2009 +0200 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. commit c24383d618fdeebcf6fbfbaef07771167d55a697 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Thu Jun 4 22:25:21 2009 +0200 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. commit 76d4b6f984bdf1e3975587d5292fe51411b333a3 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Wed Jun 3 07:57:16 2009 +0200 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. commit 2ded3c12c6f76649f07de0ffe421613e0b7b5f87 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Tue Jun 2 20:22:25 2009 +0200 Don't build lists that are immediately matched apart Use separate arguments instead. commit f36ec5f7c0a387ee77a22aa57121dcaea2130887 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Tue Jun 2 20:04:09 2009 +0200 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. commit 57fe5e2164399239c8b740761364cfb9d93408a2 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Mon Jun 1 05:33:16 2009 +0200 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). commit 4497e97b039d3072fdb21f0d0fda3de554830938 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sun May 31 14:10:46 2009 +0200 Now supporting split. commit de1dda2620d7c4065c69befe905e2b9fab04ef61 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Tue May 26 21:15:59 2009 +0200 Properly display vertex colors. commit 6323644e85195e62993a4d566a8bf43b133815dc Author: Dan Gudmundsson <dgud@users.sourceforge.net> Date: Sun May 24 23:00:17 2009 +0200 Miscellanous bug fixes commit e440103b7c8a926892c35ea1f142e5485394bf96 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sun May 24 10:30:35 2009 +0200 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 properly. 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. commit 22412149fe6f9de1b6451667169159b226e2bc67 Author: Dan Gudmundsson <dgud@users.sourceforge.net> Date: Sat May 23 00:27:15 2009 +0200 Work faces and smooth faces uses vertex arrays. First step, to get input of code and for time measurement. Not completely working yet. commit 6f9cd6af456a4e5465da776f9404004435449483 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Mon Jun 8 07:06:36 2009 +0200 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. commit d3e8251063f7422c3c407879c58a0fe1aba55c28 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sat Jun 13 08:40:42 2009 +0200 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. commit f122c3a9db889348973682202b66f381231dabba Author: Richard Jones <optigon@users.sourceforge.net> Date: Sun Jun 7 02:16:49 2009 -0400 added uniform edge collapse with optional auto cleanup commit 6492396fc7957cbeb35ca81631025cfda214ef54 Author: Richard Jones <optigon@users.sourceforge.net> Date: Sat May 30 10:32:16 2009 -0400 crash when using Shift Spherical now fixed. commit f416f6f12dda3b390cd702f1c7e23ad61ed3c99d Author: Richard Jones <optigon@users.sourceforge.net> Date: Mon Jun 1 03:00:28 2009 -0400 consolidation of extrude region with extrude, and extract region with extract faces. commit 85c9eae6022bfe4dfd6cd12eee0d2c297270496b Author: Torsten Manz <fluegeldreid@arcor.de> Date: Sat Jun 13 07:57:20 2009 +0200 Update the German translation commit 5b84e589c8baf7dcf58456eddcc415b232fe076b Author: Richard Jones <optigon@users.sourceforge.net> Date: Tue Jun 9 15:46:18 2009 -0400 fixed crash in Edge|Collapse commit fa945ea9b1c2ee3368d587301c4bb1bf826293a8 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Thu Jun 4 07:43:22 2009 +0200 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. commit d3e09d671ea2fa8fa3af55e93e45382b79db0652 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Fri Jun 5 19:43:48 2009 +0200 Return a correct selection after doing a Doo-Sabin subdivision The selection was not sorted in object ID order, which could cause crashes. commit 25008824968584548fab7ed2d45b5e52d12a820a Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sat Jun 6 22:45:42 2009 +0200 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.