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.