Blender Git Loki

Blender Git "blender-v2.78b-release" branch commits.

Page: 9 / 23

January 20, 2017, 10:25 (GMT)
Cycles: De-duplicate image loading functions

The code was templated already, so don't see big reason to have
3 versions of templated functions. It was giving some extra code
to maintain and in fact already had divergency for support of huge
image resolution (missing size_t cast in byte image loading).

There should be no changes visible by artists.
January 20, 2017, 10:25 (GMT)
Fix Cycles OSL compilation based on modified time not working.
January 20, 2017, 10:25 (GMT)
Fix T49838: Noise randomization for frame should be done per interframes as well

Add subframe to the animated seed hash calculation.

Should be no difference for the regular files, only for cases when scene is
rendered from sequencer with a speed effect, which is not really a common thing.
January 20, 2017, 10:25 (GMT)
Fix T49985: cycles standalone XML missing distant lights.
January 20, 2017, 10:25 (GMT)
Fix Cycles standalone not finding CPU device after recent changes.
January 20, 2017, 10:25 (GMT)
Cycles: Add comments to endif directives

`kernel_path.h` and `kernel_path_branched.h` have a lot of conditional code and
it was kind of hard to tell what code belonged to which directive. Should be
easier to read now.
January 20, 2017, 10:25 (GMT)
Fix T49985: cycles standalone using wrong socket names for XML reading.
January 20, 2017, 10:25 (GMT)
Cycles: Only use new light sample threshold for new files

This is a late follow-up commit to the light sample threshold changes which
caused difference in rendering all existing .blend files which is not something
we are happy about: it is fine to use new optimized defaults for new files, but
existing ones should always be rendering in the same way as they used to be.

Sorry for the inconveniece, but such thing should have been done to begin with.
If this setting was modified it will not be reset to zero.

Now all render tests should be passing again.

P.S. Also really annoying to bump subversion for such reasons, but currently we
don't have better way to achieve what we want.
January 20, 2017, 10:25 (GMT)
Cycles: Remove device settings from performance tab

This was included in the commit by accident, it doesn't belong there.
January 20, 2017, 10:25 (GMT)
Cycles: Fix T49952: Bad MIS sampling of backgrounds with single bright pixels

With this fix, using a MIS map resolution equal to the image size for closest imterpolation or twice the size for linear interpolation gets rid of all fireflies.
Previously, a much higher resolution was needed to get acceptable noise levels.
January 20, 2017, 10:25 (GMT)
Fix compilation error when CUDA toolkit is not installed

After CUDA dynload changes having CUDA toolkit became required
in order to compile Cycles. This only happened due to wrong
default value to the option.
January 20, 2017, 10:25 (GMT)
Cycles: Refactor Device selection to allow individual GPU compute device selection

Previously, it was only possible to choose a single GPU or all of that type (CUDA or OpenCL).
Now, a toggle button is displayed for every device.
These settings are tied to the PCI Bus ID of the devices, so they're consistent across hardware addition and removal (but not when swapping/moving cards).

From the code perspective, the more important change is that now, the compute device properties are stored in the Addon preferences of the Cycles addon, instead of directly in the User Preferences.
This allows for a cleaner implementation, removing the Cycles C API functions that were called by the RNA code to specify the enum items.

Note that this change is neither backwards- nor forwards-compatible, but since it's only a User Preference no existing files are broken.

Reviewers: #cycles, brecht

Reviewed By: #cycles, brecht

Subscribers: brecht, juicyfruit, mib2berlin, Blendify

Differential Revision: https://developer.blender.org/D2338
January 20, 2017, 10:25 (GMT)
cycles, cuDeviceComputeCapability is deprecated as of cuda 5.0
January 20, 2017, 10:25 (GMT)
Cycles: Style Fix: Light sampling threshold description
January 20, 2017, 10:25 (GMT)
Cycles: Fix OpenCL build error caused by light termination commit
January 20, 2017, 10:25 (GMT)
Cycles standalone, compile fix UINT_MAX is not defined in device_cuda.cpp
January 20, 2017, 10:25 (GMT)
Cycles: Deduplicate AO calculation

No functional changes.
January 20, 2017, 10:25 (GMT)
Cycles: Fix OpenCL compilation with the new brick texture
January 20, 2017, 10:25 (GMT)
Cycles: Fix missing underscore in geom_object.h
January 20, 2017, 10:25 (GMT)
Cycles: Fix T49901: OpenCL build error after recent light texture coordinate commit

Basically, the problem here was that the transform that's used to bring texture coordinates
to world space is either fetched while setting up the shader (with Object Motion is enabled) or
fetched when needed (otherwise). That helps to save ShaderData memory on OpenCL when Object Motion isn't needed.

Now, if OM is enabled, the Lamp transform can just be stored inside the ShaderData as well. The original commit just assumed it is.
However, when it's not (on OpenCL by default, for example), there is no easy way to fetch it when needed, since the ShaderData doesn't
store the Lamp index.

So, for now the lamps just don't support local texture coordinates anymore when Object Motion is disabled.
To fix and support this properly, one of the following could be done:
- Just always pre-fetch the transform. Downside: Memory Usage increases when not using OM on OpenCL
- Add a variable to ShaderData that stores the Lamp ID to allow fetching it when needed
- Store the Lamp ID inside prim or object. Problem: Cycles currently checks these for whether an object was hit - these checks would need to be changed.
- Enable OM whenever a Texture Coordinate's Normal output is used. Downside: Might not actually be needed.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021