Commit Graph

2863 Commits

Author SHA1 Message Date
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
Lukas Toenne
3e954e95a6 Fix #36451, Particle system crashes blender. The psys_render_restore function was accessing the psys->frand random number array, but since the particle modifier is disabled this array does not get
initialized. Added a sanity check to skip disabled particle systems in BI render. (why wasn't this done before?)
2013-08-13 06:21:39 +00:00
98c574e41a use 'greater/less then or equal to' operators rather then adding 1. 2013-08-11 05:40:35 +00:00
af807bd24d Fix #36394: rendering a point density texture with a hair particle system did
not work correct, the positions would change over time and child particles did
not render.
2013-08-08 15:36:03 +00:00
26c0839220 disable cycles when building without python, also use const for function args in more places. 2013-08-07 22:40:03 +00:00
f5c66a3676 quiet shadow warnings and remove redundant NULL check 2013-08-07 04:31:05 +00:00
c2ad963e28 code cleanup: use NULL rather then zero for pointers 2013-08-07 03:30:23 +00:00
44376a322f Frame reporting to console was wrong when not using Render Layers in compo
This is because render info's current frame is either happens in
conversion stage (when using Render Layers node) or in sequencer's
rendering (which you don't usually have).

Now made it so when only compositor is used, proper current frame
is being set to re->i stats structure.
2013-08-06 02:34:50 +00:00
b03bc88d21 replace mul_serie_m4 with mul_m4_m4m4 when only 3 args are given 2013-08-06 01:45:29 +00:00
0e6048ac1a fix for divide by zero when border render size causes zero pixel width 2013-08-05 06:08:58 +00:00
02ec0b9431 Cycles:
* Forgot to rename some SSS pass strings.
* Some typo fixes.
2013-08-03 21:45:57 +00:00
5fc6f04fc8 Cycles / SSS:
* Render Passes are now available for Subsurface Scattering (Direct, Indirect and Color pass). 

This is part of my GSoC project, SVN merge of r58587, r58828 and r58835.
2013-08-03 13:12:09 +00:00
efe690a3a5 code cleanup:
- incorrect NULL check in logic UI drawing
- incorrect NULL check in octree quad test
2013-08-02 13:21:32 +00:00
7913604bda remove unused headers and NULL check 2013-07-31 21:34:25 +00:00
43ab02db14 code cleanup: remove redundant NULL checks 2013-07-31 09:18:40 +00:00
2945f512ba fix for incorrect null check in RE_engine_update_stats 2013-07-26 10:11:18 +00:00
1dd7156c4c Fix #36058: Displace Modifier errors using a baked Image and displace baking inconsistency between 2.67/2.68RC and previous versions
This was in fact really nasty bug, caused by multitex_nodes
function using global variable R (which is a copy of current
renderer). this variable is not initialized to anything
meaningful for until first rendering (preview or final)
happened.

Since multitex_nodes might be used outside of render pipeline,
made it so whether CM is on or off as an argument to functions
multitex_ext_safe and multitex_ext. Now multitex_nodes() is
only shall be used for stuff happening from render pipeline!

Also needed to make some changes to other places, so all the
usages of texture sampling knows for the fact whether CM is
on or off.

And one more change is related on behavior of dispalcement,
wave, warp, weightvg modifiers and smoke. They'll be always
using CM off since texture is used for influence, not for
color.

It's rather bigger patch, but it's mostly straightforward
changes, which we really need to be done.

Reviewed by Brecht, thanks!
2013-07-15 14:47:58 +00:00
b7396654e1 fix for bad NULL check in bmo_connect_pair, also remove duplicate checks in if statements and redundant initialization vars. 2013-07-13 16:25:47 +00:00
32586e6805 Fix #35470: crash rendering from the terminal in some cases due to render info
text threading issue.
2013-07-12 20:31:30 +00:00
48247cdb87 fix for crash with texture-baking caused by recent changes to render-database initialization, running bake 3 times would crash. 2013-07-12 05:42:16 +00:00
e64937c96d Fix #36091: external render engines like Luxrender don't work well with the save
buffers option, it requires specific tile sizes and if they don't match what
OpenEXR expects file saving can get stuck.

Now I've made support for his optional, with a bl_use_save_buffers property for
RenderEngine, set to False by default.
2013-07-11 12:22:29 +00:00
990cad983b Fix #36082: animation playback not working after rendering of background scenes and
multiple render layer nodes. Also fixes issue with database free with vector blur
after recent thread safety changes.
2013-07-10 16:46:13 +00:00
79f264bd69 Fix blender environment map texture looking different on the first render with
an image file, the image extend is set automatically when render starts but not
when the image was never loaded yet.
2013-07-09 13:47:19 +00:00
751062fc5f Fix #35979, #35937, #35739: undo crashes and missing updates with blender
internal viewport rendering. Lots of tweaks here, mainly:

* Stop 3D viewport render and free database before undo.
* Accumulate update flags rather than replace them each time it rerenders, to
  avoid previous updates getting lost.
* Don't check against Render struct view parameters for changes, those are set
  in the job thread which might not run before the next update call.
2013-07-08 22:26:10 +00:00
3ce280e825 Fix #35960, #36044: blender internal viewport rendering crash while editing data.
Now the viewport rendering thread will lock the main thread while it is exporting
objects to render data. This is not ideal if you have big scenes that might block
the UI, but Cycles does the same, and it's fairly quick because the same evaluated
mesh can be used as for viewport drawing. It's the only way to get things stable
until the thread safe dependency graph is here.

This adds a mechanism to the job system for jobs to lock the main thread, using a
new 'ticket mutex lock' which is a mutex lock that gives priority to the first
thread that tries to lock the mutex.

Still to solve: undo/redo crashes.
2013-07-08 17:56:51 +00:00
22f26b2ce4 Fix for Bug #35970: Freestyle + Particles = Crash.
The crash was caused by a reference of freed memory in add_halo_flare() that relied
on the global variable R to retrieve a list of objects.  The value of this variable
is invalidated by a nested execution of the Blender Internal renderer for Freestyle
stroke rendering, leading to the documented memory reference issue.
2013-07-07 17:24:30 +00:00
ae754c6384 fix for crash deleting the world when viewport preview is used. 2013-07-06 07:34:38 +00:00
970a4c7cc4 fix [#36005] viewport rendering crashes blender 2013-07-05 07:53:22 +00:00
32e917be8d correct typo in previous commit & minor changes. 2013-07-05 00:13:14 +00:00
6db8fd72f0 Fix #35957: blender internal viewport render did not do correct color management
for image textures.
2013-07-04 18:17:02 +00:00
721237cf29 Fix #35986: "Full sample AA not supported without 3d rendering" message was
displayed even with antialiasing disabled.
2013-07-03 17:02:09 +00:00
418011907c remove nan copyrights from code added since blender become opensource (copy paste errors), also remove BKE_script.h 2013-07-02 10:14:59 +00:00
dc85135045 Fix #35412: blender internal "from dupli" texture coordinates not working with
particles in linked groups.
2013-06-28 16:06:55 +00:00
e5f23c00c1 Fix: blender internal transparent shadows were not influenced by object color alpha. 2013-06-28 15:00:05 +00:00
929bba2bac fix for crash reading from a freed scene when exiting blender. 2013-06-27 06:16:31 +00:00
2daa901ec0 Fix #35883: freestyle + envmap render crashed. 2013-06-26 19:23:03 +00:00
d3b6117068 Fix typo made back in svn rev35785
Callback handle was assigning to wrong storage in RE_draw_lock_cb.
So far it was completely harmless because all the callbacks are
using the same handle, so test_break_callback was using correct
handle, and since draw_lock_callback didn't use handle at all
nobody noticed this.

But this typo lead to draw_lock_callback using NULL instead of
real RenderJob, which is bad for the feature we're working in
GSoC branch.
2013-06-25 07:22:28 +00:00
0309f442bb Render stats text: show elapsed time for blender internal, hide useless "Single Layer"
at the start, more clearly indicate what the render time of the last frame was, some
other tweaks for consistency.
2013-06-24 22:41:24 +00:00
2df82a2a2b Code cleanup: fix some vs2012 compiler warnings 2013-06-21 12:33:19 +00:00
a92468c7d7 Fix #35807: blender internal motion blur render without antialiasing would
give black speckles (self intersection errors) in raytraced shadows.

Motion blur does some extra offsets for free antialiasing in the motion blur
samples, but did not take them into account everywhere.
2013-06-20 11:47:09 +00:00
a384612cce Fix #35439: Render Border have weird influence on compositing
Issue was caused by render result passing to a compositor
was having a resolution of border when using a camera border
in cases there's no Render Layer nodes.

Made it so resolution in which compositor works does not
depend on whether Render Layers present or not.
2013-06-20 11:32:08 +00:00
94cb20ff4e when setting the subframe for large frames (250,000+) the precision was very poor.
now use double precision when combining the frame+subframe.
2013-06-16 04:06:38 +00:00
14cc35d1ab Fix blender internal showing SSS preprocessing status message even if there isn't
any SSS material in the scene.
2013-06-13 18:29:56 +00:00
7d478ac0a7 Fix #35664: blender internal material index pass + ztransp + multiple materials
assigned to a mesh did not work correct.
2013-06-13 15:02:42 +00:00
a754423bd1 Fix #35735: blender internal viewport rendering was missing SSS update when
changing angle of view.
2013-06-13 14:40:22 +00:00
5520331215 Fix #35561: freestyle + read full sample layers = crash.
Now add_freestyle() in pipeline.c takes a second argument to enable/disable
stroke rendering.  When stroke rendering is disabled, the function allocates
data structures but does not perform stroke rendering.  The allocated data
structures (mostly left unpopulated with data elements) are intended to allow
for the Read Full Sample Layers (Shift-R) command in the compositor.
2013-06-11 02:32:01 +00:00
ab52b15964 Fix #35681: cycles excluded layers still got evaluated before and after
rendering even if they were not used on any render layers.
2013-06-10 13:53:38 +00:00
c423e3ed8f code cleanup: warn undefined compiler defines. 2013-06-08 05:24:55 +00:00
f47cb7e2d9 Fix for r56965 by Tamito:
* Panorama Camera was not working for Blender Internal and Cycles anymore.

Code checked for Freestyle render layer flag, but as the flag is enabled per default, it broke Panorama camera in all cases. It made no sense to check this on a render layer basis anyway... check if Freestyle is enabled in general now instead.
2013-06-01 02:14:07 +00:00
9fb3d3e032 remove redundant includes from cmake and scons. 2013-05-30 02:16:22 +00:00