Commit Graph

13263 Commits

Author SHA1 Message Date
Ken Hughes
cb0aa467cd Tools
-----
New boolean merge algorithm.  The current code often does a poor job of merging tris and quads after the operation, resulting in many unnecessary faces.  This commit add a new algorithm which takes advantage of topology information saved in the interal BOP structures.

The file intern/boolop/intern/BOP_Misc.h has two #defines which control which algorithm(s) are compiled.  They are set now to compile both, with the new algorithm as the default.  The original algorithm can be enabled by setting the "rt" debugging button on the Scene panel (F10) to 100.

One note: the current boolean code still occasionally creates a non-manifold mesh from an operation on two manifold meshes.  The original merge algorithm would sometimes "close" these meshes and sometimes not.  The new algorithms behaves the same way, but sometimes closes a mesh the original would not and sometimes leaves open a mesh the original would close.  My fairly extensive tests did not indicate any significant difference in the percentage of final non-manifold meshes.
2008-07-31 18:37:03 +00:00
Joshua Leung
d66449996c == Grease Pencil Eraser - Tweaks ==
Improved accuracy of the eraser a bit. Now it does a boundbox test first before trying to erase strokes, which means that other (rather unrelated) strokes are less likely to be affected as well.
2008-07-31 12:23:29 +00:00
Ton Roosendaal
db82e15e6f Korean translation, provided by J.H. Jeong (yongdori)
(Bugreport 17415)
2008-07-31 12:23:09 +00:00
Ken Hughes
1b78333087 Tools
-----
Minor changes to boolean code; add an new include file to gather various
#defines global to the boolean system.  Currently, this just allows control
of whether some debugging code is compiled or not.

This is a precursor commit for some other boolean optimizations/cleanups.
But in case that commit is later reverted, this code should still remain.
2008-07-30 21:52:02 +00:00
Nathan Letwory
01b1bd4901 * another commit adding std:: to the sort call (older msvc [<9] choked?) 2008-07-30 20:45:04 +00:00
Benoit Bolsee
8a8a12ed84 BGE patch: logic optimization part 2: remove inactive sensors from logic manager.
With this patch, only sensors that are connected to 
active states are actually registered in the logic
manager. Inactive sensors won't take any CPU,
especially the Radar and Near sensors that use a
physical object for the detection: these objects
are removed from the physics engine.

To take advantage of this optimization patch, you
need to define very light idle state when the 
objects are inactive: make them transparent, suspend
the physics, keep few sensors active (e,g a message
sensor to wake up), etc.
2008-07-30 17:41:47 +00:00
Benoit Bolsee
d05363627b Update MSVC project since recent commit 2008-07-30 17:22:57 +00:00
Brecht Van Lommel
7f170c18bb Bugfixes: fix for two memory leaks related to dupligroups,
and a missing reference count in the trackto actuator. This
showed up as leaked pose data, but actually the whole object
was not being freed.
2008-07-30 16:15:15 +00:00
Daniel Genrich
2d3a57eaa3 Bugfix for mesh deformer under windows --> uninitialized variable was used in meshdeform_inside_cage() 2008-07-30 11:21:10 +00:00
Joshua Leung
f3a4f3adaf Grease Pencil Bugfixes:
* Segfaults with eraser should now be fixed 
* Attempted fixed for sequencer redraw problems with buttons
2008-07-30 09:20:05 +00:00
Joshua Leung
7b819bc631 == Grease Pencil - Eraser (First Draft) ==
This commit introduces the ability to erase strokes. Admittedly, the code for this is not totally stable yet, and doesn't always produce optimum results. I'm committing now for backup purposes.

It currently uses the lasso code to check whether segments of the strokes (a segment occurs between two recorded points) occur inside a region defined by the 'eraser' stroke, or any intersections it makes with the 'eraser' stroke.

There are multiple ways to erase strokes:
* With 'Draw Mode' on, use RMB-drag to erase
* With a tablet, use the 'eraser' end of the stylus
* Hold the Alt Key, and use the 'selection' mouse-button (i.e. LMB if mouse-button swapping is on, RMB otherwise) to erase. For this one, this is necessary to avoid overriding the view-rotation hotkey combo for 2-button mice!

Todo:
* 3d-strokes are not correctly mapped back to screen-space for sampling yet
* Drawing of eraser strokes is still not distinctive enough
* After running a few times, may cause stack corruption/segfaults, so be careful!


== Bugfixes ==
* Grease-Pencil Onion-Skinning works again. Onionskining was being supplied the wrong frames, and the alpha factor was still the old one used for 0-255 ranged colour values
2008-07-30 09:07:56 +00:00
Mal Duffin
34bb446734 Simple changes to Motion Actuator UI.
This includes...

- Renaming dLoc and dRot as Loc and Rot ( as well as changing the tooltip to location and rotation ).  dLoc and dRot are programming terms, not user terms.

- Placing Loc and Rot as the two initial shown values, so that the physical ones are all shown together.

I also changed it so that only Loc and Rot are shown in the UI, unless the object is Dynamic ( as the other values only make sense if it is dynamic ).

These are just a few simple changes, that should make a lot of difference to users when learning how to use the GE.


--------------------------------------

Things I'd *really* like to do to this, when I get a chance to code Blender again ( hopefully in a few days time, after I have finished teaching on the GE course )...

Color / Colour tint the X,Y and Z entry boxes as slightly red, green and blue, to reflect the colour of the axis / transform gizmo
...or...
Just show X,Y and Z labels above all of the values.

Getting to grips with the whole XYZ thing is very confusing for users, esp when they are presented with 6 x 3 entry boxes.
2008-07-29 22:44:43 +00:00
Nathan Letwory
e04c48df86 * making sure BGE compiles after brecht's big commit (r15867). Needed <algorithm> to compile with msvc. 2008-07-29 21:56:50 +00:00
Mal Duffin
7f3c27995e Copy Attributes now has option to copy all physical attributes.
There existed two options to copy only the mass, and only the damping, but no option to copy all of the physical attributes.

This patch adds in this option, right under the Mass and Damping listings.
2008-07-29 21:49:59 +00:00
Mal Duffin
ca951b3627 Am teaching a GE course this week, and am finding some small issues that I'm hoping to patch.
This one deals with the very small default clipend value ( 100.0 ) when pressing P to run the GE from a non-camera view.  ( ie if the user zooms out a bit from the default box area, the box will get clipped out of view, so it's a WFT from the user )

To see what this fixes, load up Blender default scene, go into perspective, and press P. Everything looks grand.  Now, zoom out until the box is about 10 pixels high, and press P again.  The box will disappear / be clipped out.

I've set the clip end to the maximum ( 5000 ) as defined in Camera.h.

This should be suitable for inclusion in 2.47 branch also.
2008-07-29 20:28:11 +00:00
Daniel Genrich
039814f7d2 No long needed here (win64 cleanup) 2008-07-29 18:07:06 +00:00
Brecht Van Lommel
908337bee1 Game Engine: alpha blending and sorting
=======================================

Alpha blending + sorting was revised, to fix bugs and get it
to work more predictable.

* A new per texture face "Sort" setting defines if the face
  is alpha sorted or not, instead of abusing the "ZTransp"
  setting as it did before.
* Existing files are converted to hopefully match the old
  behavior as much as possible with a version patch.
* On new meshes the Sort flag is disabled by the default, to
  avoid unexpected and hard to find slowdowns.
* Alpha sorting for faces was incredibly slow. Sorting faces
  in a mesh with 600 faces lowered the framerate from 200 to
  70 fps in my test.. the sorting there case goes about 15x
  faster now, but it is still advised to use Clip Alpha if
  possible instead of regular Alpha.
* There still various limitations in the alpha sorting code,
  I've added some comments to the code about this.

Some docs at the bottom of the page:
http://www.blender.org/development/current-projects/changes-since-246/realtime-glsl-materials/

Merged some fixes from the apricot branch, most important
change is that  tangents are now exactly the same as the rest
of Blender, instead of being computed in the game engine with a
different algorithm.

Also, the subversion was bumped to 1.
2008-07-29 15:48:31 +00:00
Benoit Bolsee
b0c513e83a BGE patch: fix support of group hidden layer in dupli group instantiation: only the objects in layers matching the group layer mask will be instantiated. This is equivalent to the 3D view 2008-07-28 22:36:27 +00:00
Ken Hughes
3120af6f34 Bugfix for #17396. Adding a text object would segfault when using freetype
2.3.6 or later.  Thanks to Cyril Brulebois for a one-line patch, which was
sent to the ML a while back.
2008-07-28 22:10:32 +00:00
Brecht Van Lommel
bc85f11e68 Bugfix: game engine does not support non-camera type objects as a
camera, would crash, so disabled using the object as a camera then.
2008-07-28 14:28:19 +00:00
Remigiusz Fiedler
91ece746b8 commit by jms:
Rvk1 to rvk2 script python did not work anymore with the softbodie in blender 2.46.  Only one line needs to be removed.
2008-07-28 10:13:56 +00:00
Joshua Leung
8162215f2a Bugfix:
Bone-locking should only be set if the bone (and not its parent/children) are selected. Transposition error from the patch (I had to manually apply as there were some oddities about the patch file).
2008-07-28 04:08:46 +00:00
Matt Ebb
edf557cb1c * Fix for Aligorith's fix for my mistaken uninitialised variable in outliner.c - it was never needed in the first place. 2008-07-28 00:21:34 +00:00
Joshua Leung
f4def51cd3 #17309: Copy/pasting bone names (without editing text) doesn't update bone/pose names
The pasting code for text-buttons (when hovering over the button), was incorrectly using the drawstr (i.e. the string that is displayed in the text-button, and includes the 'name' of the button) as the old value. This meant that the renaming code could not correctly detect matches to rename.
2008-07-27 12:48:46 +00:00
Joshua Leung
b2be0a181f Bugfix #17334:
This bug-report revealed a critical error made in the menus for Constraints Owner/Target spaces. It seems that the wrong values have been used for 'pose space' and 'local with parent' space. This has now been rectified, so that old rigs won't break (just that the labels will be a bit different).
2008-07-27 11:41:39 +00:00
Joshua Leung
05ec9021e4 Outliner.c:
Fixed some warnings about 'ob' being used uninitialsed. In some places that was definitely the case!
2008-07-27 05:20:35 +00:00
Joshua Leung
6035b3e0c7 Grease-Pencil:
* UI - added delete button for hidden layers
* Renamed the two hardcoded defines added for testing distances to their more formal nomenclature.
2008-07-27 04:39:55 +00:00
Joshua Leung
b24485ab92 Patch #17336: Lock bones in edit mode
Submitted by: Lorenzo Pierfederici (lento) 

This patch adds the ability to lock transformation on bones in edit mode, to protect them from accidental editing.

Bones can be locked from the editing buttons, the transform property panel, the specials popup menu or the python api.
2008-07-27 04:19:56 +00:00
Joshua Leung
b4fc80eb3d == Pose Mode - Copy Menu (Ctrl C) ==
This now works even when there is a proxy-protected bone selected with a few differences.
* The Transform Locks, IK-Flags, and Custom Bone Shape settings are unavailable, as they would be reset by the proxy protection anyway

Also, the Copy Constraints options have been altered so that they do NOT free all existing constraints on the target bones before copying.
* Constraints are now appended to the end of the constraint stacks, with those added to bones belonging on proxy protected layers getting tagged as 'local' constraints.
* This is more useful for riggers than the previous behaviour (which was quite nasty too).
2008-07-27 03:15:17 +00:00
Willian Padovani Germano
8a295553f7 == Python scriptlinks ==
Render/postrender events were missing from bg rendering (and also from rendering called inside scripts). Found this because of bug #17389, the code to prevent race conditions with pynodes is currently inside BPY_do_all_scripts (that runs scriptlinks) and so was not being called in bg mode or rendering via scripts.

http://projects.blender.org/tracker/?func=detail&atid=125&aid=17389&group_id=9
2008-07-26 22:00:26 +00:00
Joshua Leung
70ce017777 == Grease Pencil - Drawing (User Action not Display) Accuracy ==
This commit attempts to fix some of the problems with the accuracy of strokes recorded.

I've disabled the post-draw smoothing of strokes as it deviated from the source stroke too much. This was introduced to try to eliminate the effects of fine 'jitter' (which is especially noticable when using optical mice + fast computer). 

Now, I've introduced two thresholds which determine the 'minimum' distances that the mouse needs to have moved from the previous mouse-coordinates recorded, to be recorded. These are currently hardcoded, but may be exposed in the UI if there is significant need to do so.
- The first is for the distance that the mouse must have moved on both axes to be considered.
- The second is for the 'pythagorean' distance that needs to have been travelled by the mouse.
2008-07-26 12:54:03 +00:00
Benoit Bolsee
c4116a7f8d BGE patch: support runtime duplication of groups. Adding an object with Dupligroup option set will cause the group to be instantiated. No special actuator is needed for this feature, just put dupligroup objects in inactive layers and add them dynamically 2008-07-26 11:00:21 +00:00
Peter Schlaile
9f803439c7 == Sequencer ==
Fixes: [#17347] Scaling problems when "Use Translate" is enabled for image strip
2008-07-26 06:43:36 +00:00
Peter Schlaile
8234abe2b5 == Sequencer ==
since clear_last_seq replaces set_last_seq in kernel,
removed unneeded bad_level_call.
2008-07-26 06:19:50 +00:00
Joshua Leung
d979ebe11f Two fixes:
* For constraint mesh-targets, the check for whether the target mesh was in EditMode didn't check to see if the target mesh was the mesh in EditMode. 
Thanks jaguarandi for catching that!

* Bumped up size of buffer for grease-pencil drawing after seeing a program written in 1989 that had a 100 times larger buffer
2008-07-26 00:43:29 +00:00
Jens Ole Wund
1b3cf253ed rolling back 'bad' wind and force scaling compared to particles ..
because i have no solution on backward compatibility  
keeping bug fix
-wind and force did not work if aero or edge collision was activated.
2008-07-25 22:58:22 +00:00
Willian Padovani Germano
f6b85a55fa == PyNodes ==
Early Ehlinger reported a deadlock when a script tells Blender to render an animation and there are pynodes. While investigating I saw related crashes in bg (blender -b) mode, still not fixed. This commit tries to fix the problem for interactive mode, then. What it does is releasing the lock before rendering and relocking after that, like theeth suggests in the bug report:

http://projects.blender.org/tracker/?func=detail&atid=125&aid=17389&group_id=9
2008-07-25 22:30:03 +00:00
Campbell Barton
229a5809bb added exception messages to game engine matrix and vector conversions. also removed own unneeded defines in arithb.c 2008-07-25 21:14:23 +00:00
Benoit Bolsee
a7f951f25e BGE patch: approve patch #17312: Multiple material IPOs per mesh in BGE. 2008-07-25 13:45:57 +00:00
Benoit Bolsee
ab44742cf3 BGE bug fix: approve patch #17297: Track To Actuator bug fix 2008-07-25 10:52:10 +00:00
Nathan Letwory
8df67dae36 * make sure blenderplayer links again 2008-07-25 07:56:07 +00:00
Joshua Leung
325b1666d4 Grease Pencil - Backend work:
Just preparation work for an eraser tool (as well as the code of a failed attempt at an implementation).
2008-07-25 07:11:08 +00:00
Matt Ebb
846ae7a187 * Fix for bug #9450 'Problems with Extended Material node with AmbCol socket'
It turns out the material AmbCol property was never working properly, or even supported in the renderer, so I've removed it. Also included is a fix to make the 'Amb' input work properly too.
2008-07-25 01:17:37 +00:00
Joseph Eagar
bbd636df13 added note to epydocs explaining the nature of floats in id properties from the python point of view 2008-07-24 19:34:49 +00:00
Joseph Eagar
0118a82379 added support for doubles to the id property code, and made the python code use them by default 2008-07-24 19:22:17 +00:00
Jens Ole Wund
b93156a686 soft body bug fix own finding
left overs from new particles
-wind and force did not work if aero or edge collision was activated.
-force field had flipped sign compared to particles
tsk who thinks a attractive force should negative sign? well... i am passionless with that.
-adapted effect of wind and fields on softbodies such that softbody "particles" and particle "particles" behave consistently
note! 
effect of wind is 1/25 compared to before   
other forces 1/10
2008-07-24 12:27:31 +00:00
Joshua Leung
f9dc77c1c8 == Grease Pencil - More Tweaks (I) ==
New Stuff:
* Alt-XKEY / Alt-DelKey will now activate the Grease Pencil "Erase" menu. This will only show up when it's relevant (i.e. when there exists Grease Pencil data). It should make it faster to quickly delete the last stroke made. This hotkey has been added to the tooltips of the relevant buttons.
* Finished off colouring of 'active' layers panel so that they are now easily identify-able. This could also be done for Constraints, but the 'active' one isn't that important there.

Bugfixes:
* Fixed bug with drawing gp-data sources in the Action Editor, which resulted in missing icons.
* Fixed buttons in Grease Pencil panel. My hasty attempt last night at making the Action Editor to refresh was causing problems.
* Added a (hopefully temporary) button that will be used to prevent drawing from occurring with Shift-LMB. This is useful when trying to select stuff sometimes, with LMB as select-button, especially when selecting a bunch of closely spaced bones might be interpreted as a new stroke.
2008-07-24 09:23:13 +00:00
Matt Ebb
955ffb4abf * Added the ability to toggle visibility/renderability for bones in edit mode or pose mode, in the outliner 2008-07-24 06:21:33 +00:00
Matt Ebb
c1e85535cc * Added the ability to toggle visibility/renderability for modifiers, from the outliner 2008-07-24 06:04:03 +00:00
Matt Ebb
004197f720 * A bit more precision in the bevel mod 'width' field 2008-07-24 02:09:44 +00:00