Commit Graph

824 Commits

Author SHA1 Message Date
Sergey Sharybin
dc2daf7a67 Fix T40482: Cycles matlib file crashes
it's possible that runtime optimizer would call get_attribute
with NULL renderstate. As per documentation, it's valid to
return false in that cases and in worst case we'll just miss
some possible optimization.

Supporting such cases would require some bigger changes to
Cycles since attributes are only set to up for the kernel
after shader compilation.

Thanks Brecht for review!
2014-06-05 02:33:21 +06:00
Brecht Van Lommel
bc4043e797 Fix T40456: cycles bug with branched path + sss + no sample all direct lights. 2014-06-04 17:57:19 +02:00
Thomas Dinges
abec198665 Code cleanup, unused variables and comments. 2014-06-01 07:13:52 +02:00
Thomas Dinges
2c69f1e574 Cleanup: Remove unused total power Emission code in Cycles, that was never exposed in the UI.
Differential Revision: https://developer.blender.org/D562
2014-05-30 14:32:59 +02:00
Brecht Van Lommel
0780f5915b Fix T39804: cycles smoke domain visible in rendering.
Transparent objects could become subtly visible by the different sampling
patterns for pixels covered and not covered by the object. It still converged
to the right solution but that can take a while. Now we try to use the same
sampling pattern here.
2014-05-29 14:51:02 +02:00
Brecht Van Lommel
9e61dcc6b8 Fix T40408: world MIS + equiangular sampling giving unnecessary noise.
It's actually not possible to do equiangular sampling for distant lights, now
it reverts to distance sampling in this case.
2014-05-29 14:50:47 +02:00
Thomas Dinges
4f83d3ec76 Fix OpenCL compilation error in Cycles, when building without hair support. 2014-05-29 12:38:03 +02:00
Dalai Felinto
3a3edc6c2d Revert "fix T40375 Glossy shader bakes different than render"
This reverts commit 12abe94de8.

After a long discussion in the bug tracker we decided baking should use
the faces normals for glossy (and combined). This is what Blender
Internal is doing, and one of the more predictable way of yielding
predictable results.

That also means the result will not match the render perfectly, but this
is preferrable over the alternatives at hand.

Conflicts:
	intern/cycles/kernel/kernel_bake.h
2014-05-29 01:19:12 -03:00
Brecht Van Lommel
4d1ec4d9c7 Fix T40386: cycles anisotropic BSDF difference between SVM and OSL. 2014-05-28 16:41:48 +02:00
Thomas Dinges
94b2852947 Fix T40399, OpenCL compile error. 2014-05-28 09:36:15 +02:00
Dalai Felinto
517094a697 Cycles: new camera_direction_from_point
Reviewers: brecht

Differential Revision: https://developer.blender.org/D556
2014-05-27 11:09:36 -03:00
Dalai Felinto
12abe94de8 fix T40375 Glossy shader bakes different than render
Comments from Brecht Van Lommel:
"""
Currently the viewing direction for each pixel is set to the normal, so
at every pixel glossy is evaluated as if you're looking straight at it.
Blender Internal works the same.
"""

This patch makes baking glossy as viewed from the camera.

Reviewers: brecht

CC: zanqdo

Differential Revision: https://developer.blender.org/D555
2014-05-27 10:43:26 -03:00
Brecht Van Lommel
55e4454db8 Cycles CUDA: use fewer registers for sm_50 cards for better performance. 2014-05-27 15:11:32 +02:00
Brecht Van Lommel
69c7522b24 Fix T40379: world MIS causing too much CUDA memory usage.
The kernel for baking the world texture was the same as the one used for
baking. Now that's separate which allows the kernel to reserve much less
memory.
2014-05-27 15:11:32 +02:00
Dalai Felinto
0efc0d5200 fix T40322: Glitch in baking a mixed SSS shader 2014-05-26 16:55:40 -03:00
Brecht Van Lommel
b33d83bf51 Attempted fix for T40363: CUDA 30% slowdown in testbuilds compared to 2.70.
CMake had this --fast-math flag but scons not, makes a big difference on some
files. Slightly slower rendering might still happen though, but it should not
be this much.
2014-05-26 16:52:28 +02:00
Brecht van Lommel
48b053bd44 Fix T40345: cycles volume render + AO pass not working correct. 2014-05-26 13:51:11 +02:00
Dalai Felinto
b3f9117523 Revert "Cycles-Bake: fix T40322 Glitch in baking a mixed SSS shader"
This reverts commit 81b129d3b8.

This is not the correct fix yet. More details in T40322
2014-05-24 14:22:55 -03:00
Thomas Dinges
7fb33e5c43 Cleanup: Comments and unused variables. 2014-05-24 07:28:33 +02:00
Brecht Van Lommel
f8ce417eba Fix T40320: wrong render layer visibility with cycles deformation motion blur. 2014-05-23 16:11:59 +02:00
Dalai Felinto
81b129d3b8 Cycles-Bake: fix T40322 Glitch in baking a mixed SSS shader
If we are using a mix node we still need to evaluate the BSDF lighting
even if scattering is successful.

Note: this was working for branched path (probably an oversight when
branched path support was introduced for baking, a good oversight though
;)
2014-05-22 19:46:22 -03:00
Dalai Felinto
d7e4a79388 Cycles-Bake: fix T40270 Combined Type fails to bake Emission node
Main code and review by Brecht Van Lommel

Differential Revision: https://developer.blender.org/D543
2014-05-22 19:05:23 -03:00
Campbell Barton
238a6149af Fix T40289: Cycles leaking memory
error in recent commit
2014-05-21 16:00:20 +10:00
Brecht Van Lommel
db2d900f74 Fix T40135: cycles baking did not support branched path settings yet. 2014-05-19 15:14:43 +02:00
Brecht Van Lommel
6252f75025 Code refactor: move branched path AO and SSS code into functions. 2014-05-19 15:07:40 +02:00
Brecht Van Lommel
c91d4ccbeb Code refactor: rename kernel_displace.h to kernel_bake.h. 2014-05-19 15:07:32 +02:00
Brecht Van Lommel
caed2394e2 Fix cycles bug with new transparent shadow code, giving too much volume shadow. 2014-05-15 21:31:58 +02:00
Brecht Van Lommel
df74230c5e Fix cycles baking code build errors with OpenCL on some platforms. 2014-05-11 16:36:51 +02:00
Brecht Van Lommel
0d5ecc5c33 Fix T40117: cycles sobol RNG issue when disabling __CAMERA_MOTION__.
This doesn't affect any actual release code since camera motion blur is enabled.
2014-05-11 16:36:51 +02:00
Campbell Barton
da644a9b58 Quiet warnings with __CUDA_ARCH__ use 2014-05-11 16:17:02 +10:00
Thomas Dinges
c08c931fb6 Cycles / CUDA: Increase maximum image textures on GPU.
Instead of 95, we can use 145 images now. This only affects Kepler and above (sm30, sm_35 and sm_50).

This can be increased further if needed, but let's first test if this does not come with a performance impact.

Originally developed during my GSoC 2013.
2014-05-11 03:38:39 +02:00
Brecht Van Lommel
fe00dbcc23 Fix cycles motion pass for hair curves showing a bit of motion when there isn't any. 2014-05-09 17:14:13 +02:00
Dalai Felinto
672cebf19a Cycles-Bake: displacement support (fix T40068)
Code with contribution from Brecht Van Lommel.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D510
2014-05-08 14:38:43 -03:00
Dalai Felinto
83cdd5887f Cycles-Bake: Subsurface Scattering support (fix T40060)
This fixes the SSS Direct/Indirect passes as well as the Combined pass.
Patch reviewed and with fixes and contributions from Brecht van Lommel.

Note: displacement/bump map (related to the report) will be handled separately

Reviewers: brecht

Differential Revision: https://developer.blender.org/D503
2014-05-07 11:59:25 -03:00
Matt Heimlich
3fbc984b06 Nodes: add absolute value operation to all math nodes
Reviewed By: dingto, brecht

Differential Revision: https://developer.blender.org/D507
2014-05-07 16:43:59 +02:00
Dalai Felinto
08bf531956 Cycles-Bake: Ambient Occlusion needs to be computed for COMBINED
Now the COMBINED pass includes the Ambient Occlusion.

This was not reported anywhere, but while working in the Subsurface Scattering I realize we needed this fix for combined.
2014-05-07 10:18:00 -03:00
Brecht Van Lommel
6dbe732a2f Fix T40049: cycles baking glossy shader looks faceted.
Use smooth normal instead of flat normal as view direction.
2014-05-06 18:17:54 +02:00
Brecht Van Lommel
80e137e826 Fix T39946: OSL + tangent space normal maps not working in Cycles. 2014-05-06 16:39:50 +02:00
Campbell Barton
fd7f5c4230 Cycles: revert part of the optimization from ff34c2d
This was faster for my AMD system but slower for Intel.

However with gcc4.9,-O3 I was able to get roughly the same speed before/after.

Revert since this isnt giving such clear benefits on most systems.
2014-05-06 14:07:04 +10:00
Brecht Van Lommel
8641e30787 Fix T40032: hair BSDF not working correct after primitive type code refactoring. 2014-05-05 17:15:48 +02:00
Campbell Barton
620901426c Code cleanup 2014-05-05 12:29:28 +10:00
Campbell Barton
ff34c2de64 Cycles: avoid int->float conversions for pixel lookups
Gives ~3% speedup for image.blend test, and 6% for image heavy file.

Overall speedup in real-world use is likely much less.
2014-05-05 06:58:39 +10:00
Campbell Barton
d828d44d7a Cycles: use LIKELY/UNLIKELY macros
Gives overall ~3% speedup in own tests for BMW scene.
2014-05-05 03:49:22 +10:00
Campbell Barton
dc13969e48 Style cleanup: indentation, braces 2014-05-05 02:19:08 +10:00
Campbell Barton
e86dbf6877 Code cleanup: avoid int/uint mixup in cycles 2014-05-05 01:30:02 +10:00
Dalai Felinto
eec3eaba08 Cycles Bake
Expand Cycles to use the new baking API in Blender.

It works on the selected object, and the panel can be accessed in the Render panel (similar to where it is for the Blender Internal).

It bakes for the active texture of each material of the object. The active texture is currently defined as the active Image Texture node present in the material nodetree. If you don't want the baking to override an existent material, make sure the active Image Texture node is not connected to the nodetree. The active texture is also the texture shown in the viewport in the rendered mode.

Remember to save your images after the baking is complete.

Note: Bake currently only works in the CPU
Note: This is not supported by Cycles standalone because a lot of the work is done in Blender as part of the operator only, not the engine (Cycles).

Documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Bake

Supported Passes:
-----------------
Data Passes
 * Normal
 * UV
 * Diffuse/Glossy/Transmission/Subsurface/Emit Color

Light Passes
 * AO
 * Combined
 * Shadow
 * Diffuse/Glossy/Transmission/Subsurface/Emit Direct/Indirect
 * Environment

Review: D421
Reviewed by: Campbell Barton, Brecht van Lommel, Sergey Sharybin, Thomas Dinge

Original design by Brecht van Lommel.

The entire commit history can be found on the branch: bake-cycles
2014-05-02 21:19:09 -03:00
Campbell Barton
8d16869d83 Code cleanup: Add -Werror=float-conversion to Cycles 2014-05-03 07:31:46 +10:00
Brecht Van Lommel
c806a8ce96 Cycles: MIS for lamps now loops over all lamps instead of picking one.
Probably will not be noticed in most scenes. This helps reduce noise when you
have multiple lamps with MIS enabled, at the cost of some performance, but from
testing some scenes this seems better.
2014-05-01 19:25:13 +02:00
Thomas Dinges
8d42e7b20d Cleanup / Cycles: Adjust comment for faster testing in the future.
Unfortunately the function call is still a bit slower, even with CUDA 6.0. :/
2014-05-01 01:21:21 +02:00
Brecht Van Lommel
741f17f05b Cycles CUDA: make CUDA toolkit 6.0 the official supported version.
This also updates the configurations to build kernels for compute capability
5.0 cards, when using and older CUDA toolkit version this will be skipped.

Also includes tweaks to improve performance with this version:
* Increase max registers on sm_30, sm_35 and sm_50
* No longer use texture storage on sm_30
2014-04-30 16:07:27 +02:00