Commit Graph

241 Commits

Author SHA1 Message Date
Brecht Van Lommel
6ce92d09f7 Fix #29848: cycles not respecting dupli group visible layers, also exposed
DupliObject.hide property in API now.
2012-01-11 13:55:00 +00:00
Brecht Van Lommel
778774ba16 Fix: cycles CPU device not being used when it should be on some multi-GPU
configurations.
2012-01-11 13:18:06 +00:00
Brecht Van Lommel
d7932ceea8 Cycles: multi GPU rendering support.
The rendering device is now set in User Preferences > System, where you can
choose between OpenCL/CUDA and devices. Per scene you can then still choose
to use CPU or GPU rendering.

Load balancing still needs to be improved, now it just splits the entire
render in two, that will be done in a separate commit.
2012-01-09 16:58:01 +00:00
Brecht Van Lommel
47d9c6689b Cycles: show elapsed time for F12/background render. 2012-01-09 16:57:46 +00:00
Brecht Van Lommel
8f37c143ed Cycles: small tweak to checker texture, scale rather than add with epsilon,
looks a bit better on all sides of a mesh.
2012-01-09 16:57:26 +00:00
Brecht Van Lommel
8bfa48384d Cycles: checker texture node, patch by Thomas. 2012-01-08 14:55:43 +00:00
Brecht Van Lommel
49bc284d10 Fix #29760: cycles border render issue on 32 bit linux. 2012-01-05 22:41:46 +00:00
Brecht Van Lommel
049ab98469 Cycles: device code refactoring, no functional changes. 2012-01-04 18:06:32 +00:00
Brecht Van Lommel
84437bb5e9 Fix #29695: cycles particle emitter not being properly hidden. 2012-01-02 19:44:13 +00:00
Brecht Van Lommel
1e96b5f284 Fix #29740: missing cycles viewport update with animated node socket values. 2012-01-02 19:44:07 +00:00
Brecht Van Lommel
2077b7e3b7 Fix #29755: cycles crash with array modifier that can produce material indices
that are out of bounds.
2012-01-02 15:51:49 +00:00
Brecht Van Lommel
b5595298d3 Cycles code refactoring: change displace kernel into more generic shader
evaluate kernel, added background shader evaluate.
2011-12-31 15:18:13 +00:00
Brecht Van Lommel
e32a117c8b Fix: cycles camera dof object with non-uniform scale gave incorrect distance. 2011-12-29 23:34:25 +00:00
Dalai Felinto
b4c95833ab bugfix: [#29711] Cycles - HSV Node - Hue Change Bug
* Adding hue instead of removing it.

fmod doesn't work as % when it comes to negative numbers:
fmod( 1.3, 1) ==  1.3 % 1 == 0.3
fmod(-0.3, 1) != -0.3 % 1
2011-12-29 05:40:48 +00:00
Campbell Barton
85a97f64a7 add UNLIKELY / LIKELY util defines to help optimize iterators that are called a lot, only defined for gcc at the moment.
also some cmake formatting edits.
2011-12-29 01:46:58 +00:00
Brecht Van Lommel
9d3f5ea334 Fix #29715: cycles and glsl normal node not working correct. 2011-12-28 19:42:22 +00:00
Brecht Van Lommel
c9830549ea Fix #29689, #29702: cycles render crash with node setups with non-cycles nodes,
after group socket refactoring.
2011-12-28 19:42:08 +00:00
Thomas Dinges
a06358570e Cycles Test App:
* Added some new integrator parameters to the xml reading. 
* Added ability to specify window width/height, if not set it uses film/camera width/height. 
* Added back the xml exporter script from cycles branch, with modifications to hock up into the UI. To use it, copy the script into 2.61/scripts/startup.

Note: This is intended for developers for now, but the standalone Cycles app has potential to be used as benchmark for example.
2011-12-25 13:34:18 +00:00
Campbell Barton
33bd38ebc7 minor edits to cycles c/python module
- rename 'bcycles' --> '_cycles', since this is the python convention when a py module uses a C module internally.
- use macros for returning None
- make with_osl an attribute rather then a function.
- changes methods METH_VARARGS --> METH_O when single args are used.
2011-12-24 02:47:13 +00:00
Thomas Dinges
e68f0ff3c0 Another Fix after Cucumber Merge:
* Cycles did not displayed the Scene panels anymore, due to addition of COMPAT_ENGINE to them.
2011-12-22 22:34:23 +00:00
Brecht Van Lommel
c287a09b40 Cycles: support for multiple render layers. It currently renders each layer
entirely before moving on to the next.
2011-12-21 20:51:55 +00:00
Brecht Van Lommel
b65061e2ae Cycles: code refactoring, to do render layer visibility test a bit different,
replacing the camera visibility flag with object layer flags.
2011-12-21 20:51:43 +00:00
Brecht Van Lommel
34909c64e5 Cycles: some small code refactoring related to buffer parameters. 2011-12-21 13:48:35 +00:00
Thomas Dinges
2d1de2e78d Cycles/CUDA:
* Rename shader model to compute capability in error messages.
2011-12-20 18:59:10 +00:00
Brecht Van Lommel
690de79580 Cycles: some tweaks for apple opencl with ATI cards, to get it working up to
the level of ambient occlusion render, shaders still fail. Fixes found with
much help from Jens and Dalai.
2011-12-20 17:36:56 +00:00
Brecht Van Lommel
40259cfe7b Cycles: avoid using float3 in kernel constant memory, just so we're sure alignment
is working compatible between cpu and gpu.
2011-12-20 12:25:45 +00:00
Brecht Van Lommel
72d2d05770 Cycles: border rendering support, includes some refactoring in how pixels are
accessed on devices.
2011-12-20 12:25:37 +00:00
Brecht Van Lommel
27df40f87f Fix #29653: fix wrong cycles depth of field distance when rendering with a
scaled camera.
2011-12-19 14:23:24 +00:00
Lukas Toenne
5f6bd44c82 Generalized node groups for Cycles.
This allows group nodes inside other group nodes in cycles and makes the
code more generic for all possible cases, like direct group
input-to-output links and unused group sockets.

Previous code tried to connect external nodes and internal group sockets
by following links until a "real" node input/output. This quickly
becomes complicated in corner cases as described above and can lead to
unexpected behavior when the group socket is of a different type than
the internal/external sockets, but that conversion is skipped.

The new code uses the concept of "proxy nodes" similar to what the new
compositor does. Each group socket is replaced with a proxy node with a
single input and output, to which other nodes in the same tree and
internal nodes can link to. After all groups have been expanded in the
graph, these proxy nodes are removed again, adding converter nodes if
necessary.
2011-12-18 15:34:06 +00:00
Dalai Felinto
2a6fdbcccd Cycles Gamma Node
Node specially useful for Texture correction.

This is also a nice example of a simple node made from scratch in case someone wants to create their custom nodes.
Review by Brecht.
2011-12-16 20:35:06 +00:00
Dalai Felinto
3c8ab559a5 Normal Node - Cycles
reviewed by Brecht, with help from Lukas.

Note: dot is reversed compared to Blender.
In Blender Normals point outside, while in Cycles they point inside.
If you use your own custom vector with the Normal Node you will see a difference.
If you feed it with object normals it should work just as good.
2011-12-16 18:15:07 +00:00
Miika Hamalainen
5466befb38 Fix cycles compile for win32. 2011-12-13 10:17:17 +00:00
Brecht Van Lommel
57a39c3a0c Fix #29594: cycles NaN values with window coordinates mapping. 2011-12-13 00:00:26 +00:00
Brecht Van Lommel
9e01abf777 Cycles: require Experimental to be set to enable CUDA on cards with shader model
lower than 1.3, since we're not officially supporting these. We're already not
providing CUDA binaries for these, so better make it clear when compiling from
source too.
2011-12-12 22:51:35 +00:00
Brecht Van Lommel
ea399744e7 Fix #29555: cycles crash rendering with no material in material slot. 2011-12-09 00:24:48 +00:00
Brecht Van Lommel
3314184f4d Fix #29528: crash adding subsurf modifier in a particular scene with viewport render. 2011-12-08 21:55:35 +00:00
Thomas Dinges
7c630aac80 Scons/CUDA
* Added missing bitness info to the nvcc_flags. 
This makes sure that the nvcc compiler builds the correct cubins.
2011-12-08 19:16:43 +00:00
Campbell Barton
c292bf18be correct missing argument error if CYCLES_OPTIMIZED_KERNEL_FLAGS isnt set 2011-12-07 08:03:52 +00:00
Thomas Dinges
b7649ea757 Cycles / CUDA Kernel compile:
* Added option "WITH_BF_CYCLES_CUDA_THREADED_COMPILE" for the people who have much RAM (8 or more) and can compile several kernels at the same time. If enabled, it uses the general BF_NUMJOBS flag.
* The option is off per default.
2011-12-06 16:00:57 +00:00
Brecht Van Lommel
cd1e78f1b7 Cycles: scons cuda kernel compile now does one kernel at a time, to reduce memory
usage.
2011-12-06 12:29:54 +00:00
Campbell Barton
b44c82b4fd remove invalid NULL checks from own recent commit and minor pep8 edits. 2011-12-05 22:19:30 +00:00
Brecht Van Lommel
63ad25c30d Cycles:
Fix #29475: remove node from properties editor crash on windows. This was a bug
in the UI code, which code access removed data.
Fix OpenCL still being used in a case where Experimental was disabled.
Fix msvc debug warning in md5 code.
2011-12-05 19:54:59 +00:00
Brecht Van Lommel
6c6b0ecb27 Fix compile issue on windows, broke this trying to fix for mac. 2011-12-04 15:49:14 +00:00
Dalai Felinto
d15c5e51a1 Invert Color Cycles Node
as with the HSV node the OSL code is relying on the (yet to be implemented) autorename.

Also the svm code could use mix (svm_lerp) instead:
 32 . float3 color_inv = make_float3(1.0f, 1.0f, 1.0f) - color;
 35 . . stack_store_float3(stack, out_color, svm_lerp(color_inv, color, factor));

I have a feeling that each node 'program' should have the least program as possible. I'll see with Brecht later.
But overall I don't know if that's any fast. And apart from that I think we will need this kind of function to move to a library if multiple functions linked in are not a problem.
2011-12-03 23:05:35 +00:00
Brecht Van Lommel
341aa730bd Fix cycles compile issue after last commit. 2011-12-03 21:27:19 +00:00
Brecht Van Lommel
f2ae6b1589 Fix #29444: cycles problem building BVH with NaN vertices. 2011-12-03 20:22:21 +00:00
Dalai Felinto
78495ddf32 CameraData Input Cycles Node
----------------------------
reviewed and approved by Brecht 

Important note:
the camera Z is reverted compared to Blender render.
Now it goes from zero (camera) to positive (in front of the camera)
2011-12-02 20:36:13 +00:00
Dalai Felinto
4fd2736487 HSV Color Node for Cycles
.........................
note, the OSL code has a problem.
In the original node the input and output nodes have the same name (Color).
So this will be fixed here once Brecht come up with a nice autorenaming (or we do a doversion patch) for that.
2011-12-02 16:57:37 +00:00
Brecht Van Lommel
efe4ea284a Cycles:
* Fix broken compile of test app.
* Fix some warnings compiling with gcc for 32 bit.
* More tweaks to avoid extended precision issue from #29301.
2011-12-02 14:26:28 +00:00
Dalai Felinto
1da758ffff cycles separateRGB: fix for cuda kernel building.
Array indexing doesn't work there.

I'm yet to setup my CUDA computer, in the meantime this proved to work (tested by Daniel Salazar).
If I found other ways of doing it I get back to that.
2011-12-02 07:13:48 +00:00