Notes: - The data structure for the vertex tables has been changed. (There is one vertex table to keep track of the vertex positions, and another vertex table used for finding edges and face around the vertex.) The new data structure is faster and uses less memory. [bjorng] - When displaying vertices and edges, a feature in OpenGL called vertex arrays is used to faster transfer the data from Wings into OpenGL. This way of displaying geometry is slightly faster than the previous method. [dgud, bjorng] - ESDL updated to 1.0.1. (The next release in the 1.1 series will probably not work without that version of ESDL.) [bjorng] - Magnets are now drawn correctly in Tweak when selections across multiple objects are dragged. [optigon] - Selectings multiple objects in Tweak and calling a command via a hotkey would only affect one of the objects. Now corrected. [optigon] - Crash reported by Fonte Boa corrected. [optigon] - Tweak mode temporary selection fix. [optigon]
Changes: commit 83cf8855e15794185a10c4fb472c49305a86d088 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sat May 23 09:26:22 2009 +0200 Prepare for the 1.1.1 release. Updated release notes and eliminated two compiler warnings. commit cafc8e2ac9e9328c65bcf765b52513c5394bc9bc Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sat May 23 09:18:18 2009 +0200 Notes have been separated into two files. commit 9a5c447e70d868eb3c4be6d17fd6616903d16a4f Author: Richard Jones <optigon@users.sourceforge.net> Date: Wed May 20 08:41:15 2009 +0200 Fix crash in Aim when targeting unselected geometry. Bjorn's change to save the last command executed in #st.last_cmd assumed that command/2 always was called with a #st{} record as the second argument. That was not so. Aiming at unselected geometry (if turned on in the preferences), would construct a second argument looking like {add,St0,St} or {delete,St0,St}. I have changed that to send the extra information in the command itself. There is also no need to send the entire St, since only the selection is used. commit af8a84cf37cc2722981cbcae863f84fd9c392ccd Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Fri May 22 09:46:54 2009 +0200 Clean up of code for Flip. All kinds of Flips are now used with a matrix and wings_we:transform_vs/2, making the code clearer and more compact. commit ee3a1601927d37780c6608ff9da236a008971436 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Thu May 21 11:10:29 2009 +0200 Eliminated Dialyzer warning in wings_dissolve. commit b4393f2f4f59680fcf263cdf87dd9aa70b21087a Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Thu May 21 08:12:38 2009 +0200 Use e3d:average/2 instead of passing e3d:average/1 a two-element list. commit 73c6320b3a5e1c95f1e07031236b8c677e9020cf Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Wed May 20 13:00:43 2009 +0200 Use arrays instead of gb_trees for the vertex tables. Both the #we.vc and #we.vp tables are now arrays instead of gb_trees. For each table, about 4 words per entry will be saved. commit 5f9f18e5f9423c118b8019860c2e27313ad4074b Author: Richard Jones <optigon@users.sourceforge.net> Date: Sat May 23 00:41:31 2009 -0400 Fixed camera mode case clause crash in tweak reported by Fonte Boa. commit f1fe281429dd9cc7253ef0585fa65ab0116f5378 Author: Richard Jones <optigon@users.sourceforge.net> Date: Fri May 22 23:57:29 2009 -0400 Magnets are now drawn properly when multiple objects are selected and dragged in tweak. commit 129619021db9df33bd14bd392cb203f1df33a25c Author: Richard Jones <optigon@users.sourceforge.net> Date: Fri May 22 21:55:21 2009 -0400 Fixed selection bugs in tweak. commit 93fdbcc08c5e81690638454f3a553d7748924346 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Thu May 21 12:57:24 2009 +0200 Added a picture of a winged-edge. It should have been there from the beginning! commit 1f029545a5efcec15d86ee859b96801d918fc317 Author: Dan Gudmundsson <dgud@users.sourceforge.net> Date: Thu May 14 18:45:40 2009 +0200 Changed face and temp body selection to use vertex_arrays commit 1555deea96dbad24708eea9335ddfce195813aaf Author: Dan Gudmundsson <dgud@localhost.localdomain> Date: Thu May 14 15:11:28 2009 +0200 Vertex arrays for edges and points. Next step is faces and later reuse the vertex array. commit 412d1f2353360452c33ee6bcfad74968f9699b45 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Wed May 13 09:21:32 2009 +0200 Optimized drawing of edges. My optimized version does not build temporary binaries for each tri or quad. Measurements on my Mac: Before this optimization, using vertex arrays was somewhat slower than the old way of drawing edges. After this optimization, using vertex array is almost twice as fast as the old way. commit 92448fa18eebab241a8182e345952adde60cf1a3 Author: Dan Gudmundsson <dgud@users.sourceforge.net> Date: Sun May 10 16:41:55 2009 +0200 Use vertex arrays instead of the wpc_ogla driver. I do this because we need to get rid of wpc_ogla if we want to use wxerlang later so it part of that port. The performance seems to be the about same. NEW OLD hard_edge hard_edge wings_draw:363: Time: 16000 wings_draw:348: Time: 16000 wings_draw:363: Time: 32000 wings_draw:348: Time: 31000 wings_draw:363: Time: 78000 wings_draw:348: Time: 93000 wings_draw:363: Time: 313000 wings_draw:348: Time: 360000 make_edge: make_edge: wings_draw:367: Time: 47000 wings_draw:367: Time: 31000 wings_draw:367: Time: 156000 wings_draw:367: Time: 156000 80000 edges commit ede21c718c1b11ae466709c8ec0ab2059a931621 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sun May 17 20:41:02 2009 +0200 Add more types in records and eliminate Dialyzer warnings. Notes: AutoUV uses #st.bb and #we.name for its own purposes, so types must allow for that. (For now.) erlang:make_tuple/3 is not known by Dialyzer in R13B. It turns out that the code in wings_undo that used make_tuple/3 can be made shorter and more maintainable by using record_info/2. The field #we.saved is re-used for storing an image index in an ugly way. commit 9cebca208421825bda6340f12baa7a595d8b977a Author: Richard Jones <optigon@users.sourceforge.net> Date: Wed May 20 00:51:20 2009 -0400 temp selection wasn't clearing on new_state within Tweak mode commit 73643e917237292cb187dea25ee857cd8e6ea7d0 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Tue May 19 11:30:08 2009 +0200 Not rebuilding the edge table when extruding single faces. Here is another case when there was previous optimization of not updating the edge table directly, but instead collecting new edges into a list, and rebuilding the gb_tree for the edge table at the end. Directly updating the edge array is simpler, slightly faster, and requires less memory in the undo queue (especially when extruding only a few faces from a huge object). commit 43b57784f3786e6764cc3c29a7e76459085688a8 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Tue May 19 10:06:20 2009 +0200 Error handling for unknown I/O requests was incorrect. Simply fixing the original problem would only make it difficult to find the real problem from wings_crash.dump if/when the I/O protocol is extended in a future Erlang/OTP release. Therefore we ignore the request, but log it to the console itself. commit ab5d115c46f57dd978dae72ff3b50960860cda79 Author: Bjorn Gustavsson <bjorng@users.sourceforge.net> Date: Sat May 16 08:16:59 2009 +0200 Operate directly on the edge table. When the edge table was a gb_tree, massive updates to the edge table was better done by first converting the gb_tree to an orddict, work on it, and convert back. For an array, it is better to operate directly on the array to increase sharing between undo states. The speed is about the same, perhaps slightly slower. I choose to do this change because the code is simpler and not converting the edge array to an orddict and back will increase sharing between undo states when smoothing part of the object in face mode (in body mode, all of the edge table will be updated anyway).
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use