Commit Graph

2916 Commits

Author SHA1 Message Date
46eef60d93 Cleanup: Internal degrees removal.
This patch changes most of the reamining degrees usage in internal code into radians.
I let a few which I know off asside, for reasons explained below - and I'm not sure to have found out all of them.

WARNING: this introduces forward incompatibility, which means files saved from this version won't open 100% correctly
         in previous versions (a few angle properties would use radians values as degrees...).

Details:
- Data:
-- Lamp.spotsize: Game engine exposed this setting in degrees, to not break the API here I kept it as such
                  (using getter/setter functions), still using radians internally.
-- Mesh.smoothresh: Didn't touch to this one, as we will hopefully replace it completely by loop normals currently in dev.

- Modifiers:
-- EdgeSplitModifierData.split_angle, BevelModifierData.bevel_angle: Done.

- Postprocessing:
-- WipeVars.angle (sequencer's effect), NodeBokehImage.angle, NodeBoxMask.rotation, NodeEllipseMask.rotation: Done.

- BGE:
-- bConstraintActuator: Orientation type done (the minloc[0] & maxloc[0] cases). Did not touch to 'limit location' type,
                        it can also limit rotation, but it exposes through RNA the same limit_min/limit_max, which hence
                        can be either distance or angle values, depending on the mode. Will leave this to BGE team.
-- bSoundActuator.cone_outer_angle_3d, bSoundActuator.cone_inner_angle_3d: Done (note I kept degrees in BGE itself,
                                                                           as it seems this is the expected value here...).
-- bRadarSensor.angle: Done.

Reviewers: brecht, campbellbarton, sergey, gaiaclary, dfelinto, moguri, jbakker, lukastoenne, howardt

Reviewed By: brecht, campbellbarton, sergey, gaiaclary, moguri, jbakker, lukastoenne, howardt
Thanks to all!

Differential Revision: http://developer.blender.org/D59
2013-12-03 20:35:45 +01:00
cc55913798 Fix T37225: UV map for closed curves incorrectly generated
Summary:
Curve ORCO was not calculating properly for cyclic 2D curves.

- Needed to split vertices for blender internal renderer.
  Otherwise it's not possible to map last face to a proper
  texture location.

- Needed to tweak curve->mesh conversion to respect cyclic
  flag along U direction.

- Removed check for orcodm in curve.c:add_orco_dm since
  this code is only called if there're enabled constructive
  modifiers on the curve.

Reviewers: brecht

Maniphest Tasks: T37225

Differential Revision: http://developer.blender.org/D45
2013-11-26 03:02:13 +06:00
ab9822eff8 Blender Internal: Add "Lamp Data" shader node that allows shaders to acquire information such as light vector from specified Lamp.
For now this provides the following outputs:

- Color
- Light Vector
- Distance
- Shadow
- Visibility Factor

Note: Color output is multiplied by the lamp energy.  Multiplication of
color*max(dot(light_vector,normal_vector),0)*shadow*visibility_factor
produces the exact same result as the Lambert shader.

Many thanks to Brecht for code review and discussion!
2013-11-25 22:19:47 +09:00
5feb0d2bfe Fix T37359: Dynamic Paint deletes inactive texture from smoke domain when using a material as brush color 2013-11-22 15:25:19 +02:00
885354daec Optimization for render result save
Skip byte->float conversion if output file format
supports high bit depths but configured to only
output 8 bits per channel.

Gives around 30% speedup when re-exporting movie file
to PNG image sequence here on laptop.

Possible further optimization:

- Skip color space conversion in imbuf_for_write
  function if we've got already have buffer in
  that space.

  This doesn't seem to happen often after tweak
  to render result to imbuf.

- Skip black alpha-under if original image is
  opaque,

  This is a bit tricky to detect.
2013-11-22 16:52:12 +06:00
b0ea93aa9d * Remove more code for stars, missed those. Sorry! 2013-11-20 19:37:23 +01:00
30512d7c55 Blender Internal:
* Remove Stars feature. This was a quite minimalistic feature and there are
better alternatives with more control (particles for example).

Removal discussed during BCon13 developer meeting and already years before, time to do it..

Reviewed By: brecht
Differential Revision: http://developer.blender.org/D17
2013-11-20 19:13:41 +01:00
fb91a602c7 Blender Internal:
* Remove "Edge" post processing effect and the corresponding render layer.

Since we have freestyle, this is not needed anymore and was a very simple effect anyway (Zbuffer filter effect, could be added to the compositor if really needed again).

Reviewed By: brecht, ton
Differential Revision: http://developer.blender.org/D14
2013-11-19 20:30:49 +01:00
8b3524c215 Fix T37486: Displacement bake from multires crashes when preview level is on 0
Revert "Code cleanup: remove unused block from multire baker"

This reverts commit 63b01f6bee.

Multires displacement baker in fact uses level 0 for the
original subdivided mesh. Missed this when was making an
original commit.
2013-11-18 13:09:10 +06:00
ba7fd8cd5c Change the behavior of AO pass in Blender internal's shader/render node tree so that it becomes (1.0, 1.0, 1.0) when AO is disabled.
For materials using AO pass, this makes the material preview and the GLSL
preview more accurate, but shouldn't affect final rendering in most cases
because we usually enable AO when using the AO pass in node tree.

Thanks to Brecht for code review.
2013-11-12 10:59:40 +00:00
beae4f498d code cleanup: spelling 2013-10-31 14:10:01 +00:00
63b01f6bee Code cleanup: remove unused block from multire baker
Mapping from grid on ll 0 was not used and was incorrect
since bmesh merge anyway.
2013-10-29 16:43:58 +00:00
22396540d7 patch [#37219] RenderParts.partsdone is not a boolean, but a counter
from Lawrence D'Oliveiro (ldo)
2013-10-28 23:59:28 +00:00
01da2c0e53 fix [#37195] particles crash with viewport render 2013-10-26 22:38:12 +00:00
6193963daa style cleanup 2013-10-22 03:03:56 +00:00
3718c04844 Fix compositor rendering scenes multiple times in some cases
Issue was caused by Blender Internal changing LIB_DOIT flag
for scene when it gets updated for new frame. This leads into
conflict with flag used for tagging scenes fr render,

For now made it so nodes are being tagged instead of scene.
Only none node from those who're sharing the scene will be
tagged. And rendering scenes for node tree now checks for
node flag instead of scene's datablock one.

Ideally this tag would be replaced with scenes stored in an
array, but then it's not so clear how to check which node
to update.
2013-10-20 01:09:25 +00:00
a709cb2d55 Fix #37123: UV editor view does not update when using large faces
Update tagging was happening only after full triangle was handled.
Now made it so images are updating once in 0.5sec, progress bar
will still update only after the whole triangle is done.
2013-10-17 18:29:01 +00:00
ecf2eeef23 style cleanup 2013-10-16 04:08:20 +00:00
4f05cecbcd Fix duplicated key in ghash assert caused by object orco
Code was rather confusing, get_object_orco was only
checking for orco in cache for some objects and was
actually allocating orco for other objects.

Now made it so get_object_orco always only checks
the cache and only call set_object_orco if there's
no orco for it yet.
2013-10-15 09:08:08 +00:00
3cfd933d94 code cleanup: correct unsigned int in string formatting and use empty() checks for vectors. 2013-10-14 08:23:57 +00:00
014318370d * Silence Blender Internal / Volumetric printf. 2013-10-13 22:33:30 +00:00
f0dcff9aa9 Task scheduler ported form CYcles to C
Replaces ThreadedWorker and is gonna to be used
for threaded object update in the future and
some more upcoming changes.

But in general, it's to be used for any task
based subsystem in Blender.

Originally written by Brecht, with some fixes
and tweaks by self.
2013-10-12 14:08:59 +00:00
1a3011ac83 Fix #37045: blender internal SSS rendering black on some system when the SSS
reflection color was set to 1 1 1. BSSRDF parameter fit not converging properly
due to float precision issues.
2013-10-12 13:44:40 +00:00
b6db417ee4 code cleanup: use const's for vector args. 2013-10-12 02:19:37 +00:00
afab39b9d6 code cleanup: use const's for static arrays 2013-10-10 20:22:17 +00:00
33894a4cd5 Bake vertex colors should include vertex color alpha as well. 2013-10-10 12:50:34 +00:00
bbd9b5f476 Support for baking vertex colors to textures.
It allows effects such as baking vertex dirt maps to textures.
Also vertex based painting painting may be faster in the future,
so this is useful to have.

Thanks to Sergey for the review!
2013-10-10 11:00:12 +00:00
Lukas Toenne
c1541a940d Fix #36991, After rendering with Sampled Motion Blur, the moving objects place is wrong.
With mblur the render function was setting scene frame for each blur sample and calling DAG update, but not after the last sample is finished, leaving the scene in the wrong frame.
2013-10-09 16:49:13 +00:00
d917bdb095 Derivative map baker
Added support for derivative map baking, which
is accessable as a dedicated baker type. Works
pretty much the same as displacement map baker,
but gives you derivative map.

In fact, inernally this baker is just a filter
which applies on the result of displacement map.

Both regular and multires baking are supported.

Patch by Morten Mikkelsen and self.
2013-10-09 15:51:14 +00:00
06c6d3235c Fix #36884: blender spotlamp halo render was incorrectly showing light on the
backside of objects, after bugfix in revision 56145.

It now still always renders one step, but step size is clamped to fit within
the halo volume.
2013-09-30 15:27:45 +00:00
aa8488421f style cleanup: whitespace & odd indentation 2013-09-21 10:46:58 +00:00
7617eadae4 Clear color to gray when baking displacement map
This makes more sense to have no displacement if baking
non-normalized displacement map or have mid-level displacement
(which is likely be close to no displacement as well) when
baking normalized displacement.

In any way it's better than using default black color.
2013-09-20 10:14:54 +00:00
556fa5e205 Fix for margin which didn't work properly with normalized displacement baking 2013-09-20 09:28:58 +00:00
aa077fecd7 Fix for displacement bake buffer might be allocated twice
Issue was caused by missing NULL-pointer check in user-data
initialization.

This issue might have lead to wrong displacement map being
baked.
2013-09-20 09:28:52 +00:00
c41bb7961f Different implementation of patch #36430: use layer froms scene directly for
rendering, in case some script wants to set it in the render_pre callback. In
case of decoupled 3d view layers or local view it will still override this
though.
2013-09-12 12:09:14 +00:00
8beb565c59 code cleanup: headers - doxy comments. 2013-09-12 03:02:50 +00:00
734eaab545 Fix #36327: cycles render layers exclude layers animation did not work well.
This is kind of another way to animate layers which is disabled, but add an
exception to make this case work.
2013-09-10 20:26:34 +00:00
108a4c41c4 code cleanup: warnings and redundant checks. 2013-09-08 20:25:31 +00:00
3527d2fb27 code cleanup: quiet warnings 2013-09-08 06:05:42 +00:00
d4b8a6cb85 Code cleanup: use boolean instead of int for colormanagement 2013-09-05 17:13:43 +00:00
03bd670f82 Fix #36649 and #36650: animation of freestyle line thickness and linestyle did
not render correct in animations, due to missing updates.
2013-09-05 15:47:52 +00:00
60e5abe71f Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00
9467d99405 replace sqrt(dot()) with length functions. 2013-09-03 22:32:03 +00:00
Lukas Toenne
f9e43424fe Fix #36194, Halo material on Layer 2 produces flares on layer 1. Halo flares were simply rendered on the first available halo-enabled layer. Now use the flare layers correctly. 2013-09-03 18:59:52 +00:00
26bfda6fad Some function didn't match their declaration 2013-09-02 11:19:21 +00:00
16a36f320f Fix #36602: crash with freestyle and full sample render of empty render layer. 2013-08-29 20:53:29 +00:00
e7d725eefd Fix #36598: blender render crash baking and then doing a full sample render. 2013-08-29 00:14:57 +00:00
a31a85ac9c Fix #36541: blender internal raytrace render hangs with high ray depth. The code
here is not efficient for such cases, a ray depth can give up to 2^depth rays due
to the ray splitting in two at each depth. A proper solution requires a better
algorithm, for now I've ensured that you can at least cancel such renders. The
overhead from the extra test_break is negligible.
2013-08-24 15:02:12 +00:00
f2acb10b6b edge hash: take an arg for the guarded-malloc string (as ghash does) 2013-08-24 13:08:55 +00:00
c46cbc602e Make lattice deform safe for threading
Lattice deformation used to store some runtime data
inside of lattice datablock itself. It's something
which is REALLY bad. Ideally DNA shouldn't contain
and runtime data.

For now solved it in a way that initialization of
lattice deform will create a structure which contains
lattice object for which deformation is calculating
and that runtime data which used to be stored in
lattice datablock itself.

It works really fine for mesh deform modifier, but
there's still runtime data stored in particle system
DNA, It didn't look something easy to be solved, so
leaving this as-is for now.

--
svn merge -r58277:58278 -r58795:58796 ^/branches/soc-2013-depsgraph_mt
2013-08-19 10:11:48 +00:00