Commit Graph

11497 Commits

Author SHA1 Message Date
28780342ed fix/workaround [#28040] float images reduced to 256 levels per channel upon save
Generated images would not be re-generated with a float buffer on load, even when selected on creation.
Now save the float buffer setting as a generated image flag.

This means you can enable before baking to enable baking to a float buffer.
2011-07-21 00:41:00 +00:00
ce03ec4b86 Merged changes in the trunk up to revision 38543.
Conflicts resolved:
doc/python_api/sphinx_doc_gen.py
source/blender/blenkernel/CMakeLists.txt
source/blender/makesdna/DNA_material_types.h
source/blender/render/intern/source/pipeline.c
source/creator/CMakeLists.txt
2011-07-20 23:33:10 +00:00
fb3783bd13 Added vertex masking support for the weight paint vgroup functions including:
Normalize, Normalize All, Invert, Clean, and Levels.

Face mask and vertex select/mask are now mutually exclusive options.

Went ahead and allowed vertex selection support and masking for vertex paint.
2011-07-20 15:56:35 +00:00
ce0ad0b40b fix [#28018] Sequence Swap Data Operator does not work 2011-07-19 01:36:59 +00:00
c6444eaa0f avoid setting the color for every loop 2011-07-19 00:06:43 +00:00
c31a5f99f9 update to match changes in trunk 2011-07-18 15:12:35 +00:00
52d12852e7 svn merge -r38157:38474 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-07-18 14:49:05 +00:00
b8fc3030b5 svn merge -r37793:37865 https://svn.blender.org/svnroot/bf-blender/trunk/blender
Merge info was  /trunk/blender:36835-37793,37865-38157
so this should merge in missing files.
2011-07-18 14:15:02 +00:00
9469f0d0af Bug fix: particle cache should only be cleared on the exact first integer frame, not in the case of a subframe between the first and second frame. 2011-07-18 02:40:54 +00:00
5792bd7cc7 cmake: cleanup include paths, some duplicates and going up some unneeded dirs. 2011-07-17 09:11:13 +00:00
410c5e3cd2 cmake source definitions:
remove missing includes and use more strict formatting.
2011-07-16 23:01:14 +00:00
1fd33b6e77 cmake option to build without smoke sim: WITH_MOD_SMOKE 2011-07-13 18:40:21 +00:00
5e841e4b4a fix for animation playback and build error when compiling without WITH_AUDASPACE 2011-07-13 17:24:33 +00:00
9a808e7b8c Lots of incomplete changes:
Weight Paint Vertex Select tweaked to act like edit mode's select and Circle select was added, but clipping is not working properly for either.

Select all was added too, but to the Q key until I look into overriding A's select all bones.

The select vertices checkbox was moved to the header, but it does not force face select mask to turn off yet--and it doesn't have the correct icon.

There will definitely be an update tomorrow to fix the problems with all or most of the issues.
2011-07-12 19:06:06 +00:00
d9cf985730 Merging trunk up to r38329. 2011-07-12 13:09:22 +00:00
2fd3ae7539 Bugfix #27881: Motion paths don't correctly update with pose sliding
tools
2011-07-12 03:02:53 +00:00
7dfe34864e Fix #27912: crash after mesh.materials.pop(). 2011-07-11 09:08:08 +00:00
8ca556a32a Fix #27921: optimal display with 2 subsurf modifiers fails. 2011-07-11 09:05:10 +00:00
897cbe4b42 Fix for [#27398] Particle systems with animated groups render incorrectly in viewport
* Hmph.. depsgraph and group duplication == illogical.
2011-07-10 23:49:59 +00:00
2fb4a37baa Fix for [#27289] Hair: Render Option - Object does not point objects to end of "hair path"
* Objects are now always rotated in the directions of the hair paths
* Secondary fix: particle size wasn't updated for hair particles, so dupliobject size couldn't be change after the hair was edited
2011-07-10 17:30:31 +00:00
de7592b489 Fix for [#26873] Animated displacement modifier on an object doesn't work with hair particle objects
* Noise is now considered an animated texture as it changes with every frame
* Converted a few places in particles code to use the particle system's own random table instead of BLI_frand.
2011-07-10 17:04:56 +00:00
4b80e1aba2 Merge with trunk r38281 2011-07-10 16:18:48 +00:00
77faef7b5f Dynamic Paint:
* Proximity brush color ramp should now work properly with any type of proximity brush.
* Dynamic Paint operators (adding surfaces, baking, etc.) now affect right object even when ui is pinned to a non-selected object.
* Fixed proximity falloff for vertex weight surfaces.
* Fixed possible color issue with low alpha brushes.
* Fixed a compiler warning.
2011-07-10 16:08:26 +00:00
de10ffab75 Bugfix #27761
Material nodes: when no output node was active, it sets one.
Not common to happen anymore, only for deleting output nodes
without clicking on nodes.
2011-07-09 17:03:35 +00:00
5506d18fa8 Fox #27866: Curve handle snaps/locks when it shouldnt
It was a precision error in calchandleNurb. Do not align handles
along handle which si too short.
2011-07-09 14:22:52 +00:00
abdf420a6d == GPU Buffers ==
This patch attempts to clean up and document the GPU buffers
code. There are a few bug fixes as well.

Patch reviewed here: http://codereview.appspot.com/4631052/

Summary:

* Bugfix: make GPU_buffer_copy_normal convert from shorts to floats
  correctly, also fixed the use of cached face normal CustomData.

* Bugfix: changed the `mat_nr' field of GPUBufferMaterial from char to
  short.

* Changed color buffer setup to not alloc a temporary copy of color
  data, just passes the MCol data in directly.

* Changed the GPU buffer pool code to make clearer what operates
  specifically on the global pool.

* Lots of refactoring for GPU_drawobject_new; should operate mostly
  the same (except got rid of one unecessary allocation), just split
  into more functions and without macros now.

* Converted some #defines into enumerations.

* Made some stuff private, pulled out of header file.

* Deleted unused function GPU_buffer_pool_free_unused().

* Removed GPU_interleaved_setup and related #defines. (I think this
  was used for editmode VBOs, but those were disabled.)

* Added lots of comments.

* Added a few comments in the code signed `--nicholas' to note places
  where I am unsure about design or usage, would be good to address
  these better.

* Code formatting changed to be more consistent with the rest of
  Blender.

* Renamed some fields and variables to be more consistent with
  Blender's naming conventions.

* Renamed some fields and variables to use more descriptive names,
  e.g. renamed `redir' to `mat_orig_to_new'.

* Removed print outs with DEBUG_VBO -- don't feel too strongly about
  this one, just not used elsewhere in Blender, could be easily added
  back if others disagree though.

* Moved the PBVH drawing code down to the bottom of the file, before
  was sitting in the middle of the other VBO code
2011-07-08 19:58:02 +00:00
a5906de7c4 Fix #26962: softbody collision doesn't respect subsurf+displace modifiers.
Softbody was still using a flag to determine if it should use the final or
deform derivedmesh, but this wans't exposed in the UI. Others systems use the
collision modifier, now softbody uses it also to get vertices and faces, but
with own collision code.
2011-07-08 13:22:58 +00:00
2b8391e693 Dynamic Paint:
* Changed loop index back to signed, since OpenMP 2.x doesn't allow unsigned indexes.
2011-07-08 12:05:34 +00:00
2420439773 Merge with trunk r38225 2011-07-08 11:16:13 +00:00
f8f1cbd17f Dynamic Paint:
* Canvas and brush can be now enabled simultaneously. This way it's possible for two canvases to interact.
* Added basic anti-aliasing support for vertex surfaces.
* 3D-view color preview now works even when there's subsurf modifier after Dynamic Paint in modifier stack.
* Added a new brush option to use proximity from object center.
* Default surface frame range now use scene's start and end values.
* Improved ray checks for volume brushes.
* Added new "non-closed" option for volume brushes. This way it's possible to use planar meshes as "volume" brushes with predefined ray direction.
* New carrot branch splash image by CGEffex.
* Improved brush affection code.
* Lots of smaller improvements.
* Fixed: Weight paint didn't work with particles.
* Fixed: Point cache didn't work for non-wave surfaces anymore since last commit.
2011-07-08 11:03:37 +00:00
30d41ac9cb NLA - Adding new actionclip strips no longer appends "Act: " to the
start of the names. It should be clear enough what they are without
this.
2011-07-08 03:31:40 +00:00
4f8b9a4033 Removed code I no longer needed for multi-paint's newer system.
Added comments to the more complex functions.
2011-07-07 17:59:15 +00:00
d00a3c8ddf Outliner RMB Menu - AnimData mangement
* When clicking on "Animation" items in the Outliner, there's now a
menu containing from which you can change the action used, and
refresh/delete all drivers.

* Moved action-setting logic for AnimData actions to a single utility
function in anim_sys, since this was starting to be done in too many
places already.

* Fixed Outliner refresh bug after changing the active action
2011-07-07 03:35:48 +00:00
34c5784f99 Merging trunk up to r38167. 2011-07-06 20:26:56 +00:00
31aa4d95fd Merged 38124-38157 2011-07-06 15:20:49 +00:00
7858d9348e Merged 37865-38124 2011-07-06 13:49:47 +00:00
29f2cbdd8f Fix #27876: particles instancing a whole group didn't take group offset into account. 2011-07-06 10:05:27 +00:00
959cd0fe69 Fix #27777: vertex color disabled when in a reused node material. 2011-07-05 19:45:26 +00:00
5d720bb98d Added Selection support to weight paint.
"Started" putting in wp's circle select, but it isn't there yet.
2011-07-05 18:03:31 +00:00
3f3c6f5f1f Merging from trunk up to r38119. 2011-07-05 13:54:25 +00:00
1ff54f91ff Fix: #27861 bevel angle limit at 90° wasn't working well on cube, tweaked
epsilon value to be a bit smaller.
2011-07-05 08:28:54 +00:00
db2d737f0e Fix for [#27182] particle/collision kill interacting strangely
* Particle die time wasn't taken correctly into account in certain situations when calculating dynamics.
2011-07-05 02:56:14 +00:00
35965308a8 Fix for [#27579] Particles Cache Problem
* Horrors from the ancient world of deprecated code: object animation offset can't really work correctly with particles unless point cache takes full control of particle system timing.
* Disabled the non-working offset control from effecting particles so that for now particles will work consistently and the offset is only applied to the object.
2011-07-05 02:18:55 +00:00
830fe8af84 Updated the indent, sorry! 2011-07-04 19:22:37 +00:00
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
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
25ffeed8bf fixing compile errors with VisualStudio 2008.
* macro ABS has no effect with uintptr_t anyway and was throwing warning (promoted to error) -> commented out and marked with TODO
* removed two unused variables trhowing warning also promoted to error when compiling.
2011-07-03 17:07:07 +00:00
901f24716b Dynamic Paint:
* Some ui and rna tweaking.
* Effects ui panel is no longer visible for non-paint surfaces.
2011-07-03 14:01:57 +00:00
b6c1490359 Experimental depsgraph tweak:
Objects with drivers are now treated as needing updates when the
current frame changes. This assumption has been documented in the
code, and should at least mean that users who try to use drivers for
creating simple time-based expressions that this should work.

Note:
- It is still recommended to create a "cfra" driver variable instead
of actually inlining bpy.context.scene.frame_current into the
expressions. Not only does the latter look rather nasty to type/have
in the expression, but it is also less future-proof for when I get
around to actually working on a beefed-up depsgraph (nothing official
on that front yet...)
2011-07-03 11:56:24 +00:00
fdc59b8a40 Merge with trunk r38042 2011-07-02 18:15:55 +00:00