Commit Graph

8959 Commits

Author SHA1 Message Date
ebb15ff9d5 selecting keyframes in the ipo view didn't work well when zoomed in far, use pixel width rather then frame with when giving deselected frames a bias 2008-01-21 00:41:29 +00:00
ab1482dce9 Added missing header (stddef.h) 2008-01-21 00:41:29 +00:00
aa03132bc3 [Coder API's]: Added a "generic unique name-finding function".
Basically, this is based on the behaviour of the unique_constraint_name (or equivilant) functions, which have traditionally been duplicated everytime a new datatype needed this.

Currently, this is in use for the following things:
* Constraints
* Action/Bone Groups
* Local Action Markers / PoseLib poses

Usage Notes:
* The file in which this is to be used should include the standard header file <stddef.h>. This defines the offsetof() macro, which should be used to find the relative location of the "name" member of the structs
* This function is only designed for names of up to 128 chars in length (Most names are at most 32. TimeMarkers are 64). If a longer string needs to be handled, the function will need to be modified accordingly. 
* defname is the default name that should be used in case one hasn't been specified already
2008-01-20 23:53:13 +00:00
6f4c03a091 opengl stamp wasnt working right, stamp assumed an alpha channel existed. 2008-01-20 23:52:48 +00:00
3d7271f059 === Transform Snap ===
Snapping Mode: Active

With this mode, the active element (at this time, object or vertice) is used as snapping target. If there is no active element in the selection, it reverts back to median mode.


Edit Mode snapping, other meshes no longer have to be selected to act as snapping point.


Fix a potential bug with snapping point from other meshes.
2008-01-20 22:43:48 +00:00
32c4bbbcc5 hiding some softbody options i did hope to get working
that is : good enough to pass PQC = personal qualitiy control
*sigh*
before peach freeze
some of them almost did .. 
but hey we want to give 'em peachers something to rely on
not a mushy "may be it works" 
so 'implicit solver' is gone for now 
and from what i read between the lines in various papers
the main problem is the Jacobian has negative 'eigenvalues'
yeah that rings a bell .. the transition from a continuous system to a discrete one
bears that.
/* you did not read/understand that .. fine .. because this is something that might give me my late PhD */
2008-01-20 22:01:51 +00:00
88561ed669 touch function that should also work on non unix os's, though I cant test here. 2008-01-20 21:27:16 +00:00
c11fce1a9f draw muted strips faded. hkey added alt+hkey to mute and un-mute strips, Mkey is used for metastrips. would be nice to make this similar to object mode restrict render option. 2008-01-20 20:09:06 +00:00
053dca1fa9 == Sequencer / FFMPEG ==
This fixes:

[#7989] Sequence editor preview and anim render output broken on Linux PPC

and also optimizes RGBA -> ABGR conversion function a little bit.
(Fixing also a crash, if there is no ibuf->rect available...)
2008-01-20 18:55:56 +00:00
f417989871 Made it so locked strips inside metastrips are transformed.
Removed FTYPE from render output panel - was some old format that did index colors, and wasn't even used anywhere.

Added 2 options to the render output panel that can be used for a really basic local renderfarm (even artists can use it!),
"NoOverwrite" and "Touch"
When both are enabled, rendering 1 scene between many pc's on a fast network will populate the directory with frames.
Also useful to delete frames that have errors and re-render (without manually re-rendering each frame)
2008-01-20 17:53:58 +00:00
518d3b2c36 Two fixes for yesterday commit, new Mist pass:
- non OSA case didn't work
- ztransp adding was accidentally using an incorrect alpha value

NOTE: allmost all pass types rendered in OSA with a filter (not box!) were
incorrectly added on solid layers. Like diffuse, AO, etc.
2008-01-20 14:50:30 +00:00
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
223b4132a0 == Sequencer ==
Fixed crash with metastrips where ibufs where null...
2008-01-20 08:59:06 +00:00
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
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
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
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
231840a99f Bugfix for crash in approximate AO pixel cache. 2008-01-19 19:33:32 +00:00
2fa4ff4dac missing header from editipo.c 2008-01-19 19:01:19 +00:00
d450dbec91 add the option to add the parents time offset value. 2008-01-19 16:32:29 +00:00
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
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
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
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
afc53a1eba Bugfix: particle settings didn't automatically link in associated
objects or groups.
2008-01-18 14:30:26 +00:00
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
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
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
0db1666b6e Routine purge of compiler warnings 2008-01-17 23:38:53 +00:00
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
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
e7bcdfa7af Fixed some whitespace indentation I found while looking at something else.
Kent
2008-01-17 21:25:25 +00:00
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
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
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
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
243f4530ef Bugfix for emitter with dupli particles not drawing in group. 2008-01-17 11:07:45 +00:00
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
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
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
77a6809bd7 added include for M_PI
Kent
2008-01-16 14:28:20 +00:00
1faba3d82d Bugfix: strands didn't respect renderlayers. 2008-01-16 14:25:59 +00:00
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
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
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
2bf712f6b5 Small feature: add a group -> object name gets derived from group name, 2008-01-15 19:00:09 +00:00
a32ddc1b85 changed sqrtf to sqrt to make solaris and other platforms happy.
Kent
2008-01-15 18:54:34 +00:00
7f0e7b8e16 incorrect epydocs 2008-01-15 17:37:47 +00:00
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