Commit Graph

190 Commits

Author SHA1 Message Date
11a7a406fb DPAINT_OT_output_toggle operator was using an index option for what was really a toggle between 2 values, changed its index option to an enum.
if a value other than 1/0 was given it would use an uninitialized pointer too (compiler warning, review should pick up this stuff).

also renamed some RNA attrs:
 output_name --> output_name_a
 output_name2 --> output_name_b
 do_output1 --> use_output_a
 do_output2 --> use_output_b
 do_smudge --> use_smudge
 max_velocity --> velocity_max
2011-11-14 06:46:07 +00:00
46a673c295 fix another buffer overrun error, also replace BLI_snprintf with BLI_strncpy since no formatting is needed in this case. 2011-11-13 13:56:40 +00:00
094c9799f9 quiet -Wdouble-promotion warnings 2011-11-11 12:00:08 +00:00
c0934795cb bmesh compiles again after dynamic paint merge 2011-11-11 11:20:46 +00:00
4ef2089097 Dynamic Paint:
* Renamed "Sharp" proximity falloff to "Constant".
* Added a new "Negate Volume" option for "Volume + Proximity" brush.
* Possible fix for random particle clipping errors.
2011-11-11 10:46:26 +00:00
c8cb79a11f SVN maintenance. 2011-11-10 17:43:37 +00:00
8ef6d50185 Mark unused variable. 2011-11-10 17:19:12 +00:00
7bcd1a6c47 Dynamic Paint:
* Added BKE_dynamicpaint.h to CMake list.
* Changed some unsigned integers back to signed, as OpenMP can't iterate unsigned values anyway.
* Fixed more warnings.
2011-11-10 13:00:27 +00:00
dfc30d1229 quiet some warnings from recent merge 2011-11-10 12:28:26 +00:00
afeb0eeaf0 Dynamic Paint merge:
Commit Dynamic Paint from "soc-2011-carrot" branch into trunk.

End-user documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Dynamic_Paint

GSoC wiki page:
http://wiki.blender.org/index.php/User:MiikaH/GSoC-2011-DynamicPaint
2011-11-10 10:24:34 +00:00
1b4a54ad73 Merge with trunk r41701 2011-11-09 15:46:53 +00:00
b9c83456b2 Dynamic Paint:
* Fixed another issue from latest alpha blending changes. Zero alpha brush was painting black color.
* Fix: "Inner Proximity" brush setting was also affecting displace.
* Other small code changes.
2011-11-05 07:39:59 +00:00
b3dd11821f Dynamic Paint:
* Some fixes and tweaking for the previous commit.
2011-11-02 11:32:22 +00:00
0a37e6ab97 Dynamic Paint:
* Redesigned alpha blending and paint drying algorithms. Now it gives much better results when using low brush alpha or when surface has initial color set.
* Fix: "Slow" dissolve/dry was scaled incorrect when using substeps. Also adjusted time to better match non-"slow" setting.
* Fixed possible issues when using image textured brush.
* Fix: particle brush panel was no longer visible since last commit.
* Adjusted default surface values.
* Some more code cleanup.
2011-10-31 13:01:06 +00:00
fae903e263 Dynamic Paint:
* More code changes pointed by Brecht in codereview.
* Some user interface improvements.
* Updating brush settings now also updates canvas preview.
2011-10-28 14:46:09 +00:00
30cba27987 Dynamic Paint:
* Some changes and cleanup pointed on the codereview.
2011-10-22 16:16:14 +00:00
8bf78d7f56 Dynamic Paint:
* Fix: Wave "timescale" also changed simulation behavior. Now different timescale values will lead to nearly identical results, just slower or faster.
* Added "Displace Factor" setting for vertex displace surfaces. You can use it to adjust final displace strength or use negative values to paint bumps.
* Added clamp/map value to wave image sequence output settings.
* RNA description tweaking.
* General code tweaking.
2011-10-13 20:00:22 +00:00
15cb47bf91 Merge with trunk r40409 2011-09-20 17:51:04 +00:00
9de082dbf4 Dynamic Paint:
* Enabled modifier "Apply" button since it can now be used to apply displacement or output layers to the mesh.
* Default surface output names are now unique in case canvas has multiple surfaces of same type.
* Merged "face aligned" and "non-closed" brush options to a single "Project" toggle, available for "Proximity" brushes.
* Added more icons to user interface selections.
* Increased default proximity distance.
* Set proximity falloff ramp to only affect alpha by default.
* Removed some no longer required render ext. functions.
* Fix: geometry node vertex alpha didn't work unless "Vertex Color Paint/Light" was enabled from material.
2011-09-10 08:55:44 +00:00
42faf7ae41 Merge with trunk r39928 2011-09-05 17:06:09 +00:00
79ef35889f Dynamic Paint:
* Added "Initial Color" setting for surfaces. You can for example set color from UV mapped texture or from vertex colors.
* Added clamping option for "wave" brushes.
* Merged smudge and drip adjacency search code. This fixes some issues with drip effect and makes code easier to maintain.
* Some adjustments to the bounding box generation code.
* OpenMP is now completely disabled if no compile flag is set.
* Wetness values are now properly clamped on vertex surfaces. No more black dots on >1.0 wetness.
* Textured brushes now use same function calls as internal renderer, instead of modified duplicates.
* Moved operator code to editors/physics/.
* Re-enabled some particle brush optimizations.
* Fixed sometimes incorrect volume brush influence.
* Fixed possible crash when using a brush that uses "Voxel Data" texture simultaneously with material preview or render.
* Fixed texture mapping issues for "Object Center" brush.
* Fixed possible crash/corruption when duplicating brush object that uses color ramps.
* Other tweaking and code cleanup.
2011-09-05 16:04:15 +00:00
0bb7ddad97 Dynamic Paint:
* Added option to preview surface wetmap instead of paint.
* Changed default paint color to blue for better visibility.
* Fix: Random sized particles didn't work anymore.
* Fix: Particle initial velocity issues when using canvas substeps and a particle brush.
2011-08-28 16:36:47 +00:00
5b71334484 Dynamic Paint:
* Bake calculation memory is now freed if surface is deactivated or baked.
* Fixed possibly incorrect brush influence when using "Non-Closed" brush setting.
* Added new rna property descriptions.
* Added some comments and general code cleanup.
2011-08-21 19:03:47 +00:00
404dd15a12 Dynamic Paint:
* Fix: Wave surface normals weren't calculated anymore since yesterday's commits.
2011-08-06 14:40:04 +00:00
5467df14ca Dynamic Paint:
* Added a new "color spread" slider for "spread" effect to adjust how much colors get mixed.
* Improved smudge behavior on "wet" paint.
* Displace can now be set "incremental". This way it's added on top of previous displace.
* Added "displace clamp" setting. You can use it to limit maximum amount of displace.
* Fix: velocity data wasn't always initialized, this could lead to no effect at all or crash.
* Fix: Vertex color rendering near zero alpha values was still incorrect.
2011-08-05 09:31:35 +00:00
f4c93eb580 Dynamic Paint:
* Smudge now works properly with substeps.
* Velocity brush speed clamping now works for all brush types.
* Small tweaking on velocity brush ui.
2011-08-04 07:09:21 +00:00
8394f65d4a Dynamic Paint:
* Object velocity can now be used to determine brush influence and color.
* Brushes can now be set to "smudge" existing paint.
* Added new operators to easily add and remove surface output mesh data layers from Dynamic Paint ui.
* Fixed drip effect algorithm to work properly on forces pointing towards surface.
* Adjusted drip effect speed.
* Drip effect can now use canvas velocity and acceleration to influence drip direction.
* Fixed texture mapping for material enabled brushes.
* "Object Center" type brushes can now use "material color" as well.
* Improved surface partitioning grid generation algorithm.
* Fixed possible invalid brush collision detection when OpenMP enabled.
* Fixed incorrect random sized particle displace/wave influence.
* Fixed "Object Center" brush color ramp falloff.
* Fixed invalid zero alpha sampling when rendering vertex colors.
* Lots of smaller tweaking.
2011-08-03 18:31:48 +00:00
36802232d7 Dynamic Paint:
* Forgot to change node socket ids.
* Fixed "shrink" effect artifacts on wetmap.

There was a typo in previous commit message. Should be "alpha support for vertex color rendering".
2011-07-24 17:40:02 +00:00
6ed039642a Dynamic Paint:
* Added alpha support renderer for vertex colors. You can now easily render Dynamic Paint produced vertex colors by checking "Vertex Color" in material options.
* Added "Vertex Alpha" socket for "Geometry" material node.
* Fixed vertex surface color output issues.
2011-07-24 17:03:33 +00:00
cbe1613c01 Dynamic Paint:
* Surface bake data is no longer recalculated every frame, but only when surface mesh has moved/transformed. Results in multiple times better performance on high resolution surfaces when using sub-steps or surface is still.
* Heavily optimized particle brushes when random particle size enabled. Up to 10x speedup with large radius particles.
* Added an additional "grid" space partitioning structure for surfaces.
* Added bounding box checks for brushes.
* Smaller overall optimization.
* Further OpenMP parallelization.
* Added physics tab link to modifier panel.
* Fix: "Point Density" texture cache wasn't properly updated. Brushes can now use Point Density textures as well.
* Fix: Paint dissolve resulted in black color.
* Fix: KD-tree checkups weren't completely thread safe. Fixes possible crash with OpenMP enabled particle brushes.
* Fix: When brush was set to use a specific material, it was saved incorrectly and resulted in potential crashes on next load.
2011-07-22 18:37:30 +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
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
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
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
9ae663154f * Added a new surface type "Waves" that simulates simple 2D wave motion.
* Optimized adjacency point searching for vertex surfaces.
* Separated adjacency code from effect system.
* Overall code cleaning and tweaking.
2011-07-02 18:06:39 +00:00
cb12648656 Dynamic Paint:
* Fixed memory leak when baking image sequences.
* Fixed sub-steps when brush was controlled by a parent object.
* Added option to select active outputs for paint surfaces.
* Improved color mixing algorithm.
* Improved memory allocation behavior.
* Memory is now freed even in case of errors.
* Removed "initial color" setting, as it's better to adjust color from material.

* "Paint effects" system:
** Converted to use new data structures.
** Works now with any number of surrounding points.
** Re-implemented support for UV-image surfaces.
** Added support for vertex surfaces too.
** Improved color handling.
** Improved movement stability.
** "Drip" effect uses now Blender's force fields instead of just z-directional gravity like before. Now each surface point can have different force influence.
2011-06-27 07:30:58 +00:00
40d4f34e82 Dynamic Paint:
* Added vertex weight painting.
* Added dissolve/fade setting for every surface type.
* Restored image format and displace type selection for image sequences.
* Fixed a possible crash when OpenMP enabled.
* Attempt to fix surface rna paths.
* Fixed compile warnings.
2011-06-18 18:41:20 +00:00
71211818be Dynamic Paint:
* Image sequence anti-aliasing works again.
* Vertex color viewport preview now works with GLSL and textured view modes too.
* Added a new "inverse" setting for "volume + proximity" brush. With it brush only has effect within volume but effect is lower near the mesh surface.
2011-06-17 18:04:56 +00:00
3de22dec26 Dynamic Paint:
Committed changes from previous weeks, biggest changes are:
* Canvas can now have multiple "surfaces" that each can have specific format, type and settings.
* Renewed UI to support this new system.
* Aside from old "image sequence" output format, Dynamic Paint can now work on vertex level as well. Currently vertex paint and displace are supported.
* Integrated vertex level painting with Point Cache.
* Added viewport preview for Point Cache surfaces.

Due to massive amount of changes, old Dynamic Paint saves are no longer supported. Also some features are temporarily missing or may not work properly.
2011-06-16 10:41:00 +00:00
3b41ab432b Applied Dynamic Paint 1.18f patch as a codebase for GSoC. 2011-05-24 07:08:58 +00:00