Commit Graph

9363 Commits

Author SHA1 Message Date
Nicholas Bishop
801c0799c1 == Sculpt Mode ==
Applying Stephan Kassemeyer's patch (#6750) to add a curve modifier for sculpting.

A few changes from the patch:
* The default curve is closer to the old behavior
* Fixed loading files already saved in sculpt mode
* Changed the interface; split the brush texture controls off into a third sculpt tab, and put the curve (and curve reset) into the Brush tab.
2007-12-20 19:07:47 +00:00
Martin Poirier
1d8fdff909 Reset GL lights are reloading defaults with Ctrl-X.
GL Lights defaults are read back from the file, they just weren't applied until the next recalc call.
2007-12-20 18:41:11 +00:00
Brecht Van Lommel
c805d35c40 Bugfix for strand simplification commit, made child particles
from particles crash.
2007-12-20 17:08:17 +00:00
Brecht Van Lommel
26b0261a53 Particle Edit Mode
==================

- Added a Remove Doubles tool, to remove two particles with the
  same root position.
2007-12-20 17:04:10 +00:00
Brecht Van Lommel
0f2b2e3c60 Strand Render Simplification
============================

- Strand render now has options to remove child strands as
  the object's faces becomes smaller, in the Simplification
  particle panel.
- "Reference Size" is the approximate size of the object on
  screen, after which simplification starts.
- "Rate" is how fast strands are removed.
- "Transition" is the percentage of strands being faded out as
  they are removed.

- Another "Viewport" option removes strands on faces that are
  outside of the viewport. "Rate" again controls how fast these
  are removed.

- Strand render in Blender Units now has an adjustable minimum
  width. Below this minimum width, strands start fading out
  instead of getting smaller.
2007-12-20 16:35:27 +00:00
Campbell Barton
2e48a4af57 change default solaris gcc args, use -m64 for 64bit arch, use -O2 rather then -O1 2007-12-20 16:33:45 +00:00
Campbell Barton
846e4027ce hopefully fix compiling on win32 2007-12-20 12:37:15 +00:00
Campbell Barton
a637aca44a make relative paths wasnt working, also disallowed it when the blend file isnt saved 2007-12-20 10:52:56 +00:00
Campbell Barton
9b89abaa8b BLI_makestringcode dosnt need the first value to be a copy of G.sce since its a "const char"
Removed own script release/scripts/image_find_paths.py since last commit replaced its functionality.
2007-12-20 10:38:01 +00:00
Campbell Barton
5925fe36e0 Render-farm and file utils for dealing with external data.
Useful to use before sending blend files to the renderfarm.

* Make all Paths Relative - makes any absolute paths relative.
* Report Missing Files - creates a textblock listing all missing files.
* Find Missing Files - searches a directory recursively for filenames that dont exist at their current path.

Added a path looper type and functions that currently loop on image, sound, font and external library paths.
2007-12-20 10:27:13 +00:00
Joshua Leung
0a682cb50f == Action Editor - Show Hidden Channels ==
This option (found in the View menu) shows all Action Channels, regardless of whether the data they represent is visible or not. 
It's better than having to have multiple pinned Action Editors open to be able to move all keyframes of all bones at once (when blocking for example).


Also, fixed some compile errors caused by previous commit...
2007-12-19 23:29:42 +00:00
Peter Schlaile
2a43932a74 == Imbuf ==
The TIFF reader did error handling with assert which is a pretty bad
idea (tm).

This fixes the assert-crash, that the TIFF reader triggers, if one tries
to open a RAW-DV file within the compositor. (File extension is only
two characters long, which is enough for an assert... EVEN IF IT ISN'T
A TIFF FILE, WE ARE GOING TO OPEN. GRMBL)

Removed all other assertions and added proper error handling.
(using STDERR, where it belongs.)
2007-12-19 23:14:14 +00:00
Joshua Leung
361d23224c == Action Editor - Copy/Paste ==
Now the Copy/Paste functionality stores more info about where keyframes came from. This allows users to copy full poses in the Action Editor and paste them in another action. 

Peach request/bugfix for William.
2007-12-19 22:37:38 +00:00
Ken Hughes
b8ca87a0ba Rendering
--------
Bugfix #4863: AVI jpg would crash on really small images (less than 16x16).
Change it to pop up an error dialog and abort.
2007-12-19 18:17:56 +00:00
Brecht Van Lommel
39a99b1b05 Bugfix: prevention of redraw of the 3d view or other windows while
rendering to the image editor missed one case, could result in
modifiers and particles being evaluated with G.rendering == 1 but
still showing in the viewport.
2007-12-19 13:11:54 +00:00
Brecht Van Lommel
42f80b3037 Bugfix for hinge bone transform for multiple selected bones: now
only transforms the children too if they are connected, otherwise
they get transformed twice.
2007-12-19 12:12:38 +00:00
Joshua Leung
da22572e4c == Action Editor - Long Keyframes ==
Now Long-Keyframes in the Action Editor (yellow/pink strips between keyframes) take into account whether the keyframe handles which help control the interpolation between the two keyframes stay at the same value as the keyframes do. 
This way, long keyframes are not drawn when the keys have the same value, but there's still movement between them.
2007-12-19 10:52:26 +00:00
Joshua Leung
bbc7894dd8 == Action Editor - Pinned Actions Bugfix ==
When using a pinned action, "Add New" now makes a new action. This new action is only assigned to the current Action Editor (i.e. not to any active object, as one might not exist, or might not be the object that the action is related to).
2007-12-19 10:03:54 +00:00
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
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
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
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
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