Commit Graph

2479 Commits

Author SHA1 Message Date
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
Sergey Sharybin
de6d480f71 Tomato Cycles: fix for memory overflow issue
This fixes memory overflow caused by creating render result every time
RenderResult is creating when updating sample and not being freed until
tile is fully rendered.

Solved in probably not best way -- RenderResult is being stored in
RenderBuffers, so it's creating only once.

This solves memory issues, but while was looking into this issue
discovered dramatic slowdown caused by samples update in some files
from mango svn.

Solving this slowdown is becoming first priority from now on.
2012-07-24 20:05:00 +00:00
Sergey Sharybin
3337887fd1 Debug option for guarded allocation: store name of original datablock
when using MEM_dupallocN. This helps figuring out issues with non-freed
dup_alloc blocks,

Simply enable DEBUG_MEMDUPLINAME in mallocn.c file.
2012-07-24 15:17:03 +00:00
Campbell Barton
c363fc3dce svn merge ^/trunk/blender -r49175:49177 2012-07-24 13:02:54 +00:00
Campbell Barton
679847bd99 add prints for texture loading (we're running into texture limit a lot so its handy to see whats actually loading from the blend files) 2012-07-24 13:01:55 +00:00
Sergey Sharybin
d9d4430a56 Tomato Cycles: code reshuffle to make data flow more obvious
Should be no functional changes
2012-07-23 22:06:43 +00:00
Sergey Sharybin
e0eed025c9 Tomato Cycles: deadlock with save buffers enabled should be resolved now 2012-07-23 20:46:27 +00:00
Sergey Sharybin
10118cc825 Tomato Cycles: update buffers after sample wasfinished for CUDA devices 2012-07-23 19:06:04 +00:00
Sergey Sharybin
9cdf5a8553 Tomato Cycles: update buffers on every sample finished
Was requested by Mango team to improve feedback during rendering.

Known issues:
- Updating of samples are accumulative, meaning that visually samples
  would be dark in the beginning becoming brighter during progress.
- Could give some % of slowdown, so probably should be disabled in
  background mode.

Still to come: update of samples when using CUDA and OpenCL.
2012-07-23 18:45:29 +00:00
Campbell Barton
ad4738e77f svn merge ^/trunk/blender -r49118:49143 2012-07-23 15:03:54 +00:00
Campbell Barton
5412389af6 fix for cycles bug in localview: see r48269, bits used for localview gave collisions with PathRayFlag's 2012-07-23 14:48:19 +00:00
Sergey Sharybin
b25d28df18 Tomato Cycles: ability to cancel rendering before tile was fully rendered
Seems this requred cuda context synchronization after every finished sample,
which could give few percent of slowdown. In test made here it was only minor
slowdown, so think it's pretty much acceptable for now.
2012-07-23 13:51:29 +00:00
Sergey Sharybin
5652c9e107 Tomato Cycles: rendering can be cencelled before tile is fully rendered
Probably there;s a proper way to check whether rendering was requested
to cancel, but couldn't see any clearer ways to do that.
2012-07-23 13:01:30 +00:00
Campbell Barton
76bea854b6 code cleanup: replace cos(M_PI / 4) and sin(M_PI / 4) with M_SQRT1_2 define
also some minor style cleanup.
2012-07-22 18:40:50 +00:00
Campbell Barton
919a848015 svn merge ^/trunk/blender -r49107:49118 2012-07-22 16:10:06 +00:00
Lukas Toenne
80c1bb4775 Removed nested comment, which causes compiler errors. 2012-07-22 11:21:36 +00:00
Campbell Barton
9b51503307 style cleanup 2012-07-21 22:58:08 +00:00
Sergey Sharybin
130b6bad4e Merging r49105 through r49107 from trunk into soc-2011-tomato 2012-07-21 19:21:12 +00:00
Sergey Sharybin
049dd8a0ff Boolean modifier: prevent crashes when carve returns bad topology
For sure actual issue is in carve's triangulation system which need
to be investigated and fixed. For now only fixed by re-shuffling a
bit existing degenerative faces check and added extra checks there.

Would look into actual fix a bit later.
2012-07-21 19:19:45 +00:00
Campbell Barton
7200172990 svn merge ^/trunk/blender -r49063:49067 2012-07-19 13:07:33 +00:00
Campbell Barton
2557eaf0dd print names of nodes/sockets when cycles complains about only being able to connect a closure to another closure. 2012-07-19 13:04:43 +00:00
Campbell Barton
43fede9519 svn merge ^/trunk/blender -r48986:48991 2012-07-17 09:58:20 +00:00
Campbell Barton
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
Sergey Sharybin
48e23021e1 Color management: display descriptions for color spaces
This descriptions are being read from ocio configuration and
exposed into UI via standard enum's tooltips.
2012-07-16 10:51:02 +00:00
Campbell Barton
a229c1d442 svn merge ^/trunk/blender -r48911:48927 2012-07-14 20:56:40 +00:00
Campbell Barton
e4cfcdc3a6 header comment cleanup, explain whats the difference between confusingly named drarnode.c and node_draw.c. 2012-07-14 15:29:45 +00:00
Campbell Barton
f7343fa852 svn merge ^/trunk/blender -r48893:48911 2012-07-14 13:04:01 +00:00
Campbell Barton
98520ce4de use gcc attributes for BLI alloc functions 2012-07-14 12:47:49 +00:00
Sergey Sharybin
8764e7507f Merging r48829 through r48861 from trunk into soc-2011-tomato 2012-07-12 12:12:21 +00:00
Jens Verwiebe
30b3907128 OSX: make the progressbar in dock a gradient, to give it a more matching 3D appearance 2012-07-12 11:35:51 +00:00
Sergey Sharybin
a87051bd8e Patch #32074: Fix compilation with boost 1.50
This patch switches from boost's filesystem v2 to v3.

This should be completely smooth due to filesystem v3 is pretty
old already.

Patch by Sven-Hendrik Haase (aka svenstaro), thanks!
2012-07-11 14:48:47 +00:00
Sergey Sharybin
a8fe0087f0 Merging r48826 through r48828 from trunk into soc-2011-tomato 2012-07-11 10:39:08 +00:00
Campbell Barton
35b6f41f46 patch [#30274] XIM improvement (non-latin support + connection recovery)
from Shinsuke Irie (irie)

(from the tracker submission)

- allow us to input non-latin languages such as Japanese/Chinese
- recover XIM connection and its input contexts when XIM server restarted

Currently it supports only "root window" style input, while most people (and I) want "over the spot" or "on the spot" style one. Probably the implementation of "over the spot" or "on the spot" style becomes much complicated, because XIM server requires the coordinates of current cursor location relative to the screen in order to show the candidate window in appropriate position.
2012-07-11 08:31:54 +00:00
Brecht Van Lommel
26f6913516 Cycles: blended box mapping support for image texture node. This enabled by
selecting Box instead of Flat as projection, and then setting the blend value.
Blend 0.0 will not do any blending between box sides, higher values will give
a smooth transition between the sides

This is useful for mapping image texture without too obvious patterns in a
way that looks seamless, without the need for UV mapping. This works basically
the same as the mango node setup that was posted, just a bit faster:

http://mango.blender.org/production/blended_box/
2012-07-11 00:08:42 +00:00
Sergey Sharybin
76ee9783a1 Improved cache management for movie clips from tomato branch
Replace pseudo-LRU approach of determining which buffer
to remove when running out of space allowed for cache
with approach which would remove the frame which is most
far away from newly added frame.

This is still a bit tricky because it's impossible to
distinguish which frame to delete in situation of:

        CCCC...CC
           ^

it's either user wants to extend left segment of cached
frames and buffers from right segment should be removed
or he wants to join this two segments and in that case
buffers from right segment should be removed.

Would need a bit more investigation which situation
is more common in general usecase.

Additional changes:

- Cleanup some memutil files (which are familiar to cache limiter)

- Add option to make moviecache verbose. If DEBUG_MESSAGES is
  defined in moviecache.c detailed logs would be printed to the
  console.

- Movie caches are now named which helps reading debug messages.
2012-07-10 14:43:50 +00:00
Sergey Sharybin
350518483d Code cleanup, typo fixes 2012-07-10 13:40:09 +00:00
Sergey Sharybin
0a4f8d0e7f Merging r48755 through r48793 from trunk into soc-2011-tomato 2012-07-10 10:11:54 +00:00
Campbell Barton
f807c2a04c rename raskter kdtree files to be less generic 2012-07-10 06:47:21 +00:00
Peter Larabell
bbbdcaa462 fix: inline to __inline in raskter.c for msvc 2012-07-10 05:16:43 +00:00
Peter Larabell
492d9aabe0 some code refactors in raskter.c to sync it with build where mask tiling is being developed. Also adds a bit more mask tiling code. 2012-07-10 04:51:08 +00:00
Campbell Barton
4563d1103d fix warnings/errors in recent raster commit. 2012-07-09 23:16:39 +00:00
Peter Larabell
689403bf57 updating raskter to support tiles compositor. this commit puts in some groundwork code to support tiles's pixel processor 2012-07-09 22:57:23 +00:00