Commit Graph

1569 Commits

Author SHA1 Message Date
ff21f6aeef Fix for own mistake in rB83f2012300acadafd359307e7a00bd71e67e3fd7: used
bool instead of int.

Thanks to Campbell Barton for noticing.
2014-03-24 20:54:50 +01:00
83f2012300 Fix T39341: Cycles Rendered view laggy while using particles.
There are a couple of bugs that come together here:
* Particle hacks: extra modifier stack evaluation just for particles in
rna_Object_create_duplilist. This is where the primary issue stems from,
the "for_render" setting replaced the G.is_rendering flag in threaded
depsgraph. This causes particles to recalculate the entire modifier
stack with _render_ settings instead of viewport settings now. Fixed by
taking the 'preview' parameter in Cycles into account.
* Buggy skin modifier: The skin modifier generates a different amount of
vertices and faces **on every execution**. This must be looked at
separately, but it could be another reason why cycles constantly
restarted the sync process.
* Particles get re-distributed randomly every time (changing seed). This
could be caused just by the broken skin modifier, but might still be an
issue when simply rendering with cycles, since the psys will be
evaluated for render settings, if just temporarily.
2014-03-24 13:10:58 +01:00
8e0ee51b85 Cycles Standalone: XML Updates for Branched Path Multi Light. 2014-03-23 12:29:30 +01:00
31cc49b5df Code cleanup: Move AA Samples variable, this is not exclusive to Branched Path. 2014-03-23 12:15:33 +01:00
c45c472e1b Cycles: SSE optimization for line segments/ribbons hair
Gives ~11% speedup for hair.blend, ~10% for koro_final.blend

Also extract few common subexpressions in hair calculation.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D318
2014-03-23 00:45:59 +04:00
877706b8eb Cleanup: Restrict the debug -gline-tables-only to cxx_debug in cycles and spelling 2014-03-22 11:33:32 +01:00
ce5395868f Cycles Standalone: Support for relative paths and string OSL parameters.
Patch by John Haddon.
Differential Revision: https://developer.blender.org/D418
2014-03-21 17:22:41 +01:00
03d053da4c Extend workaround to all OS :avoid link failure with clang 3.4 debug 2014-03-20 12:38:58 +01:00
28c1a860e2 Fix T39247
Changes to interpolation break texture allocation on sm35 and greater.
2014-03-19 07:37:18 +01:00
8480bb64ec Code cleanup: style 2014-03-17 21:48:13 +11:00
211f08d89b Cycles: Direct multi light sampling in the Branched Path Integrator is optional now.
Disabling this can improve performance, when we need a lot of AA Samples anyway, to clear up the render.

Simple example .blend: http://www.pasteall.org/blend/27582

Differential Revision: https://developer.blender.org/D392
2014-03-15 17:37:43 +01:00
cb4c49ad97 UI: Improved layout for Cycles Volume Sampling panel. 2014-03-15 17:37:42 +01:00
13ae541be4 UI: Move OpenGL Settings (AA and Alpha) into the Info Editor render menu. 2014-03-15 17:37:42 +01:00
38244166b0 Code cleanup: Don't assign time 2x, we only need it for Object Motion here. 2014-03-15 14:23:10 +01:00
a8039d99f8 Fix cycles texture interpolation mode closest constant offset on some devices 2014-03-13 20:08:33 +01:00
f959e3d4ba Fix T39146: recent cycles CUDA regression in fix for T39114.
This commit is to be backported to the 2.70 release.
2014-03-13 14:18:34 +01:00
23fd670c39 Code cleanup: cmake 2014-03-13 23:31:06 +11:00
67fc520ab8 Cmake: fix compile problem after own commit 2014-03-13 11:06:57 +01:00
217dbfeba5 Fix for compilation error since previous fix for XCode 2014-03-13 15:28:45 +06:00
2d0997766d OSX/cmake: set DEBUG_INFORMATION_LEVEL to "line-tables-only" for cycles, clang 3.4 (xcode 5.1) would not link with RNA in debug else 2014-03-12 22:41:35 +01:00
d7cff8f74c Fix T39114: cycles lamp ray visibility not working.
Thanks to Thomas for finding the cause.
2014-03-12 18:21:23 +01:00
2d4de2742c Cycles: Disable Branched Path on sm_30 for now, recent Indirect Multi Light addition makes nvcc fail. 2014-03-11 23:04:55 +01:00
99e20d7b89 Cycles: Option to Sample all Lights in the Branched Path integrator for indirect samples
This adds a new option "Sample All Lights" to the Sampling panel in Cycles (Branched Path). When enabled, Cycles will sample all the lights in the scene for the indirect samples, instead of randomly picking one. This is already happening for direct samples, now you can optionally enable it for indirect.

Example file and renders:
Blend file: http://www.pasteall.org/blend/27411
Random: http://www.pasteall.org/pic/show.php?id=68033
All: http://www.pasteall.org/pic/show.php?id=68034

Sampling all lights is a bit slower, but there is less variance, so it should help in situations with many lights.

Patch by myself with some tweaks by Brecht.
Differential Revision: https://developer.blender.org/D391
2014-03-09 22:20:01 +01:00
a96eb73a12 Code Cleanup for __HAIR__ defines. 2014-03-09 12:48:58 +01:00
36279afbd3 Cycles: Compile fix and some cleanup for the Image interpolation commit. 2014-03-08 00:23:45 +01:00
dd2dca2f7e Add support for multiple interpolation modes on cycles image textures
All textures are sampled bi-linear currently with the exception of OSL there texture sampling is fixed and set to smart bi-cubic.

This patch adds user control to this setting.

Added:
- bits to DNA / RNA in the form of an enum for supporting multiple interpolations types
- changes to the image texture node drawing code ( add enum)
- to ImageManager (this needs to know to allocate second texture when interpolation type is different)
- to node compiler (pass on interpolation type)
- to device tex_alloc this also needs to get the concept of multiple interpolation types
- implementation for doing non interpolated lookup for cuda and cpu
- implementation where we pass this along to osl ( this makes OSL also do linear untill I add smartcubic to the interface / DNA/ RNA)

Reviewers: brecht, dingto

Reviewed By: brecht

CC: dingto, venomgfx

Differential Revision: https://developer.blender.org/D317
2014-03-07 23:16:33 +01:00
8a38d840e9 Cycles: Use Displacement type in OSL ShadingSystem.
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D386
2014-03-06 21:03:22 +01:00
1d01675833 Cuda use streams and async to avoid busywaiting
This switches api usage for cuda towards using more of the Async calls.

Updating only once every second is sufficiently cheap that I don't think it is worth doing it less often.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D262
2014-03-06 20:51:46 +01:00
e0857ad152 Fix volume scatter render issue introduced by recent bugfix. 2014-03-04 17:19:58 +01:00
6045de2bf5 Cycles: remove ccl_align macro for GPU as unused and unsupported in OpenCL 2014-03-02 12:44:52 +04:00
3eabe064ab Fix T38900: cycles OSL crash running getmessage("trace", "geom:name", name) 2014-03-01 14:58:05 +01:00
76a7c2173b Cleanup: Fix some typos in the code. 2014-03-01 01:21:46 +01:00
de6b64bca6 Fix use of uninitialized variable in some cases with scatter + emission volume. 2014-02-27 23:41:00 +01:00
4d1159627c Fix cycles wrong volume scatter value in light path node.
Thanks to Thomas for spotting this.

Differential Revision: https://developer.blender.org/D370
2014-02-27 21:15:23 +01:00
74ae900c67 Cycles: Fix mistake in PathRayFlag, one value was used twice. 2014-02-27 20:41:36 +01:00
5031ca05aa Cycles: compile fix after rB7808360c5f (own mistake) 2014-02-27 17:29:35 +04:00
7808360c5f Cycles: fix crash in SSE hair and half-floats on x86+vc2008
MSVC 2008 ignores alignement attribute when assigning from unaligned
float4 vector, returned from other function. Now Cycles uses unaligned
loads instead of casts for win32 in x86 mode.
2014-02-27 15:01:20 +04:00
e1e247a99b Fix T38710: volume render issue with transparent surfaces. 2014-02-26 18:47:50 +01:00
eb4f2b4897 Fix missing brackets in cpuid bitfield check.
concern raised by lukas_t (rBef73d547cc7c663ad180721094c81b3c81482ac3)
2014-02-25 19:52:38 +01:00
0bef196894 Fix T38811: Cycles particle ids are inconsistent when using multiple particle systems.
Problem is that the particle systems in the cycles database are not
stored in a well-defined order. This means the particle_id for dupli
objects can not simply be assigned using a global running index during
sync.

Now the particle index is assigned locally for each particle system.
When transferring particle data to the device as a single texture, the
particle indices are offset based on the final order of particle systems
in the database.

Reviewers: brecht

Reviewed By: brecht

CC: Andreas80

Differential Revision: https://developer.blender.org/D352
2014-02-25 18:29:11 +01:00
ef73d547cc Fix T38815
For AVX support we need to check both OS support and CPU support.
2014-02-25 17:57:05 +01:00
e643d2c211 Cycles Standalone: Tweak for d59f53f7b7, use "closure color" as type name, to 100% match the OSL data type. 2014-02-25 00:01:19 +01:00
2d26d1dbbd Cycles: Make CUDA aware of COMPUTE_50 (sm_50, Maxwell).
If you have a Maxwell GPU and want to test, you have to use the CUDA Toolkit 6.0(RC) and enable sm_50 in scons/cmake.
2014-02-24 21:47:45 +01:00
88f1c283a7 Tweak to T38766 fix: cycles now support setting viewport alpha for a material. 2014-02-24 19:53:14 +01:00
b826032200 Fix T38779: cycles SSS and object scale render issue. 2014-02-24 15:26:38 +01:00
d59f53f7b7 Support for generic OSL shader parameters in the Cycles standalone XML
reader.

To make a generic OSL shader connectable to other nodes, the parameters
must be declared via "input" and "output" child elements:

  <osl_shader name="tex" src="./osl/stripes.osl">
    <input name="Stripes" type="int" />
    <output name="ColorOut" type="color" />
  </osl_shader>

`name` must be the same as the OSL shader parameter name.
`type` must be one of float, int, color, vector, point, normal, closure,
       string (matching cycles socket types)

Beyond this the OSL script nodes then work just like all other nodes.

OSL parameter sockets can be connected to other cycles nodes:

  <connect from="checker color" to="tex Stripes" />
  <connect from="tex ColorOut" to="floor_closure color" />

They can set default values for the input sockets by attributes of the
main node element:

  <osl_shader name="tex" src="./osl/stripes.osl" Stripes="3" >
    <input name="Stripes" type="int" />
    <output name="ColorOut" type="color" />
  </osl_shader>

This system of specifying custom attributes should probably be changed,
since it can easily create name conflicts and arbitrarily long elements.
But that is a different issue to be solved for all nodes in general.
2014-02-24 11:35:32 +01:00
c0e0b61222 Fix cycles standalone crash on Mac OS X. 2014-02-21 15:39:46 +01:00
415adf7263 Fix T38740: multi-user metaballs not rendering in Cycles. 2014-02-21 15:03:24 +01:00
6b1a4fc66e Cycle CUDA: revert the f1aeb2ccf4 and 84f958754 busywait fixes for now.
It's unclear what kind of impact they have on performance at the moment, so I
rather play it safe and postpone this for 2.71.

Ref T38679, Ref T38712
2014-02-19 16:08:08 +01:00
c9233bfd82 Code cleanup: style 2014-02-19 08:02:59 +11:00