Commit Graph

3153 Commits

Author SHA1 Message Date
Tamito Kajiyama
46db54c805 Merged changes in the trunk up to revision 38663. 2011-07-24 23:42:20 +00:00
Miika Hamalainen
35720a4c07 Merge with trunk r38663 2011-07-24 18:01:20 +00:00
Miika Hamalainen
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
Campbell Barton
b709b52f46 svn merge -r37500:37600 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-07-24 13:21:54 +00:00
Campbell Barton
97d0846d2c svn merge -r37335:37500 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-07-24 13:03:48 +00:00
Sergey Sharybin
b154b59938 New dilation function from Morten Mikkelsen (aka sparky).
This commit fixes very noticeable seams caused by margins
calculated incorrectly. This commit changes way margin is
calculated in and makes textures really seamless.

Also margin limited to 32 isn't good now -- artists are baking
really large textures nowadays so margin is now limited to 64px.

Thank you, Morten!
2011-07-24 10:26:22 +00:00
Joshua Leung
6a392e8cb5 == RNA Property Updates get called by Animation System now ==
This fixes bug #26764 and several others like it, where modifier
properties (and others, but most visibly modifiers) would not do
anything when animated or driven, as modifier properties require the
RNA update calls to tag the modifiers to get recalculated.

While just adding a call to RNA_property_update() could have gotten
this working (as per the Campbell's patch attached in the report, and
also my own attempt #25881). However, on production rigs, the
performance cost of this is untenatable (on my own tests, without
these updates, I was getting ~5fps on such a rig, but only 0.9fps or
possibly even worse with the updates added).

Hence, this commit adds a property-update caching system to the RNA
level, which aims to reduce to the number of times that the update
functions end up needing to get called.

While this is much faster than without the caching, I also added an
optimisation for pose bones (which are numerous in production rigs) so
that their property updates are skipped, since they are useless to the
animsys (they only tag the depsgraph for updating). This gets things
moving at a more acceptable framerate.
2011-07-24 04:34:46 +00:00
Miika Hamalainen
2a97e5a772 Merge with trunk r38619 2011-07-22 18:51:53 +00:00
Miika Hamalainen
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
Campbell Barton
0e933d089d fix [#27910] baking ambient occlusion, do not consider closer object for blender 2.58a 2011-07-22 05:33:06 +00:00
Ton Roosendaal
bbfe3c9c49 Bugfix #28034
Blender render optimizes alpha=0 materials away, unless it has
a number of properties... but there wasn't a check for material
being ray-mirror, it then should be rendered always.
2011-07-21 17:40:20 +00:00
Tamito Kajiyama
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
Campbell Barton
5792bd7cc7 cmake: cleanup include paths, some duplicates and going up some unneeded dirs. 2011-07-17 09:11:13 +00:00
Campbell Barton
410c5e3cd2 cmake source definitions:
remove missing includes and use more strict formatting.
2011-07-16 23:01:14 +00:00
Campbell Barton
1fd33b6e77 cmake option to build without smoke sim: WITH_MOD_SMOKE 2011-07-13 18:40:21 +00:00
Janne Karhu
2ebc5cbe75 Fix for [#27293] Group Instance of particle system is rendered wrong
* Silly mul_m4_v3 had turned into a mul_m4_v4 at some point!
2011-07-10 23:24:15 +00:00
Janne Karhu
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
Miika Hamalainen
4b80e1aba2 Merge with trunk r38281 2011-07-10 16:18:48 +00:00
Sergey Sharybin
c314ac8ce3 Fix #27888: Render artifacts in 2.58.1
It was a regression introduced in rev36301. Average normal calcilation
used to fail due to triangular faces which are too slight.

Do not use triangles with too small area for average normal calculation.
2011-07-09 15:10:12 +00:00
Miika Hamalainen
2420439773 Merge with trunk r38225 2011-07-08 11:16:13 +00:00
Jeroen Bakker
a83c3c0b14 The material index did not work when FSAA was turned on.
The information was written in the temp exr files, but was not read back.
After checking I saw that the pass was not merged back in the rendercore.

After adding this it worked. tested with all FSAA settings.
2011-07-06 16:08:24 +00:00
Brecht Van Lommel
febce577ba Fix #27873: nan pixels in render with degenerate faces. 2011-07-06 09:15:18 +00:00
Jeroen Bakker
830fe8af84 Updated the indent, sorry! 2011-07-04 19:22:37 +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
Miika Hamalainen
fdc59b8a40 Merge with trunk r38042 2011-07-02 18:15:55 +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
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
Miika Hamalainen
c896fcae79 Merge with trunk r37849 2011-06-27 08:11:05 +00:00
Tamito Kajiyama
d65ebf8c84 Merged changes in the trunk up to revision 37799.
Note for VS2008 plus CMake users:
I had to remove OpenEXR debug libs from the "blender" project properties >
Linker > Additional Dependencies.  Otherwise I got a number of linker errors
concerning duplicated symbols between libcmt.lib and libcmtd.lib.
2011-06-25 00:49:53 +00:00
Matt Ebb
826ed5ed1d Fix [#27748] undeterministic behaviour of volumetric renderer
* Made clearer in the UI that the approximate multiple scattering always enables light cache
* Fixed a potential problem in anisotropic scattering
2011-06-25 00:33:36 +00:00
Campbell Barton
12e02fd474 own patch [#27752] Python Callback (Scriptlink functionality)
Python:
 * adds bpy.app.handlers which contains lists, each for an event type:
   render_pre, render_post, load_pre, load_post, save_pre, save_post
 * each list item needs to be a callable object which takes 1 argument (the ID).
 * callbacks are cleared on file load.

Example:
 def MyFunc(scene): print("Callback:", data)
 bpy.app.handlers.render_post.append(MyFunc)

C:
 * This patch adds a generic C callback api which is currently only used by python.
 * Unlike python callbacks these are not cleared on file load.
2011-06-24 16:54:30 +00:00
Campbell Barton
734a4aa428 fix [#27746] Black and White Render doesn't work and/or Saves as a Blank screen
convert to grayscale when saving renders rather then only writing the red channel.
2011-06-24 03:49:56 +00:00
Lukas Toenne
587b51831d More flexible size options for particle billboards. This adds scale factors for width and height of billboards, relative to the particle size. It's useful when the particle size is primarily used for collision and the like, so the billboard appearance can be adjusted independently. Also allows non-square billboards.
In addition the billboards can be scaled by the particle velocity with optional head and tail factors (similar to line drawing options). This allows for pseudo-motionblur effects.
2011-06-23 18:59:47 +00:00
Ton Roosendaal
f6d899af05 Bugfix #27692
Render + compositing error:
When adding renderlayer nodes in a composite, without having own
scene render, the renderlayer nodes were not tagged as changed,
causing compositing to give previous result.
2011-06-20 16:38:21 +00:00
Campbell Barton
692e0ebc13 fix for incorrect bake api usage. but not a bug. 2011-06-20 15:20:33 +00:00
Campbell Barton
11014defdb since render branch isnt planned to be merged now, enable strict warning flags for cmake and tag unused vars. 2011-06-20 15:17:02 +00:00
Michael Fox
3e76245eb2 small fix, This enables correction of the tangent when normal mapping is in use and tangent lighting will be used 2011-06-20 03:37:41 +00:00
Michael Fox
6d7e3509a9 small safety fix for recent commit to normal mapping (uninitialised variables) 2011-06-20 02:37:13 +00:00
Daniel Salazar
dd364944d1 By Morten S. Mikkelsen; this adds support for tangent bump shading
left: legacy bump, righ: sparkybump

http://pasteall.org/pic/show.php?id=13875

bugs [#26320], [#27506]

there's still an issue with texture OSA as you can see
2011-06-19 20:41:41 +00:00
Miika Hamalainen
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
Campbell Barton
968b2a8afb rename cmake include/libraries to conform with suggested cmake names 2011-06-18 14:12:54 +00:00
Miika Hamalainen
b937a4f5b6 Merge with trunk r37546 2011-06-16 12:00:03 +00:00
Tamito Kajiyama
17ee056fc6 Merged changes in the trunk up to revision 37539.
Conflicts resolved:
source/blender/render/intern/source/pipeline.c

Also fixed an inconsistent conflict resolution in the last commit with
regard to release/scripts/startup/bl_ui/properties_render.py.  This
problem resulted in empty menus in the GUI.
2011-06-16 05:50:13 +00:00
Brecht Van Lommel
aaf7dae5f1 Code cleanup: remove unused shaded draw mode code. 2011-06-15 10:17:06 +00:00
Campbell Barton
1669ab6648 correction for own commit r37492 2011-06-15 02:17:39 +00:00
Campbell Barton
b89924f5dd de-duplicate multires image filter function. (no functional change) 2011-06-15 02:14:38 +00:00
Campbell Barton
1d41694e69 fix [#27662] Storing png/tga images ignore Alpha settings
- don't clear alpha when baking RGB images
- when baking results in partial alpha. set the depth to 32.
2011-06-15 01:56:49 +00:00
Brecht Van Lommel
4ca197ba59 Fix #27540: bug with bump mapping + reflection texture coordinates + nodes. 2011-06-13 14:56:47 +00:00