Commit Graph

19319 Commits

Author SHA1 Message Date
Brecht Van Lommel
29e738f60c Bugfix: deep shadow buffer commit made mixed solid/ztransp rendering
not work correct without OSA.
2009-10-15 09:56:10 +00:00
Campbell Barton
a28b9512fe made texflag a short everywhere (only stores one flag)
fix for crash with separate (missing NULL check)
2009-10-15 09:00:40 +00:00
Campbell Barton
a6645bfafb pack all was giving an error on the render result 2009-10-15 08:39:47 +00:00
Martin Poirier
316d604daf TransformOrientation enum is in the transform operators too, so we can't always cast to screen. 2009-10-15 01:34:29 +00:00
Martin Poirier
1da4a06fc7 Don't depend on context for transform_orientation enum
New current_orientation property that returns the current transform orientation data (if any)
New UI elements to rename and remove custom orientation (visible only when needed)
2009-10-14 21:05:35 +00:00
Campbell Barton
7bed5e35b4 added operators for setting rna for each type, this avoids having double "'quoted'" strings from C which is ugly. 2009-10-14 20:09:21 +00:00
Brecht Van Lommel
991e67ddc7 RNA:
* Enums with an _itemf callback now never get context NULL passed in,
  rather a fixed list of enum items are defined which should contain
  all items (if possible), from which the _itemf callback can then use
  a subset.
2009-10-14 19:19:43 +00:00
Benoit Bolsee
96d2dc7d09 iTaSC: Selection of constrained axis for CopyPose constraint
This commit implements more of the CopyPose capabilities in
Blender. It is now possible to select which axis will be
constrained in position and orientation to obtain
interesting effects. Another option selects if the axis
are relative to the end effector or to the target.

Unlocking a position axis means that the coordinate along
this axis is not constrained and can take any value.
Unlocking the Y axis of the End Effector produces an
'aiming' effect: the end effector is oriented towards
the target but without stretching.

Unlocking a rotation axis means that the end effector can
freely rotation along that axis. Unlocking the Y axis
produces a 'tangent' effect: the end effector aligns with
the Y axis of the target but can rotate along that axis.

A 'floor' effect is possible if the position Z axis of the
target is unlocked. More effects are possible an can be
combined.
2009-10-14 18:51:00 +00:00
Campbell Barton
f579fe5681 fixes for warnings and crashes during doc generation 2009-10-14 18:48:19 +00:00
Campbell Barton
58cabaa1e3 weight-paint colorband wasnt working 2009-10-14 16:23:23 +00:00
Brecht Van Lommel
922461830f Scene/Render Buttons:
* Keep Render as default tab instead of Scene.
* Remove unnecessary Keying Sets label.
* Fix missing scene name in render context path.
2009-10-14 15:14:06 +00:00
Campbell Barton
0f6190a19b fix for continuous grab where you couldnt properly click the button for incremental changes or editing 2009-10-14 14:44:21 +00:00
Brecht Van Lommel
73076a623b Bugfixes for python RNA/
* Adding properties to python defined subclasses could add
  them to the base type instead.
* FloatProperty did not work correct with negative min/max.
2009-10-14 14:44:05 +00:00
Campbell Barton
4ef0ef1927 added mesh mirror flag, now store this per mesh
button in mesh interface
also dont register operators that change context
2009-10-14 14:28:05 +00:00
William Reynish
1847f6198e After discussion with Campbell, split Scene tab in Scene and Render. This makes a clearer distinction between render and scene settings. 2009-10-14 14:07:32 +00:00
Brecht Van Lommel
1ce959b16e Shape Keys: disable the temporary shape display system, where
it would show you the last selected shape key until doing
another operation. This is confusing, and the Pin button allows
you to do the same kind of shape browsing.
2009-10-14 13:21:54 +00:00
Campbell Barton
c7c2e3de1e set scene, currently UI is in the render buttons, should be moved to a scene buttons area.
added a property flag PROP_ID_SELF_CHECK, so properties can be set to point to anything but themselves.
2009-10-14 13:20:20 +00:00
Joshua Leung
cd202a1a24 Drivers UI - Converting to Layout Engine
* Converted Drivers UI to mostly use the Layout Engine
* All the buttons that perform actions are not operators yet (the code for that would be quite icky still)

* I've added some (commented out) calls for the property definitions of Driver properties to perform Depsgraph updates. I've left these commented out until we have the option to turn off auto-updates, since with driver editing, that could be very dangerous.

* Drivers can now (in theory) use any ID-block, using the Any-ID template added earlier. However, be warned that the stupid depsgraph won't be able to cope with most of these cases.


TODO: 
- more fancy widgets for RNA-Path and Index will come later
2009-10-14 11:57:26 +00:00
Brecht Van Lommel
3d57e84088 Bugfix: new bump mapping with UV coordinates wasn't working
correct, my mistake in merging the patch.
2009-10-14 11:17:59 +00:00
Campbell Barton
0b19577930 skin/loft was broken, was passing short[2] as float[2] 2009-10-14 10:33:27 +00:00
Joshua Leung
d389406766 DopeSheet/Action Editors - Summary Channel Tweaks:
* Summary channel now works in DopeSheet AND Action Editors
* By clicking on the expand/collapse widget on the summary channel, you can now show/hide all the other channels in the editor.
2009-10-14 09:54:29 +00:00
Brecht Van Lommel
8884f3fe5c Bugfix: compositing nodes + border render + crop didn't work correct. 2009-10-14 09:40:09 +00:00
Joshua Leung
1ef163f1e0 UI Templates: ('Any ID' Selector)
Added new template for choosing to use any type of ID-block. The first combo box allows you to choose the type of ID-block that gets used, and the second box allows you to choose the ID-block of the type specified by the first one.

This is currently used for setting the ID-block used for Keying Sets, but the main user for this was intended to be the Drivers UI. However, I still need to clear up a few button-event issues there before I can port this over.


Additional Bugfixes:
* Adding new Keying Set path was setting the active path wrong, meaning that you had to click on the list to get some response after adding
* Bone Groups list was being drawn too long by default (when empty)
2009-10-14 09:08:53 +00:00
Brecht Van Lommel
daebfaaa49 Bugfix: uv editor transform operators were not working anymore
after the recent retopo/snap commit.
2009-10-14 09:08:48 +00:00
Joshua Leung
828e3f3059 Left in debug prints 2009-10-14 03:00:35 +00:00
Joshua Leung
e87839b673 Bugfix: Automerge keyframes was broken - the function call to perform the merging was commented out 2009-10-14 02:18:59 +00:00
Joshua Leung
adddfffe23 * Fixed crash with operator cheat-sheet
* Removed obsolete comment
2009-10-14 00:01:34 +00:00
Martin Poirier
a9cf4bbf02 Use new operator to toggle view3d draw type. 2009-10-13 23:15:34 +00:00
Nicholas Bishop
3b805af8af Various warning fixes 2009-10-13 19:02:30 +00:00
Campbell Barton
e3d8c8eba8 added back space switching keys Shift+F2 to F12
- Shift+F2 was Export DXF, made Logic Editor
- Shift+F4 was data browser, made console
- Shift+F11 was fullscreen in 2.5, changed fullscreen to Alt+F11

added Area.type so RNA can switch the type.
2009-10-13 17:50:14 +00:00
Thomas Dinges
ee29802378 [#19634] Missing - "All Edges" Button in edit mode Preferences 2009-10-13 17:49:05 +00:00
Brecht Van Lommel
12b3d458f2 Bugfixes for particle mode:
* Fix crash removing all particles.
* Brush added particles did not get correct coordinates.
2009-10-13 17:15:12 +00:00
Martin Poirier
52f1ed4db8 Rename all enums called "prop_mode_items" into something more sensible. 2009-10-13 16:08:34 +00:00
Martin Poirier
db763fc445 - Identify and use retopo icon from icons image.
- Reuse proportional edit enums between rna scene and transform operator
2009-10-13 16:08:02 +00:00
Martin Poirier
4636438394 Enable snapping for curve edit mode.
It's still not possible to snap TO a curve, but at least curves control points can be snapped (or projected) to mesh geometry.
2009-10-13 16:05:57 +00:00
Campbell Barton
edfe78aec9 Context operators for adjusting context values directly to avoid adding operators for adjusting single values which also need duplicate notifiers.
wm.context_set(path="scene.tool_settings.someattr", somevalue)
wm.context_toggle(path="scene.tool_settings.somebool")
wm.context_toggle_values(path="scene.tool_settings.some_enum", value_1="somevalue", value_2="othervalue") # switch between 2 values
wm.context_cycle_enum(path="scene.tool_settings.some_enum", reverse=False)

the path value is taken from the context so the full path is 
context.scene.tool_settings...

This means in keymaps you can cycle draw modes, change PET- anything with rna access.
If its not so nice to map keys to operators like wm.context_set we could use macro's to wrap it and have its own name

Use this for PET and setting pivot options

- Made userpref key shortcut Ctrl+Alt+U since its not used in 2.4x
- added pivot_point_align (Alt+Comma)
- added PET wasnt rna wrapped correctly.
2009-10-13 15:30:19 +00:00
Joshua Leung
bdbae46519 Armature Ghosting Bugfix:
I noticed that armature drawing seemed to be using the wrong colours for ghosting in some situations (in particular, Cessen's biped rig for 2.5). Commented out what appears to be the offending code for now. 

Not totally sure why this broke yet, but as possible bonus of this, we sometimes get coloured ghosted controls (if bone groups were in use).
2009-10-13 12:09:11 +00:00
Joshua Leung
d3ebd62139 Animation Editors: Filtering buttons Cleanup
The filtering buttons for datatypes will now only be shown if there is data of that type present in the current file. They will still be shown in the same order, but by hiding the ones that won't be of any relevance, the presentation of the views should be cleaner (I hope ;)
2009-10-13 11:32:03 +00:00
Joshua Leung
de818dace5 DopeSheet: DopeSheet Summary Channel
Added a summary channel that appears as the first channel in the DopeSheet. For now, this is disabled by default, but can be enabled using the 'Summary' toggle in the header between the mode selector and the standard filtering options. This has been done, since there is a possibility that it will make the DopeSheet run a bit slower.

In this channel you can do everything that you can normally do with DopeSheet channels (i.e. select, transform, edit, etc). It might be worth noting though that care probably needs to be taken when trying to use Copy/Paste, since that is still a bit fidgety...

In the process, I've fixed a few bugs, mostly with selection:
- Selecting keyframes in scene summaries wouldn't work
- Border select only worked in F-Curve and Group channels
2009-10-13 11:21:02 +00:00
Andre Susano Pinto
f4d2926986 Fix [#19602] Rayshadow that goes through transparent plane disappears
(some bugs may show on other places if some of the code isnt prepared to handle non-normalized is->vec)
2009-10-13 10:52:18 +00:00
Campbell Barton
8f25c0a799 moving textures up and down didnt move the material flag, made editmesh skin Ctrl+Alt+F 2009-10-13 08:55:11 +00:00
Campbell Barton
4063c230af fix for warnings, wkey menu wasnt registered 2009-10-13 07:39:08 +00:00
Joshua Leung
4b593ce328 * Fixing crash on mingw when entering world buttons
* Changing hotkey in text editor for 'jumping' to a particular line to Ctrl-G, since this appears to be more standard (and is easier to hit).
2009-10-13 06:15:41 +00:00
Joshua Leung
f8ab477f45 2.5 Bugfixes:
* Reverting some changes I made to try and get Action Groups with no viewable F-Curves, but were collapsed to get hidden. These were causing buggy behaviour

* Move bones to armature layers, and change armature layer operators now use the new automatic properties drawing invoke callback. This allows changing the buttons there immediately affect the bones in the viewport

* #19581: Text Editor: "Jump To" (go to line) not working
Made this use the automatic operator props invoke callback, and fixed an RNA properties bug for this (the default value and range values were swapped).

* PoseLib rename pose operator now works again. Once again, this uses the auto-props popup. Also, improved the code here while I was at it.

* Disabled non-functional/old entry in Select Linked operator ("IPO's")
2009-10-13 05:50:26 +00:00
Joshua Leung
7171c5928e Changing the animation editor filters should now result in the editors updating in realtime afterwards again. 2009-10-13 02:21:18 +00:00
Martin Poirier
3a1216a2f2 Project option for snap to faces.
This is similar to the old retopo all option but uses the snapping code and not the openGL depth buffer (it's thus more precise).

Not sure if making it available as a snap option is sensible, this is up for discussion.

NOTE: it will get slow fast on large meshes, we need to plug in an acceleration structure into snapping.

This will need an icon too.
2009-10-12 22:33:32 +00:00
Campbell Barton
d2e1e0d2a9 remove C specials menus, reuse python ones from the header menu instead. 2009-10-12 21:06:03 +00:00
Brecht Van Lommel
10198e99ff Deep Shadow Buffer
Since the deep shadow buffer summer of code project is not actively under
development anymore, I decided to build my own DSM implementation from
scratch, based on reusing as much existing shadow buffer code as possible.
It's not very advanced, but implements the basic algorithm. Just enough so
we can do shading tests with it, optimizations and other improvements can
be done later.

Supported:
* Classical shadow buffer options: filter, soft, bias, ..
* Multiple sample buffers, merged into one.
* Halfway trick to support lower bias.
* Compression with user defined threshold.
* Non-textured alpha transparency, using Casting Alpha value.
* Strand render.

Not Supported:
* Tiling disk cache, so can use a lot of memory.
* Per part rendering for lower memory usage during creation.
* Colored shadow.
* Textured color/alpha shadow.
* Mipmaps for faster filtering.
* Volume shadows.

Usage Hints:
* Use sample buffers + smaller size rather than large size.
* For example 512 size x 9 sample buffers instead of 2048 x 1.
* Compression threshold 0.05 works, but is on the conservative side.
2009-10-12 19:41:40 +00:00
Campbell Barton
b5f820cd87 added rna api MVert,MFace & MEdge index properties
eg.
 for v in me.verts: print(v.index)

added calc_edges as an option eg.
  mesh.update(calc_edges=True)

This is needed when adding faces to an existing mesh which create new edges.
2009-10-12 19:34:58 +00:00
Brecht Van Lommel
0696cf23e5 Fix #19631: soft size setting for lamps was not RNA wrapped correct. 2009-10-12 19:19:29 +00:00