Commit Graph

11370 Commits

Author SHA1 Message Date
Joshua Leung
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
Campbell Barton
6f4c03a091 opengl stamp wasnt working right, stamp assumed an alpha channel existed. 2008-01-20 23:52:48 +00:00
Martin Poirier
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
Jens Ole Wund
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
Campbell Barton
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
Campbell Barton
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
Peter Schlaile
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
Campbell Barton
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
Ton Roosendaal
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
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
Campbell Barton
e3b202d0b9 minor changes to address bugs
[#8109] Incorrect header information in exported X3D Files
[#8110] Illegal characters in exported X3D files
2008-01-19 21:52:09 +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
5a4fc7a8fd made BINRELOC disabled by default with scons, only enable for linux 2008-01-19 18:52:39 +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
Joshua Leung
e293eed865 Added "WITH_BF_BINRELOC = 'false'" for msvc+scons too 2008-01-19 03:24: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
Joshua Leung
4ffd8d2a28 Disabled "WITH_BF_BINRELOC" for mingw 2008-01-18 23:13:07 +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
Remigiusz Fiedler
3df9587b40 update with many improvements:
v1.0.12: 2008.01.17 by migius
 a8 lately used INI-dir/filename persistently stored in Registry
 a8 lately used DXF-dir/filename persistently stored in Registry
 a7 fix missing layersmap{} for dxf-files without "section:layer"
 a6 added support for XREF external referenced BLOCKs
 a6 check for bug in AutoCAD2002:DXFr12export: ELLIPSE->POLYLINE_ARC fault angles
 a6 support VIEWs and VPORTs as cameras: ortho and perspective mode
 a6 save resources through ignoring unused BLOCKs (not-inserted or on frozen/blocked layers)
 a6 added try_finally: f.close() for all IO-files
 a6 added handling for TypeError raise
 a5 bugfix f_getOCS for (0,0,z!=1.0) (ellipse in Kai's dxf)
 a4 added to analyzeTool: report about VIEWs, VPORTs, unused/xref BLOCKs
 a4 bugfix: individual support for 2D/3DPOLYLINE/POLYMESH
 a4 added to UI: (*wip)BLOCK-(F): name filtering for BLOCKs
 a4 added to UI: BLOCK-(n): filter anoname/hatch BLOCKs *X...
 a2 g_scale_as is no more GUI_A-variable
 a2 bugfix "material": negative sign color_index
 a2 added support for BLOCKs defined with origin !=(0,0,0)
 a1 added 'global.reLocation-vector' option

 v1.0.11: 2007.11.24 by migius
 c8 added 'curve_resolution_U' option 
 c8 added context_sensitivity for some UI-buttons
 c8 bugfix ELLIPSE rotation, added closed_variant and caps
 c7 rebuild UI: new layout, grouping and meta-buttons
 c6 rewritten support for ELLIPSE mesh & curve representation
 c6 restore selector-buttons for DXF-drawTypes: LINE & Co
 c6 change header of INI/INF-files: # at begin
 c6 apply scale(1,1,1) after glob.Scale for all mesh objects, not for curve objects.
 c5 fixing 'material_on' option
2008-01-18 17:03:43 +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
Campbell Barton
46f93f882d update to m3g exporter by Gerhard Völkl 2008-01-18 10:46:37 +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