Commit Graph

25525 Commits

Author SHA1 Message Date
Jeroen Bakker
830fe8af84 Updated the indent, sorry! 2011-07-04 19:22:37 +00:00
Jeroen Bakker
e814f2c71d ====== Proposal: Nodes property windows enhancement ======
===== Situation before this patch =====

in the current situation inside the node editor there is a properties panel (press 'n'-key). This pabel displays some information about the node, backdrop and grease pencil. The UI of the property panel is typically vertical oriented. Nodes in the other hand are not oriented in a direction. Both area's are draw via the same draw function.

With some nodes this will create not user-friendly UI. Try the color-balance for instance). The 3 color circles are drawn next to each other, it would be better to draw them below each other.

When creating more complex nodes you don't want to display all handles in the node-panel and in the properties panel. For instance fine-tuning handles you only want to appear in the property panel to reduce place in the node itself.

===== Situation after this patch  =====

This patch separates the draw functions of the property panel and the node panel.
When no special draw function is created for the property panel, the draw function of the node will be used as 'fallback'

===== Impact =====

==== BKE_node.h ====

add a new uifunc (called uifuncbut) to the bNodeType struct. The definition is the same as the uifunc.

==== node_buttons.c ====

if the uifuncbut is set, call it. currently calls the uifunc method

==== drawnode.c ====

static void node_composit_set_butfunc(bNodeType *ntype). set the uifuncbut function where needed. When at the end of the method uifuncbut is still empty, set uifuncbut to the uifunc. 

===== Final note =====

! PS. this is not limited to the compositor it also works for Materials and Textures !
! PPS. For other branching creating their own node-tree. Please make sure that your uifuncbut is set NULL or a valid draw function !
2011-07-04 18:48:36 +00:00
Jeroen Bakker
c4491f558b Current situation
A mesh can consist out of multiple material. Take a character with clothing's. the skin can be a different material as the different clothing's. During compositing it is a common use-case to only do a part of the composit on only a specific material. Currently this can not be done.

In blender movies this feature is known to be implemented, but until now it never got integrated into trunk.
Proposal

With material index the Blender internal renderer will be capable of creating a buffer containing the material indexes of the first pixel-hit. This will be implemented in the same manner as the object index.

In the compositor the ID Mask node can be used to extract the information out of the Render pass.
Impact
User interface

On the properties-space the next changes will be done

    Scene⇒Render layer⇒Passes⇒Material index will be added
    Material⇒Options⇒Pass index will be added

DNA

    Material struct will get an new field called “index”. this will be a short-type.
    Material struct the field pad will be removed.
    A new Render-layer pass will be added (bit 1«18)

RNA

    Material RNA is updated (based on “pass index” from object)
    Render layer RNA is updated (based on IndexOB)

Blender internal renderer

The Blender internal renderer will process the render pass as a copy of the Object index.
Blender compositor

The render layer input will get a new output socket called “IndexMA”
Usage

An example on how to use material index can be found at:

https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests/compositing/composite_materialindex.blend

This is also example of a commit message longer than the commit itself :)
2011-07-04 18:14:41 +00:00
Campbell Barton
7c15143449 bind marker camera now uses active object rather then scene camera (was requested a few times) 2011-07-04 15:09:02 +00:00
Brecht Van Lommel
796c6a9467 Fix #27849: 3D manipulator widget lost on mesh in edge mode.
The manipulator was always using vertex selection flags, but those are only
valid in vertex mode, as selection flag flushing only happens in the direction
vertex -> edge -> face. Now use edge/face selection flags when needed.
2011-07-04 13:48:18 +00:00
Brecht Van Lommel
7e36a75b45 Paths: remove some temporary code that was only needed for 2.57. 2011-07-04 13:33:47 +00:00
Brecht Van Lommel
398807e235 Fix #27785: blenderplayer + eltopo linking error. 2011-07-04 13:03:41 +00:00
Ton Roosendaal
5918521959 Bug report (IRC)
Knife cut with long mouse trails failed, increased max amount of input points
4 fold (1024).
2011-07-04 11:28:39 +00:00
Brecht Van Lommel
ca2c319649 Fix #27850: keyboards with a comma instead of a dot on the numpad now get
converted to a dot when typing into number buttons, for easier number entry.
2011-07-04 10:56:59 +00:00
Nathan Letwory
cf43e48fc7 Apply patch 4636051. COLLADA: Export selection.
Original patch by Jan Diederich, adapted by Pelle Johnsen. Review assistance by Daniel Tavares.

This patch adds an option to export only the selection.
2011-07-04 08:59:28 +00:00
Campbell Barton
aa1668c6f8 fix for own error in intersect_line_sphere_2d(), using 3d function on 2d vectors 2011-07-04 08:13:27 +00:00
Campbell Barton
0e0eba9f79 fix for crash when setting layers or saving when there is no active scene - only really happens when running python scripts on startup. 2011-07-04 05:23:36 +00:00
Campbell Barton
d29d3a89e4 fix for building WITH_PYTHON_MODULE 2011-07-03 19:15:46 +00:00
Ton Roosendaal
d40b9e2e1c As per discussion: allow bone transforms again for proxy'ed bones. 2011-07-03 18:21:37 +00:00
Campbell Barton
613e9b9926 changed the max decimal points to show from 7 to 6, since with float precision problems the median point of a selection could be 0.0000003 2011-07-03 13:20:21 +00:00
Campbell Barton
fe62b62cb0 fix 2 bugs in project from view from a camera object
- panorama mode was scaled 2x too high.
- scaled camera objects would incorrectly effect the result.
2011-07-03 10:48:18 +00:00
Campbell Barton
78c43d18fc fix [#27839] UV 'Project from view' ignores camera lens shift 2011-07-03 07:37:33 +00:00
Campbell Barton
3ee2cb9cdb fix for error in cmake files 2011-07-02 07:55:06 +00:00
Ton Roosendaal
bd81fde1ff Packaging variable named 'a' for release 2011-07-01 14:46:14 +00:00
Campbell Barton
c2e12d33bd update checksums for x3d tests 2011-07-01 13:39:35 +00:00
Campbell Barton
cf05777bc0 cmake was installing text as a directory rather then coping the files within it. 2011-07-01 13:10:49 +00:00
Campbell Barton
1072ba66e0 fix [#27820] foreach_get on bpy_prop_collections returns weird results 2011-07-01 08:48:00 +00:00
Sergey Sharybin
1f2c93f9f7 Fix #27816: Outliner does not update when parents are cleared
Added NC_OBJECT|ND_PARENT notifier to OBJECT_OT_parent_clear operator.
2011-07-01 05:58:28 +00:00
Campbell Barton
7f1fe0fdc2 fix for own mistake with key shortcuts r37850 2011-06-30 15:43:38 +00:00
Ton Roosendaal
06fcf2e6ef Todo item:
Closed regions didn't always draw the (+) icon right place, confusing
for users.

Next to that, I think this icon is using a bad metaphor or visual language,
Illustrated best if you close a header in outliner or buttons. Icons are
UI widgets, for screen/editor layouts different controls can be stylized.

My preference is something that aligns visually to the seperators between
regions; for testing and hacking pleasure I've added two quick versions,
a small tabbish thing and a triangle. Enable these with debug menu,
ALT+CTRL+D, values 1 or 2.

This is simply drawn with opengl now. An image for it can be made as well.

Previews:
http://www.blender.org/bf/closed_regions1.png
http://www.blender.org/bf/closed_regions2.png
http://www.blender.org/bf/closed_regions3.png

There's other design ideas to explore as well, like making region deviders
8-10 pixels wide, with a 'drag me' dot on it or so. That takes some screen
estate though, and will require to add big editor-dividers too...
Fun stuff for the mockup-mafia to check on, we have time :)
2011-06-30 15:02:03 +00:00
Lukas Toenne
f2c7cb0912 When duplicating nodes in a tree, also copy the links between selected nodes, as well as input links from non-selected to selected nodes. 2011-06-30 12:37:59 +00:00
Sergey Sharybin
85dc00e254 Fix for undefined "index" in key.c.
Probably forgotten to be remaned to defgrp_index after
recent commit here.
2011-06-30 07:35:41 +00:00
Campbell Barton
66b565a376 improve error report [#27775] External Image Editor Preference does not work
also correct tooltip typo.
2011-06-30 04:32:59 +00:00
Campbell Barton
5c3e73fd56 replace inline loops for get_weights_array with calls to defvert_find_weight() 2011-06-30 03:04:39 +00:00
Campbell Barton
c490baceed minor change in logic for adding a new hook, ignore zero weight verts in a vgroup. 2011-06-30 02:52:13 +00:00
Campbell Barton
acc69b87d7 fix/workaround [#27807] bake malloc loop if Deep Shadow && strand && children
render strands use the window matrix and window size which were both zero while baking, this caused divides by 0 and eternal malloc loop.
So set unit window matrix and dummy view size.
This is more a workaround then a fix but avoids crashing.
2011-06-30 02:02:16 +00:00
Campbell Barton
bad785cce4 minor edits, no functional change. 2011-06-30 01:40:20 +00:00
Campbell Barton
8f89e7a309 incorrectly had CMake storing directory names as filepaths
also correct compiler warning for collada and remove print from own last commit.
2011-06-29 13:16:11 +00:00
Campbell Barton
e0e9c81c94 fix [#27800] Tooltips for shading mode options the wrong way round. 2011-06-29 06:14:15 +00:00
Thomas Dinges
40a15a04be 2.5 Image Buttons Template:
* Added missing greying out for "fields_per_frame" Property, reported by lmg on IRC. Thanks!
2011-06-28 20:05:18 +00:00
Brecht Van Lommel
8ddd2db648 RenderEngine API: add self.report() error reporting function for render engines,
works the same as for operators. Also includes some refactoring of render error
reporting code to use ReportList.
2011-06-28 16:25:07 +00:00
Campbell Barton
3c43e8e50a fix [#27782] Tileable displacement map issue in Blender 2.58
this bug was introduced in 2.58 (r37342), when adding filtering support to imagewrap(), the problem is boxsample was getting float values which were not wrapped as int values are.
2011-06-28 12:48:39 +00:00
Campbell Barton
57f4844c43 make drawing faces in the UV editor an image space option, re-using the mesh option was lazy and doesn't make much sense. 2011-06-28 09:42:17 +00:00
Nicholas Bishop
cf90b9497f VBO:
Fix for bug found by psy-fi.

* gpu_buffers.c was using GL_ARB_vertex_buffer_object to check for VBO
  support, should be using GLEW_ARB_vertex_buffer_object.
2011-06-28 00:40:39 +00:00
Brecht Van Lommel
8e90ba3b20 Fix last part of #26850: OS X game player did not react to quit event. 2011-06-27 14:34:58 +00:00
Brecht Van Lommel
49f84ef9ed Fix part of #26850: OS X game player was showing _NSAutoreleaseNoPool()
error messages on start. These were coming from initializing the SDL video
subsystem as part of Joystick init. We do not need this, as video stuff is
covered by GHOST, most likely this was conflicting.
2011-06-27 14:06:11 +00:00
Ton Roosendaal
f10f3d3651 Bugfix #27768
On clicking in a non-active Blender window (when you activated others),
the mouse position of the first click was still the old position.

Problem is in GHOST; it sends out the 'activate window' event after the
mouseclick event itself. Code now checks for this case and reads the
correct mouse position.
2011-06-27 11:21:25 +00:00
Campbell Barton
a1abdf1c1c fix [#27778] Set Bone Flags - No Scale - Toggle seems not to work.
Toggling options on the selection is better done as a generic operator.
Replace ARMATURE_OT_flags_set and POSE_OT_flags_set with WM_OT_context_collection_boolean_set and use menus to access it with specific settings.

This way its easy make a key shortcut which toggles any boolean on any collection - sequences, metaballs, objects, bones etc.
2011-06-27 07:51:52 +00:00
Campbell Barton
ae49f6deb0 fix for a leak in sound_read_sound_buffer(), used when drawing the sequencer waveform. 2011-06-27 05:03:58 +00:00
Campbell Barton
308cd73d8b scenes now adjust brush usercounts on copying and freeing, pointed out by Jason Wilkins 2011-06-27 04:05:19 +00:00
Nicholas Bishop
d7cea716c5 == Multires ==
Fix for bug #27710, 'Multires lost from 2.49 file in 2.5x'
Reported by Gaia Clary.

Problem was that the old multires data didn't flush changes to
vertices out to the Multires structure on filesave. So, recent bits of
sculpting could be lost if the multires level wasn't changed before
filesave.

We already had code to deal with missing multires vertex data, which
simply copies the Mesh vertex data into the multires vertex data if it
matches the number of vertices in the highest level. Moved this code
up a bit so that we always make this copy if the numbers match up.

Was able to reproduce the bug fresh in 2.49b, and confirmed that the
fix works. However, this does not help if changes were sculpted on a
multires level other than the highest level and saved without a
subsequent level change.
2011-06-27 03:54:22 +00:00
Campbell Barton
33e554799b Minor warning cleanup & fix
- comment/remove assignments from values to themselves.
- add case break statements (no functional change but some source code checkers notice).
- fix python errors when the sculpt brush is None.
2011-06-27 03:36:14 +00:00
Campbell Barton
31f0b6639a more compact code for recent sphere/line intersection functions. 2011-06-26 17:16:06 +00:00
Ton Roosendaal
1186bdfc08 Putting back blender.org and release number in info header.
Worked always great for tutorials in past, to check what's been used.
2011-06-26 17:01:10 +00:00
Campbell Barton
933a65a76f 2d version of line/circle intersec function. 2011-06-26 11:08:12 +00:00