Commit Graph

2520 Commits

Author SHA1 Message Date
Campbell Barton
e2203d548e svn merge ^/trunk/blender -r49601:49620 2012-08-06 14:02:03 +00:00
Sergey Sharybin
c93be80be9 Tomato Cycles: report current scene and render layer being rendering
Helps figuring out what exactly takes time when rendering in render farm.
2012-08-06 10:10:35 +00:00
Campbell Barton
4e2fb45576 style cleanup 2012-08-06 10:03:17 +00:00
Sergey Sharybin
1ba78bca94 Tomato Cycles: fix regression since rev49535
Wrong sample number was reporting in viewport rendering.
2012-08-05 17:38:44 +00:00
Sergey Sharybin
7b644b8196 Tomato Cycles: fix for vector pass gives wrong result in some circumstances
Issue was caused by wrong camera motion stored in device in cases
when first render layer does not have vector pass enabled.

Solved by forcing device camera update in cases when scene's motion
changed since previous device camera update.
2012-08-05 17:24:10 +00:00
Sergey Sharybin
cae3dbd141 Merging r49534 through r49573 from trunk into soc-2011-tomato 2012-08-05 12:54:39 +00:00
Thomas Dinges
2390c95cf1 Code cleanup:
* Remove BSP_GhostTest, not used and working for ages, approved by Sergey.
2012-08-04 11:42:38 +00:00
Sergey Sharybin
e7f8b52aee Tomato Cycles: minor code cleanup
Move center tile acquiring code into own function. Should be
easier for time being when we'll want to support other tile
render orders.

Also now there should be a single bucket growing from center
when multi-GPU is used. Can't test this here tho.
2012-08-04 09:13:52 +00:00
Sergey Sharybin
b5e1419e5b Tomato Cycles: internal cleanup of tile-based integrator
This commit solves couple of issues appeared with new integrator:

- Render job progress bar is now shows progress based on number of
  rendered tiles. This is the same as Blender Internal does.

  This still requires some further thoughts because for GPU it's
  better to use single tile and in this case progress bar should
  be based on number of rendered samples.

- Removes "global" sample counter from progress descriptor. There's
  no more global-being sample which makes sense.

  This counter was replaced with tile counter.

- Use proper sample number when copying render buffer to blender.
  It used to be final sample number used which lead to tiles
  appearing from complete dark to normal brightness as they're
  being rendered. Now tile would be displayed with proper
  brightness starting from the very first sample.

  Use sample counter stored in render tile descriptor and pass
  it to update / write callbacks.

This was tested on CPU and GPU CUDA rendering.

Additional change:

  OpenCL rendering now should be cancellable before it finished
  rendering all the samples (the same change as for CPU/CUDA from
  a while ago).

This part of commit wasn't actually tested, would do it later.
2012-08-03 15:18:42 +00:00
Sergey Sharybin
e135bfe41b Correction top previous commit: tiles were counted in opposite way 2012-08-03 11:13:38 +00:00
Sergey Sharybin
535a17dd18 Tomato Cycles: fix own regression in currently rendering tile status 2012-08-03 10:55:33 +00:00
Sergey Sharybin
ecab45a018 Tomato Cycles: fix wrong center coordinate when using multi-device configurations 2012-08-03 10:42:21 +00:00
Sergey Sharybin
f736f183a5 Merging r49499 through r49518 from trunk into soc-2011-tomato 2012-08-03 09:08:40 +00:00
Sergey Sharybin
1a5998bc4e Remove old boolean operation module
Carve proved it's a way to go, so the time have came to get rid of old
boolean operation module which isn't used anymore.

Still kept BOP interface but move it to BSP module. At some point it
could be cleaned up further (like perhaps removed extra abstraction
level or so) but would be nice to combine such a refactor with making
BSP aware of NGons.

Tested on linux using both cmake and scons, possible regressions on
windows/osx. Would check windoes build just after commit.
2012-08-02 16:42:30 +00:00
Sergey Sharybin
3c2fffd1a9 Tomato Cycles: experimental option to cancel rendering when doing initial synchronization
This required wrapping create and update pytohn callbacks as  into begin/end
allow threading macroses. From quick tests this seems to be stable enough,
but more tests would be needed before considering this stable.
2012-08-02 14:16:37 +00:00
Campbell Barton
a3cd8c5c61 svn merge ^/trunk/blender -r49478:49498 2012-08-02 11:29:32 +00:00
Daniel Genrich
8a0f6aa2f2 Bugfix: High resolution "exploded" when using uneven resolutions, sometimes with specific object scaling.
Part of Smoke Development Phase III.

Credit also goes to MiikaH: It was a teamwork effort and took days to track down. :)
2012-08-01 20:29:37 +00:00
Sergey Sharybin
3979aad82f Merging r49451 through r49462 from trunk into soc-2011-tomato 2012-08-01 15:05:42 +00:00
Thomas Dinges
2fcd6827bf Cycles:
* Removed outdated OpenCL comments, kernel features are defined in kernel_types.h now.
2012-08-01 14:56:15 +00:00
Campbell Barton
7fd1bd18e5 fix crash when polling image sample outside image space.
also remove historic comment which isnt helpful.
2012-08-01 14:29:24 +00:00
Sergey Sharybin
3f5e3ae0bf Merging r49413 through r49450 from trunk into soc-2011-tomato 2012-08-01 14:14:22 +00:00
Sergey Sharybin
7ffa42075e Fix #32205: Holdout shader + transparent background stays black with Alpha = 1
It was read of initialized memory around holdout_weight in cases when
holdout material is used. Seems that it should be assigned to result
of shader_holdout_eval here.

If Brecht could double check this it'll be great.

This could potentially fix #32224: Holdout Error with CUDA Cycles Render
2012-08-01 12:59:47 +00:00
Campbell Barton
a199ae5368 style cleanup: whitespace, also add '?' to save over popup since it wasnt totally clear it was a question (user pointed this out, they thought it was just notification and lost their work). 2012-07-31 23:06:12 +00:00
Campbell Barton
33a9cafc3b quiet spacenav output on linux for regular builds, ifdef signed int for msvc openmp. 2012-07-31 21:26:14 +00:00
Sergey Sharybin
8dc3d4e3fd Remove "Loading byte/float" debug messages. They were added at the time
we've been looking into texture limit for Mango and it's not needed now.

Anyway, this prints didn't cover all the cases when images were loading.
2012-07-31 15:28:36 +00:00
Brecht Van Lommel
314e26c02c Fix cycles issue with wrong texture coordinates on a second render layer with
a mask layer enabled.
2012-07-31 15:05:16 +00:00
Brecht Van Lommel
fe401712a9 Code tweak removing comment, the fix here is indeed correct. 2012-07-31 15:05:11 +00:00
Brecht Van Lommel
aac3f0eaeb Fix warnings on old apple GCC compiler due to no support for alloc_size attribute. 2012-07-31 15:05:09 +00:00
Sergey Sharybin
aec620cc28 Resolve compilation error with MSVC 2012-07-31 14:27:14 +00:00
Sergey Sharybin
60044b12da Tomato Cycles: use the same order of parts as Blender Internal 2012-07-31 13:15:53 +00:00
Sergey Sharybin
3ea4c49ef7 Color management: abort execution when error happens in debug mode 2012-07-30 16:07:30 +00:00
Sergey Sharybin
b8c3f59e92 Tomato Cycles: resolve textures limit when using CPU render
Remove limit for number of textures when using CPU rendering,
so huge scenes from Mango could be rendered properly.

Re-arranged float and bytes textures for this, so now float
textures goes before byte. This is needed to make alignment
stuff easier for variable number of textures.

Also replace code-generated CPU kernel structure's members
with an array, which makes it easier to access textures
without adding bunch of cases in switch.

Should be no functional changes when rendering with GPU
or OpenCL devices.
2012-07-30 15:26:06 +00:00
Campbell Barton
a14fc54702 svn merge ^/trunk/blender -r49333:49361 2012-07-29 18:48:34 +00:00
Lukas Toenne
588e4a4327 Additional fix #32074, by Sven-Hendrik Haase (svenstaro). Boost version header must be included in cycles in order to expand the version check macro. 2012-07-29 13:52:38 +00:00
Sergey Sharybin
e6d80e5848 Merging r49300 through r49333 from trunk into soc-2011-tomato 2012-07-28 18:42:54 +00:00
Sergey Sharybin
a7e943c850 Blender now compiles with recent clang 2012-07-28 17:35:09 +00:00
Campbell Barton
2cd0b3f064 defines to make it easier to manage ik stretch constants (these may need to be tweaked to fix [#32174]) 2012-07-27 23:16:33 +00:00
Campbell Barton
f23bfdfab4 style cleanup 2012-07-27 22:35:27 +00:00
Campbell Barton
e2360ab495 IK's were converting double -> float -> double's in a few places, since precision is important and doubles are used a lot here anyway. just use doubles, also quiet some double promotion warnings. 2012-07-27 22:27:06 +00:00
Daniel Genrich
24a00f14af Fix compile errors on VC++ 2012 RC1.
Note: Compile still fails during ceres compile (namespace tr1 problems).
2012-07-27 18:18:13 +00:00
Sergey Sharybin
5e90606b17 Tomato Cycles: fix for wrong resolution used for rendering Render Layer node
Issue was caused by Cycles using render options from rendering scene, not
from active scene.

For now solved by passing render resolution inside RenderEngine structure.
This probably could be solved in more general way, like adding bindings

for RenderEngine->Render, which would avoid passing options like
is_animation, came_override and so via RenderEngine. Would think about
this a bit more and probably would do that.

The same issue happens in trunk as well, but not consider such a change
trunk-ready, would want to make more tests and probably clean the code
a little bit before commiting this into trunk.
2012-07-27 12:16:23 +00:00
Sergey Sharybin
f6b542aeb2 Merging r49261 through r49263 from trunk into soc-2011-tomato 2012-07-26 18:05:42 +00:00
Campbell Barton
4c2de5e0c7 fix some types and incorrect info 2012-07-26 17:41:09 +00:00
Campbell Barton
e27f56d388 svn merge ^/trunk/blender -r49244:49250 2012-07-26 13:30:37 +00:00
Lukas Toenne
fec872ef9c Added a particle index output to the Particle Info Cycles node. This is required to get consistent ID numbers for particles. The Object ID is not usable since it's a user defined value of the instanced object, which does not vary per instance. Also the random value from the object info node is not consistent over time, since it only depends on the index in the dupli list (so each emitted or dying particle shifts the value).
The particle index is always the same for a specific particle. Randomized values can be generated from this with the use of a noise texture.
2012-07-26 11:40:58 +00:00
Sergey Sharybin
67d364304c Merging r49223 through r49225 from trunk into soc-2011-tomato 2012-07-25 20:28:06 +00:00
Sergey Sharybin
8ad3e73965 Make Cycles compatible with older boost versions.
Patch by IRIE Shinsuke, thanks!
2012-07-25 20:25:47 +00:00
Sergey Sharybin
62df895415 Tomato Cycles: resolve slowdown introduced by interactive samples view commit
Update samples displayign in the interface once in a whiel only
(currently once in 1 sec). This still keeps rendering interactive
enough for artists and it eliminates slowdown caused by constant
uploading sampels from GPU to host.

This also allowed to get rid of hack with storing render result
in render buffers, due to it's not so big overhead ow to create
render result when sample needs to be updated.

Tests made with different files shows that now render speed is
really close to oroginal speed from before we started hackign
into this stuff.

There still some issues with interactive update when rendering
several render layers, but that seems to be irrelivant to all
this sampels commtis, so woudl look into this as a separate
patch.
2012-07-25 14:29:14 +00:00
Campbell Barton
65f94b8c0b svn merge ^/trunk/blender -r49177:49186 2012-07-24 21:11:22 +00:00
Sergey Sharybin
375882f396 Tomato Cycles: speedup realtime samples update
Copy pixels for combined pass only when updating tile after each sample
skipping all other passes. Behaves noticeable faster on scenes with
lots passes used.

Would check further tomorrow from studio whether stuff could be speed
up further.
2012-07-24 20:54:06 +00:00