Commit Graph

9554 Commits

Author SHA1 Message Date
Campbell Barton
8ded57d236 Cant use WHILE_SEQ when drawing,
drawing strips was setting the depth that would then incorrectly overlap when used with metastrips. - so metastrisp would grow when moved - showed up in peach animatic.

Now metastrips draw display differently- only immediate children are shown on the strip.

Also disabled overlap checking during transform for non zero depth strips since its not needed.
2008-01-20 13:52:54 +00:00
Peter Schlaile
223b4132a0 == Sequencer ==
Fixed crash with metastrips where ibufs where null...
2008-01-20 08:59:06 +00:00
Joshua Leung
54cf47aaab == Action Editor - Copy/Paste Improvements ==
Changed the way the offsetting of pasted keys relative to the current time works. Now, all pasted frames are offset by the same amount. This is calculated as the difference in the times of the current frame and the 'first keyframe' (i.e. the earliest one in all channels to be pasted). The 'first keyframe' is found when doing the copying.
2008-01-20 05:10:35 +00:00
Joshua Leung
10d8b25aed Action Editor - More Bugfixes for Action-Groups:
* Wrong selection functions were being used for borderselect when handling groups. This resulted in all of the keyframes for a group getting selected
* Select row was not working for groups either, as there was missing code there...
2008-01-20 04:27:54 +00:00
Joshua Leung
721e5b10c4 Bugfix for Action-Groups:
The way the end of a group's channels was being detected was wrong in many places, resulting in the group's last channel often being skipped.
2008-01-20 03:16:19 +00:00
Joshua Leung
cd137f2898 == Bone Groups ==
I'm committing some work-in-progress code for "bone groups" now, as I there have been are some major bugs caused by the timeoffset stuff (some of my test files were not loading, and other files were showing all sorts of weird problems). 

Anyway, in this commit, the following things for "bone groups" have been done:
* Bone groups are stored per armature (internally, this is per bPose block)
* Added controls for editing bone-groups per armature - "add", "remove", "rename". These can be found in the "Links and Materials" panel in PoseMode, beside the settings for PoseLib.
* Reorganised buttons for editing selected bones in PoseMode. I've replaced the "dist" and "weight" buttons (they existed in EditMode anyway) with a menu to choose the bone-group and the custom-shape-ob field. In the place of the old custom-shape-ob field, I've restored the "Hide" button. This might break muscle-memory a bit, but there isn't a lot of space to play with there.

Some stuff I'd been originally planning to do before committing:
* When adding keyframes for bones, an action-group with the same name as the bone's group will be added to the action, and the action-channel will be made a member of that. 
* New action/bone groups have unique names (renaming/adding new should check if name exists before assigning it)
* There's a setting under Bone-Groups stuff which sets which custom-colour set is used to colour that group's bones. Currently, this is non-functional, as the necessary drawing code for armatures is not in place yet.
2008-01-20 02:55:35 +00:00
Brecht Van Lommel
231840a99f Bugfix for crash in approximate AO pixel cache. 2008-01-19 19:33:32 +00:00
Campbell Barton
2fa4ff4dac missing header from editipo.c 2008-01-19 19:01:19 +00:00
Campbell Barton
d450dbec91 add the option to add the parents time offset value. 2008-01-19 16:32:29 +00:00
Campbell Barton
7b6c88473c find_group would only return the first group, this let to the assumption that an object was only in 1 group, made it easy to loop through all groups an object is in.
group = NULL;
while( (group = find_group(base->object, group)) ) {
	...
}
2008-01-19 15:13:42 +00:00
Ton Roosendaal
c8841a7f2f Added new render pass: "Mist".
This is actually just the alpha value as currently being calculated
by the mist code. It is in many cases not very useful to have this as
alpha in shading result, also for postprocess and composite.

Note: this pass also works with "Mist" not set in World, of course.
2008-01-19 11:17:12 +00:00
Campbell Barton
31f14862f7 don't display relative paths button when loading files.
this was silly anyway since it always gave an error.
2008-01-18 23:31:18 +00:00
Kent Mein
320ac3f0e2 Fixing makefiles for binreloc I made it use flags like other
things default on for linux.  ideasman helped me get scons working.
Cmake still needs some love...

Kent
2008-01-18 21:39:47 +00:00
Campbell Barton
09c2fd6f11 Linux only addition to know for sure the path of blender because sometimes the Play button doesn't work depending on how blender is started.
This uses binreloc - http://autopackage.org/docs/binreloc/
it should also solve the problem of python scripts not being found.
2008-01-18 15:10:17 +00:00
Brecht Van Lommel
afc53a1eba Bugfix: particle settings didn't automatically link in associated
objects or groups.
2008-01-18 14:30:26 +00:00
Campbell Barton
9afc417bed 2 new timeoffset buttons in the animation panel "Ofs" and "Rand"
Useful when animating many objects falling at different times (for instance).
2008-01-18 12:20:28 +00:00
Campbell Barton
9d13e08331 bugfix didnt get committed somehow, appending a group assumed any indirectly linked objects were apart of the appended groups and the objects added to the scene.
Now there are recursive dupli's this is no longer true. so need to check the append flag.
2008-01-18 11:51:46 +00:00
Joshua Leung
14f007adc8 == Action-Groups - Drawing Tweak ==
Now action-group channels are drawn with a green-ish strip background instead of the usual colours to help distinguish them from other channels, making it easier to identify them.
2008-01-18 00:04:19 +00:00
Joshua Leung
0db1666b6e Routine purge of compiler warnings 2008-01-17 23:38:53 +00:00
Joshua Leung
44c31bb045 == Action Editor - Groups for Action Channels (Peach Request) ==
Now, you can assign Action Channels to named (folder-like) groups, which help to organise the channels (important for more complex rigs). These are collapsible, can be "protected", and show a "summary" of the keyframes in the channels the Group contains. They are drawn as bright-green (active) or a darker shade of green (not active) channels.

* Each Action has its own set of Groups. 
* An Action-Channel can only occur in one Group at a time. It can also not occur in any group.
* Action-Channels can be moved between Groups
* Groups + grouped-channels always occur BEFORE un-grouped channels

Important Hotkeys:
* Shift-G  :  Adds the selected Action-Channels to the Active Group. This will create a new group if need be
* Ctrl-Shift-G : Always adds a new group, and adds the selected Action-Channels to it
* Alt-G : Removes selected Action-Channels from their groups
* Ctrl-Shift-Alt-G : (Note: this will be removed soon) This is a simple debugging-hotkey I added, which just prints a list of the groups, channels, and their addresses...
* NKey / Ctrl-LMB: While hovering over the name of a group, this shows a popup like for other channels, which allows the editing of the channel's name, etc.


Assorted Notes:
* Some tools may not work yet with this (Ctrl Numpad+/- for example)
* Fixed some bugs in various places in Action Editor code
* Added theme colours for group channels
* The nomenclature of these tools may change in future when a better alternative is found
* The ability to auto-assign action-channels to groups when they are keyframed will be coming up shortly
2008-01-17 23:02:11 +00:00
Martin Poirier
65d61c2cb6 === Custom Transform Orientation ===
Added orientation overwriting old ones didn't change correctly (weren't returning the correct index).
2008-01-17 22:57:00 +00:00
Kent Mein
e7bcdfa7af Fixed some whitespace indentation I found while looking at something else.
Kent
2008-01-17 21:25:25 +00:00
Brecht Van Lommel
8cdfe865ec Approximate Ambient Occlusion
=============================

A new approximate ambient occlusion method has been added, next to the
existing one based on raytracing. This method is specifically targetted
at use in animations, since it is inherently noise free, and so will
not flicker across frames.

http://www.blender.org/development/current-projects/changes-since-244/approximate-ambient-occlusion/
http://peach.blender.org/index.php/approximate-ambient-occlusion/

Further improvements are still needed, but it can be tested already. There
are still a number of known issues:

- Bias errors on backfaces.
- For performance, instanced object do not occlude currently.
- Sky textures don't work well, the derivatives for texture evaluation
  are not correct.
- Multiple passes do not work entirely correct (they are not accurate
  to begin with, but could be better).
2008-01-17 19:27:16 +00:00
Ton Roosendaal
9af3b8a07e Render control feature: shader-level shadowbuffer bias
Lampbuffers require painful bias tweaking (to prevent aliasing or to
get shadow detail). Sometimes you want this different per object, like
for gras you want less shadow detail, but for the ground you want high
detail. This feature allows to tweak it.

The new "LBias" slider is in shader panel, bottom. Ugly! But, thats for
later...
2008-01-17 19:01:58 +00:00
Ton Roosendaal
e14ed616fb Tiny fix but took me hours to track down: render layer menu in Image Window
is not being reset when you render, so after render the layer you picked is
still visible in Image Window.
2008-01-17 15:45:40 +00:00
Brecht Van Lommel
16a37bcd31 Bugfix for "ghost feathers" trailing one frame behind the character.
The derivedmesh and particle system needed to be evaluated at render
level before creating dupliparticles.
2008-01-17 12:02:15 +00:00
Brecht Van Lommel
243f4530ef Bugfix for emitter with dupli particles not drawing in group. 2008-01-17 11:07:45 +00:00
Janne Karhu
61a4188e1d - A miss thought multiplication in hair effectors created a strong dependency on the draw/render steps value, now behavior is much better although a stronger effector force is needed for the effect to show. 2008-01-17 10:44:23 +00:00
Janne Karhu
cb025f95de - Regarding the Peach "hair effectors" request in the mailing list I coded quick support so that effectors now can effect combed hair too. Nothing special needed to use, just normal field effectors, although there is a new "stiff" parameter in extras panel. (Note, at least for now this only works with path visualization)
- Keyed particles work again for all visualizations (previously only "path"), they still need some work though to be fully operational.
- Keyed particles weren't saved or loaded correctly.
2008-01-17 00:28:14 +00:00
Brecht Van Lommel
4e4e69050c Dupli Bugfixes!
It seems everytime I try to fix something here I break something
else, but anyway, another try at getting this to work properly.

Fixes for:
- Getting dupliverts/faces derivedmesh with orco caused wrong results
  on meshes in linked dupligroups with proxy, because modifier stack
  was revaluated with wrong object matrix, now gets orco another way.
- Fix render instances being hidden when original object was not added
  to the object render list.
- Changed the way object instances find their original objects, now
  works the other way around, original objects look for their instances
  instead.

There's probably issues still with recursive dupligroups..
2008-01-16 23:08:19 +00:00
Kent Mein
77a6809bd7 added include for M_PI
Kent
2008-01-16 14:28:20 +00:00
Brecht Van Lommel
1faba3d82d Bugfix: strands didn't respect renderlayers. 2008-01-16 14:25:59 +00:00
Campbell Barton
7c1961234b user pref to make relative paths an option you can save (peachers need to be strict with this for the farm) 2008-01-16 11:43:22 +00:00
Nicholas Bishop
c6118036bc == Radial Control ==
* Generalized the interactive brush property control from sculpt mode into a simple API
* Modified sculpt mode to take advantage of this (even fixes some minor bugs!)
* Added shortcuts in particle edit to set brush size/strength (FKEY/shift+FKEY)

Still todo are the other modes that have brushes...
2008-01-16 07:19:21 +00:00
Ken Hughes
f41c3340be Python API
----------
Added RenderData.activeLayer attribute, lets user access the active
rendering layer.  Also corrected description of RenderData.freeImages
attribute.

Note: doesn't seem like there is any support in the python API for accessing
the renderlayers settings....
2008-01-16 03:02:54 +00:00
Campbell Barton
d75a940828 sequence transform buttons didnt correct for overlap, also made them account for color generator and single image types. 2008-01-15 21:44:09 +00:00
Ton Roosendaal
2bf712f6b5 Small feature: add a group -> object name gets derived from group name, 2008-01-15 19:00:09 +00:00
Kent Mein
a32ddc1b85 changed sqrtf to sqrt to make solaris and other platforms happy.
Kent
2008-01-15 18:54:34 +00:00
Campbell Barton
7f0e7b8e16 incorrect epydocs 2008-01-15 17:37:47 +00:00
Ton Roosendaal
28667a314e Feature + Fix:
- while sampling color in image window, you now get the sampled color as a line
drawn in the node editor Curve nodes, allowing quicker view of what values you
actually change.

- reverted temporary the patch [#6779] by Matthew Plough
  He replaced image drawing of backdrop-node-editor with our Texture drawing
  function. That call is extremely slow, and should be by definition slower
  than glDrawPixels (unless you don't upload the image each time to gfx mem).

  Drawing large frames (2k, 4k) in node editor became unacceptable slow, even 
  with the neatest hardware around. (tested nvidia, ati) 

  Probably (Campbell thinks) this is a bypass for Linux ATI cards? 
  Anyhoo, this should be investigated further before applying. It better then
  becomes a user pref, or even much better: part of the OpenGL profiler we need.
2008-01-14 19:03:27 +00:00
Ton Roosendaal
cdcba166f6 Bad bad bug!
Newly added strip->scale was never initialized 1.0f on adding, causing
divide by zero in NLA/Action UI.

Bug since september or so... is nobody using NLA? :)
2008-01-14 15:16:59 +00:00
Campbell Barton
54be577d68 bumped up max recursiveness, was needed for a peach shot 2008-01-14 13:48:43 +00:00
Joshua Leung
65c4a2f9ff == Limit Scale Constraint - Affects Transform ==
Now, the Limit Scale Constraint can be made to work on the Transform values like the Limit Location constraint. Use the "For Transform" button to activate.

For clarity, this means that when scaling with a Limit Scale Constraint with this option on, the relevant values in the Transform Properties will stop changing once the Limit defined in the Limit Constraint is reached.
2008-01-14 11:23:03 +00:00
Brecht Van Lommel
7bd8871e14 Bugfix for rendering of duplis again, this time with multiple
dupligroups containing the same dupliverts.
2008-01-14 11:07:59 +00:00
Campbell Barton
f8ec163076 menu generation read and wrote to the same memory with sprintf(), use INIT_MINMAX in a few more places and centerview didnt take into account some bone tips in editmode. 2008-01-14 10:41:36 +00:00
Brecht Van Lommel
2262d0a45a Strand render shadow now only renders lines for shadow instead
of polygons, to avoid shadow flicker between frames.

Added some code that makes it possible to generate APixbuf's
from strands.
2008-01-14 10:00:20 +00:00
Joshua Leung
442ff2c322 Bugfix for Transform Orientation Panel:
Removed a pair of uiPanelPush()/uiPanelPop() calls from the Transform Orientation panel, which were causing minor redraw/refresh problems for the panel's buttons here.
2008-01-14 02:49:25 +00:00
Martin Poirier
1f3dc315d5 Fix crash in previous commit for objects that don't have a boundbox.
In that case, the object's center is used.
2008-01-13 22:57:36 +00:00
Jens Ole Wund
1b6c8691fd make solver UI more consistent ... that is what parameters are available and what is not 2008-01-13 22:51:48 +00:00
Martin Poirier
e4e66c9aa4 === Transform Snap ===
Snapping for object mode

Changes:
- Transform snap now working in object mode and not just mesh edit mode
- Shift-Tab can be used to toggle snap on/off inside transform too (no more Esc,toggle,restart)
- Object mode snap: Closest uses the bounding box corners of all selected objects, Median uses object center and Center uses transform center (same as edit mode).
- Object mode snap: all visible meshes can be used to get the snapping point (unlike edit mode snap which is limited to selected mesh: this might be adjusted to make edit mode snap use all visible too).

To Do:
- Add "Active" snap target method: use active object (or mesh element) as snap target
- Add snapping capabilities to Scale
- (Maybe) Add "Near pointer" snap target method: use selected element that is closest to mouse pointer as snap target. Active could probably accomplish that already in a less confusing manner, so I might skip this.
2008-01-13 22:20:18 +00:00