Commit Graph

11121 Commits

Author SHA1 Message Date
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
Brecht Van Lommel
457057a9e8 Fix for mirroring issues in particle mode, where the particles were
not mirrored exactly, though the problem is not completely solved.
The way local frames are computed for particles is still not fully
symmetric, which shows especially on long hairs...

Also made the shift+o subsurf switch work recursively into
dupli-groups, did only the first level before.
2007-12-11 20:02:21 +00:00
Stephen Swaney
160e6afdb8 fix mixed declarations and code warning that breaks strict compilers 2007-12-11 15:35:39 +00:00
Brecht Van Lommel
65758a9a20 Bugfixes for:
- Disabled particle modifiers in particle mode.
- Particle col option without material.
2007-12-11 15:03:45 +00:00
Brecht Van Lommel
d5edeb526c Bugfix for constraint lagging with local ipo's. For some reason
the depsgraph relations for constraints with a local ipo were being
skipped, but I have no idea why this code was added? Uncommenting
it seems to work fine.
2007-12-11 14:58:23 +00:00
Brecht Van Lommel
60972ad458 Bugfix for SSS crash with nan's. 2007-12-11 14:35:08 +00:00
Campbell Barton
114ce86167 display real fps in 3d view option
replace 1 with SELECT
edited DVar texture tooltip
2007-12-11 14:19:05 +00:00
Ken Hughes
910ef6ca75 Python API
----------
Bugfix #7898: added access to DISPLACE modifiers, add ARRAY constant to
modifier documentation.
2007-12-11 01:58:22 +00:00
Joshua Leung
dbb13c07cc Fixing compiler warnings:
* BLI_arithb.h - isnan definition is only needed for MSVC, but gcc/mingw complains about it

* file-selectors - moved BLI_storage_types.h or sys/stat.h includes before BLI_winstuff.h includes,  to silence warnings about S_ISDIR.
2007-12-10 23:25:21 +00:00
Martin Poirier
be354c3d09 Merge from Harmonic Skeleton branch
This code adds a basic and simple skeleton generator.

Examples and links are in the wiki, docs will come eventually: http://wiki.blender.org/index.php/User:Theeth/skeletor

In a nutshell, select a vertex at the top of the head and press "Generate Skeleton". UI Panel is in the Editing buttons in Edit Mode, tooltips and semi-useful.
2007-12-10 21:14:19 +00:00
Martin Poirier
23a525c52d == Code sweeping ==
BLI_sortlist simplifications
2007-12-10 21:04:48 +00:00
Martin Poirier
28e071d08c Preparing for merge:
Support for separate mesh islands
Better error reporting and checking
Panelizing the UI better
2007-12-10 20:48:28 +00:00
Kent Mein
9f76c42c00 Typo fix from Tanner Jotblad for testing FREE_WINDOWS
Kent
2007-12-10 16:45:37 +00:00