Commit Graph

11183 Commits

Author SHA1 Message Date
Joshua Leung
ef4fa972ba Changed the default hotkeys for playing animations to be more useful IMO (ported from AnimSys branch):
* Alt-A now only plays the animation in the active space, if that space is a 3D-view. Otherwise, it plays the animation in all spaces. The old behaviour simply didn't make sense for animation editors, where you'd simply see the current-frame marker moving...

* Alt-Shift-A now plays the animation in all spaces regardless of whether they are active (including 3d-views)
2007-12-19 08:48:41 +00:00
Campbell Barton
b3ff38cacd Problem with OBJ import found by Mark Ivey - would not import an obj if all verts were int values. 2007-12-19 07:44:37 +00:00
Diego Borghetti
0b66838f40 Add support for stampinfo to the JPEG format.
This is the review of the patch:
	[#5485] Invisibly stamp render information into jpg and png files.
		by Rob Hausauer (paprmh)

NOTE: I split this patch in 3 part:
	1) jpeg support
	2) python api
	3) sequence plugin

This is the first part, hope finish with the other two tomorrow night.
2007-12-19 05:37:57 +00:00
Nicholas Bishop
592ed2c812 Fixed bug #7960, Sculpt Mode: Crash after Scaling brush to 1 ("Tile" mode)
Division by zero fix
2007-12-18 23:27:26 +00:00
Nicholas Bishop
5518aaaace Fixed bug #6711, Retopo problem when maximizing 3d view and still painting
Caused by some incorrect usage of the current v3d during updates
2007-12-18 21:56:17 +00:00
Brecht Van Lommel
84b58f8653 Particles
=========

- The render and realtime button for the particle system modifier
  and the enabled button for particles now work seperate again,
  made a bad design decision to tie them together. Now with only
  the render button and not realtime enabled it renders.
- Fix for bug #7948: particle mode crash while constraining axis.
- Fix for bug #7945: crash loading effector groups from an old file.
- Fix for bug #7942: crash for reactor particles emitting from particles.
2007-12-18 16:55:09 +00:00
Brecht Van Lommel
f4e1c89b20 Bugfix: the transform of a particle system in a dupli-group was wrong. 2007-12-17 21:19:17 +00:00
Brecht Van Lommel
25a434fd25 Threaded Shadowbuffers Creation
===============================

- One shadowbuffer per thread.
- Added more break tests in shadow buffer code.
- Removed R.clipcrop global, solution is not nice yet, but at
  least threadsafe.
- Fixed bug in strand render shadow buffer code.
2007-12-17 21:04:22 +00:00
Martin Poirier
5dfef1ae35 Reverting to 2_2x BPY
I was careful in selectively rolling back revisions, but if you've committed changes unrelated to BPY mixed with BPY changes, I might have reverted those too, so please double check.
2007-12-17 20:21:06 +00:00
Brecht Van Lommel
293c91c305 Bugfix: with a lot of child particles (1500 per parent), some faces
would get no particles at all. Issue turns out to be precision of
floats for incrementing a number between 0 and 1, now uses doubles..
2007-12-17 16:25:15 +00:00
Brecht Van Lommel
d4ee29f70a Bugfix: with particle distribution based on orco's, there was no
correction for them being 'squashed' to the bounding box of the
object, gave weird artifacts with child particle distribution.
2007-12-17 15:32:27 +00:00
Brecht Van Lommel
bb6640a63c Shift+O subdivision switching now also allows to switch
particle systems on/off if they exist.
2007-12-17 12:54:39 +00:00
Brecht Van Lommel
f33f7ed62a Bugfix: memory leak with multi-modifier, if the modifier
using the previous coordinates was disabled.
2007-12-17 11:47:24 +00:00
Campbell Barton
a4dc7c6676 rename WITH_PYAPI_V24X to WITH_BPYAPI_V24X (because its blender's api version number not pythons), made 24x api use its own armature weakref list since pyobject types are different. 2007-12-17 11:32:52 +00:00
Brecht Van Lommel
b2a7619fe8 Bugfix: particle add brush in perspective mode would sometimes
not add particles, view ray was wrong.
2007-12-17 11:20:51 +00:00
Joshua Leung
317ad91349 == Fill Bones - Bugfixes ==
* Some joints were identified multiple times, which caused a "too many joints" error when only 2 joints were selected
* When no joints were selected, "too many joints" error was displayed. This has been changed to "no joints selected"
* Fixed a memory leak that occurred when "too many joints selected"
2007-12-17 10:34:49 +00:00
Joshua Leung
793d7b1eb9 More BPyAPI compiling fixes again.
* Added missing stubs so that blenderplayer can be linked.
2007-12-17 08:32:14 +00:00
Joshua Leung
de073e74d1 Bugfix #7918: Particles (svn) Crashing when adding particles in EditMode
This commit should fix the error. dm was used before being check if it was NULL.
2007-12-17 06:32:53 +00:00
Joshua Leung
ca689313d2 More BPyApi (New/2_5x) compiling fixes for mingw.
* Mostly fixed a few more of the tp_base errors, in the manner that Ken did...
* There's still a weird warning in draw.c about some function being used but not defined
* I've included the source splitting hack here too, as I was getting problems getting it to link the files...
2007-12-17 06:12:01 +00:00
Nicholas Bishop
efb2d5fc97 == Sculpt Mode ==
Improved some memory allocation; it doesn't actually use less memory now, just avoids reallocating the same block of memory over and over again.
2007-12-17 04:52:46 +00:00
Nicholas Bishop
bda2c40763 == Sculpt Mode ==
Minor refactoring of the overgrown sculpt() function.
2007-12-17 04:10:38 +00:00
Nicholas Bishop
4431e7d441 Applied Ian Calvert's patch (#7801) to add a "rake" setting to sculpt mode; when used with a 2D brush texture, the texture is automatically rotated to follow the direction of the brush stroke. 2007-12-17 03:21:25 +00:00
Campbell Barton
079d78f183 * Added an option not to compile the 2.4x api (WITH_PYAPI_V24X for Makefiles and WITH_BF_PYAPI_V24X for scons)
* ghash wasnt being set to null when python stopped and was segfaulting on exit
2007-12-16 06:50:49 +00:00
Campbell Barton
afb869fbe0 Python API Merged from branch,
http://wiki.blender.org/index.php/Rewriting_the_2.4x_BPython_API

Some areas are not yet finished, the 2.4 api can remain "import Blender" and the bpy api "import bpy" gives access to the new api.

Todo
* event, link, etc are not assigned to Blender.*
* Scripts need to be tested and updated.
* Scripts cannot mix bpy and Blender modules anymore.
* Makefiles need to be updated (only works with scons now)
* Make the 2.4 api optional with IFDEF's
* Lots of testing and small fixes
2007-12-16 03:42:41 +00:00
Joshua Leung
1fe2c51966 == AutoIK - Fixes for MouseScroll Setting ==
* Added display of current chain-length setting to the header, when transforming with Auto-IK on

* Removed debug print accidentally left in 

* Fixed compiler warning in buttons_object.c
2007-12-16 00:59:06 +00:00
Martin Poirier
2b9de725e3 == Text Window ==
Patch [#7849] by Jetze van Beijma, strike 2.

The first patch fixed the size of the scroll bar, this one fixes drawing of selected text area (the redish area in the scrollbar).
2007-12-15 21:40:23 +00:00
Brecht Van Lommel
460dd7a7bb Render Instancing
=================

Big commit, but little user visible changes.

- Dupliverts and duplifaces are now rendered as instances, instead
  of storing all of the geometry for each dupli, now an instance is
  created with a matrix transform refering to the source object.
  This should allow us to render tree leaves more memory efficient.

- Radiosity and to some degree raytracing of such objects is not
  really efficient still. For radiosity this is fundamentally hard
  to solve, but raytracing an octree could be created for each object,
  but the current octree code with it's fixed size doesn't allow this
  efficiently.

- The regression tests survived, but with I expect that some bugs will
  pop up .. hopefully not too many :).

Implementation Notes
====================

- Dupligroups and linked meshes are not rendered as instances yet,
  since they can in fact be different due to various reasons,
  instancing of these types of duplis that are the same can be added
  for them at a later point.

- Each ObjectRen now stores it's own database, instead of there being
  one big databases of faces, verts, .. . Which objects that are actually
  rendered are defined by the list of ObjectRenInstances, which all refer
  to an ObjectRen.

- Homogeneous coordinatess and clipping is now not stored in vertices
  anymore, but instead computed on the fly. This couldn't work for
  instances. That does mean some extra computation has to be done, but
  memory lookups can be slow too, and this saves some memory. Overall
  I didn't find a significant speed impact.

- OSA rendering for solid and ztransp now is different. Instead of e.g.
  going 8 times over the databases times and rendering the z-buffer, it
  now goes over the database once and renders each polygon 8 times. That
  was necessary to keep instances efficient, and can also give some
  performance improvement without instances.

- There was already instancing support in the yafray export code, now it
  uses Blender's render instances for export.

- UV and color layer storage in the render was a bit messy before, now
  should be easier to understand.

- convertblender.c was reorganized somewhat. Regular render, speedvector
  and baking now use a single function to create the database, previously
  there was code duplicated for it.

- Some of these changes were done with future multithreading of scene
  and shadow buffer creation in mind, though especially for scene creation
  much work remains to be done to make it threadsafe, since it also involves
  a lot of code from blenkernel, and there is an ugly conflict with the way
  dupli groups work here .. though in the render code itself it's almost there.
2007-12-15 20:41:45 +00:00
Campbell Barton
dbc8e1e883 fix for own mistake when changing curve flags - Reported as [#7888] Extrude broken for vector handles 2007-12-15 15:30:08 +00:00
Joshua Leung
3301d046b6 Patch #7916: New Empty Types - Sphere and Cone
Submitted by: David Bryant (digikiller)

This patch adds two new drawtypes for empties in Blender:
* Sphere
* Cone

These draw with wireframes which are slightly more complicated than for other empties. However, this shouldn't really be an issue.
2007-12-15 07:48:30 +00:00
Joshua Leung
faf638238d == Auto-IK ==
-- Peach request (from wiki feature request list) --

When translating a bone using Auto-IK, you can now use the ScrollWheel on the Mouse or the Page Up/Down keys to adjust the chain length. 

Notes:
* Up decreases the length, while Down increases it.
* The previously used chain-length is stored per scene
* Currently, it might be too sensitive. Also, it would help to have some kind of indication of the current chain-length somewhere...
* The chain length specified this way determines the MAXIMUM chain length possible for all chains (if 0, then the default chain-length is used). Chains are clamped to have a chain length which does not exceed the default chain length. This restriction may be removed following further feedback...
2007-12-15 07:35:16 +00:00
Campbell Barton
b71d55b055 match solaris 10 x86-64 library name change 2007-12-14 17:47:58 +00:00
Campbell Barton
3319ecdcd1 include <ieeefp.h> on solaris and remove incorrect macro so finite() is now correct 2007-12-14 15:36:11 +00:00
Campbell Barton
f1b78cb4da chenge the default location of mesa/gl header, added to lib path 2007-12-14 13:56:06 +00:00
Joshua Leung
1aa225e953 == Fill Bones ==
This commit fixes/implements this feature. It is restricted to using 1-2 joints selected joints only.
2007-12-14 00:09:07 +00:00
Campbell Barton
960ace98db made guessconfig add use bash (not sh) and return a CPU as i386-32 or i386-64 (was just i386)
default python to 2.5
2007-12-13 22:36:10 +00:00
Martin Poirier
04dcd34883 Correct aweful bug in transform snapping code. How that even work is beyond magic!
Reported by some (crash) and pin pointed by Briggs, thanks a lot!

This should fix the apparently completely random crashes.
2007-12-13 21:10:00 +00:00
Campbell Barton
f15956356c misc warning fixes and one fix for a big in curve allocation 2007-12-13 15:06:02 +00:00
Campbell Barton
6d6f5bbc1a fix for own warning 2007-12-13 12:50:36 +00:00
Joshua Leung
8e81daa8bc == 2 New Rigging Tools ==
This commit introduces two (currently only one is actually functional) new features for working with armatures.

* Bone Merging (Alt-M)
It is now possible to select a bunch of linked bones and "merge" them together. Currently, there's only one option to merge bones that are selected and linked to each other in a chain.

* Add Bone Between Joints (FKEY)
This allows you to select a few joints, and have a bone created between them. Currently, this is not yet functional (but the code is there)
2007-12-13 10:55:10 +00:00
Campbell Barton
ac09c432e0 finite isnt defined on solaris 10, check and define - does the same as Win32 2007-12-13 09:23:06 +00:00
Campbell Barton
78b885b9fc own error, sequencer set images - didnt clear error when finished 2007-12-13 08:49:09 +00:00
Joshua Leung
9a3f3699c3 Added a 'LinkData' struct for use with ListBases.
It is used to store a reference to some data that is already in another ListBase. Sometimes, these are needed for small one-off situations, where a custom struct seems overkill...
2007-12-13 02:08:47 +00:00
Brecht Van Lommel
e2e8ea9ed1 Fix for bug #7872: setting particles disp to 100 has no effect.
Fix for bug #7878: particle panels do not update properly when
chaning particle types.
2007-12-12 21:49:48 +00:00
Brecht Van Lommel
de17fd9ee5 Bugfix for particle adding + mirror crash. 2007-12-12 17:01:46 +00:00
Campbell Barton
bf5cc424a8 Patch from ILdar AKHmetgaleev (akhil) - [#7864] correct scale in sequencer's glow
Added py-api write access to sequencer images.
2007-12-12 14:20:12 +00:00
Hamed Zaghaghi
29054847a7 missing null check in node editor. 2007-12-12 14:07:24 +00:00
Campbell Barton
4bb0b1c11f incorrectly set the toolbox not to quit on mousemove 2007-12-12 11:00:39 +00:00
Martin Poirier
f6cb9217d7 == Skeletor ==
Fix crash reported by Brecht in symmetry detection code.
2007-12-11 23:31:55 +00:00
Campbell Barton
6dc52c893f for button popups, dont close unless you click or press escape, this would often close when dragging a button value (or when using a tablet I am told) 2007-12-11 23:05:10 +00:00
Martin Poirier
5e3f4c20bb Increment subversion to deal with skeleton generation correctly.
Bug reported by Brecht on IRC.
2007-12-11 21:39:31 +00:00