Commit Graph

1880 Commits

Author SHA1 Message Date
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
Brecht Van Lommel
a0af3f7ffe OS X: add BLENDER_SOFTWAREGL environment variable to force using software OpenGL
renderer, for debugging OpenGL issues.
2011-12-19 14:23:08 +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
Brecht Van Lommel
e9be94b82d Fix #29233: Windows accessibility feature "sticky keys" for disabled people not working. 2011-12-15 13:01:01 +00:00
Joerg Mueller
b9614b0e52 Fix for Jens commit, otherwise OSX will crash without Jack as soon as audio access is tried. 2011-12-14 08:38:21 +00:00
Jens Verwiebe
6b652928a7 Cleanup for 42622 using struct stat instead boost 2011-12-14 08:01:24 +00:00
Jens Verwiebe
7d9a8c2308 OSX: Add a framework-check for Jack to avoid crashes 2011-12-14 06:15:52 +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
Jens Verwiebe
94bc2b0cff OSX: proper scons config and linking weak for jackOSX and errorhandling 2011-12-12 22:17:02 +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
Dalai Felinto
4db4a0933f SeparateRGB and CombineRGB nodes for Cycles materials
reviewed and approved by Brecht

my first OpenCL code \o/
2011-12-01 21:46:10 +00:00
Brecht Van Lommel
45de380771 Cycles
* Compile all of cycles with -ffast-math again
* Add scons compilation of cuda binaries, tested on mac/linux.
* Add UI option for supported/experimental features, to make it
  more clear what is supported, opencl/subdivision is experimental.
* Remove cycles xml exporter, was just for testing.
2011-12-01 16:33:21 +00:00
Brecht Van Lommel
b6021462a8 Another possible fix for #29301: issue with BVH intersection, reorder code a
bit so that it's more symmetric and resulting float ops are compiled the same
way. Otherwise extended float precision being used in one place and not the
other can make comparisons fail.
2011-11-30 16:29:26 +00:00
Campbell Barton
f62ad8f69b remove header text:
"The Blender Foundation also sells licenses for use in proprietary software under the Blender Licens"

also remove NaN references from files that have been added since blender went opensource.
2011-11-29 10:54:47 +00:00
Campbell Barton
42d50c75fa minor cycles edits
- use sets rather then tuples
- use relative imports
2011-11-27 03:49:09 +00:00
Brecht Van Lommel
04d1971a66 Fix cycles python error introduced in revision 42138. 2011-11-24 21:14:48 +00:00
Campbell Barton
6e28ac2d7b pep8 edits and avoid naming conflicts with python builtins 2011-11-24 19:36:12 +00:00
Thomas Dinges
366554d303 Scons / Cycles:
* Add dummy WITH_BF_CYCLES_BINARIES to scons, to be able to copy the .cubin kernels from cmake and have it work.
2011-11-24 19:22:34 +00:00
Brecht Van Lommel
2345efc6c5 Patch #29336: renaming UV (Texture) Layer to UV Map in the user interface,
by Gaia Clary.

Rationale: the name was confusing and not always used consistently, and this
map itself is not something that can be layered, rather the map can be used
as texture coordinates in some layered setup.

The original intent was to indicate this contained more than just UV's, but
the game engine settings have already been moved out, and apparently users
didn't really get this from the name anyway.
2011-11-23 17:25:25 +00:00
Brecht Van Lommel
92ec286752 Cycles: build flags tweaks to avoid errors with msvc debug build. 2011-11-23 16:30:50 +00:00
Jens Verwiebe
4c43a14b9f OSX: Fix more UTF8 issues, todo: use correct font 2011-11-23 07:39:59 +00:00
Brecht Van Lommel
086e4ed825 Cycles: improve error reporting for opencl and cuda, showing error messages in
viewport instead of only console.
2011-11-22 20:49:33 +00:00
Brecht Van Lommel
eb2baf9abc Fix #29274: problem compiling cycles opencl kernel from directory with spaces.
Some drivers don't support passing include paths with spaces in them, nor does
the opencl spec specify anything about how to quote/escape such paths, so for
now we just resolved #includes ourselves. Alternative would have been to use c
preprocessor, but this also resolves all #ifdefs, which we do not want.
2011-11-22 16:38:58 +00:00
Brecht Van Lommel
47853bf6f6 Cycles: OpenCL tweaks
* Reduce kernel arguments size, helps compile for apple nvidia.
* Fix use of unitialized variable in displace kernel.
* Use build flags in opencl kernel md5 hash.
* Reorganize code for kernel feature #defines a bit.
2011-11-22 13:15:19 +00:00