blender/intern/cycles/kernel/svm
Martijn Berger 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
..
svm_attribute.h Fix cycles volume render crash when trying to access primitive attributes 2013-12-28 23:39:15 +01:00
svm_blackbody.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_brick.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_brightness.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_camera.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_checker.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_closure.h Fix T38439: allow IOR in range [0, inf] instead of [1, inf] in Cycles. 2014-02-03 17:08:34 +01:00
svm_convert.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_displace.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_fresnel.h Fix T38439: allow IOR in range [0, inf] instead of [1, inf] in Cycles. 2014-02-03 17:08:34 +01:00
svm_gamma.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_geometry.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_gradient.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_hsv.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_image.h Add support for multiple interpolation modes on cycles image textures 2014-03-07 23:16:33 +01:00
svm_invert.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_light_path.h Cycles Volume Render: work on nodes and closures. 2013-12-28 16:57:02 +01:00
svm_magic.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_mapping.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_math.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_mix.h Cycles, Code cleanup: simplify code for color linear interpolation and float math 2014-01-14 22:55:02 +04:00
svm_musgrave.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_noise.h Cycles: less instructions for CPU perlin code 2014-02-01 14:07:53 +04:00
svm_noisetex.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_normal.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_ramp.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_sepcomb_hsv.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_sepcomb_rgb.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_sky.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_tex_coord.h Cycles Volume Render: generated texture coordinates for volume render. 2013-12-31 17:38:26 +01:00
svm_texture.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_types.h Code cleanup: Remove Debug closure declaration. 2014-02-09 14:41:45 +01:00
svm_value.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_vector_transform.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_voronoi.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_wave.h Cycles: Fix Wave texture difference between OSL and SVM, OSL wasn't using the "Scale" properly for distortion. 2014-01-13 22:01:39 +01:00
svm_wavelength.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_wireframe.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm.h Cycles Volume Render: add support for overlapping volume objects. 2013-12-28 20:12:11 +01:00