blender/intern/cycles/util
Mai Lavelle c96ae81160 Cycles microdisplacement: ngons and attributes for subdivision meshes
This adds support for ngons and attributes on subdivision meshes. Ngons are
needed for proper attribute interpolation as well as correct Catmull-Clark
subdivision. Several changes are made to achieve this:

- new primitive `SubdFace` added to `Mesh`
- 3 more textures are used to store info on patches from subd meshes
- Blender export uses loop interface instead of tessface for subd meshes
- `Attribute` class is updated with a simplified way to pass primitive counts
  around and to support ngons.
- extra points for ngons are generated for O(1) attribute interpolation
- curves are temporally disabled on subd meshes to avoid various bugs with
  implementation
- old unneeded code is removed from `subd/`
- various fixes and improvements

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D2108
2016-07-29 03:36:30 -04:00
..
CMakeLists.txt Cycles: Add support of processor groups 2016-06-06 09:14:37 +02:00
util_algorithm.h
util_aligned_malloc.cpp Cycles: Some cleanup, should be no functional changes 2016-02-16 15:33:00 +01:00
util_aligned_malloc.h
util_args.h
util_atomic.h Cycles: Code cleanup, spaces around keyword and brace 2015-06-01 19:49:52 +05:00
util_boundbox.h Cycles: Implement unaligned nodes BVH builder 2016-07-07 17:25:48 +02:00
util_color.h
util_debug.cpp Cycles: Make CUDA adaptive feature compile a Debug flag. 2016-05-06 23:13:33 +02:00
util_debug.h Cycles: Use explicit qualifier for single-argument constructors 2016-05-11 16:51:14 +02:00
util_foreach.h Optionally use c++11 stuff instead of boost in cycles where possible. We do and continue to depend on boost though 2015-03-29 22:12:40 +02:00
util_function.h Cycles: Correction to previous commit: non-msvc compilers also should use nullptr 2015-03-30 15:17:09 +05:00
util_guarded_allocator.cpp
util_guarded_allocator.h Cycles: Stop rendering when bad_alloc happens 2016-04-20 16:19:49 +02:00
util_half.h Cycles: Support half and half4 textures. 2016-06-19 17:31:16 +02:00
util_hash.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
util_image.h
util_list.h
util_logging.cpp
util_logging.h Cycles: Log whch optimizations are used for CPU kernels 2016-01-06 20:25:19 +05:00
util_map.h Optionally use c++11 stuff instead of boost in cycles where possible. We do and continue to depend on boost though 2015-03-29 22:12:40 +02:00
util_math_cdf.cpp Cycles: Support user-defined shutter curve 2015-10-28 02:43:06 +05:00
util_math_cdf.h Cycles: Fix compilation error with MSVC 2015-10-28 17:33:31 +05:00
util_math_fast.h Cycles: Fix three numerical issues in the fresnel, normal map and Beckmann code 2016-07-16 20:54:14 +02:00
util_math.h Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
util_md5.cpp Cycles: Cleanup, indentation and braces 2016-02-03 15:00:55 +01:00
util_md5.h Cycles: add utility function to calculate MD5 hash of a given string 2015-11-21 22:07:59 +05:00
util_opengl.h
util_optimization.h Cycles: Minor cleanup, whitespace around keyword and preprocessor indent 2016-04-13 08:58:52 +02:00
util_param.h
util_path.cpp Cycles: Use explicit qualifier for single-argument constructors 2016-05-11 16:51:14 +02:00
util_path.h Cycles: Re-implement some utilities to avoid use of boost 2016-02-06 19:19:20 +01:00
util_progress.h Fix Cycles compile errors with GCC due to double promotion as errors. 2016-05-22 19:17:22 +02:00
util_queue.h Cycles: Avoid recursion when doing constant fold 2015-12-02 16:19:39 +05:00
util_set.h Cycles: Re-implement some utilities to avoid use of boost 2016-02-06 19:19:20 +01:00
util_simd.cpp Cycles: Add an option to build single kernel only which fits current CPU 2016-03-25 16:09:05 +01:00
util_simd.h Cycles: Move non-vectorized bitscan() to util 2016-03-31 10:06:21 +02:00
util_sky_model_data.h Cleanup: Move Cycles sky model data to util. 2016-02-13 13:41:40 +01:00
util_sky_model.cpp Fix Cycles compile errors with GCC due to double promotion as errors. 2016-05-22 19:17:22 +02:00
util_sky_model.h Cleanup: Move Cycles sky model data to util. 2016-02-13 13:41:40 +01:00
util_sseb.h Cycles: add better specializations for SSE shuffle function and few more wrappers. 2015-03-07 17:25:21 +00:00
util_ssef.h Cycles: Cleanup, indentation and braces 2016-02-03 15:00:55 +01:00
util_ssei.h Cycles: add better specializations for SSE shuffle function and few more wrappers. 2015-03-07 17:25:21 +00:00
util_stack_allocator.h Cycles: Fix issues with stack allocator in MSVC 2016-04-25 13:50:27 +02:00
util_stats.h
util_string.cpp Cycles: Fix corner case of human readable number returning empty string 2016-06-27 13:49:25 +05:00
util_string.h Cycles: Add human readable sizes to debug output 2016-05-31 06:13:54 -04:00
util_system.cpp Cycles: Fix compilation error on OSX 2016-06-06 13:52:57 +02:00
util_system.h Cycles: Add support of processor groups 2016-06-06 09:14:37 +02:00
util_task.cpp Cycles: Add support of processor groups 2016-06-06 09:14:37 +02:00
util_task.h Cycles: Use explicit qualifier for single-argument constructors 2016-05-11 16:51:14 +02:00
util_texture.h Cycles: Support half and half4 textures. 2016-06-19 17:31:16 +02:00
util_thread.cpp Cycles: Add support of processor groups 2016-06-06 09:14:37 +02:00
util_thread.h Cycles: Add support of processor groups 2016-06-06 09:14:37 +02:00
util_time.cpp Cycles: Re-implement some utilities to avoid use of boost 2016-02-06 19:19:20 +01:00
util_time.h Cycles: Use explicit qualifier for single-argument constructors 2016-05-11 16:51:14 +02:00
util_transform.cpp Fix Cycles compile errors with GCC due to double promotion as errors. 2016-05-22 19:17:22 +02:00
util_transform.h Fix T48808: Regression: Cycles OpenCL broken after Hair BVH commit 2016-07-08 09:41:36 +02:00
util_types.h Cycles: Use utility define for restrict pointers 2016-07-11 13:58:47 +02:00
util_vector.h Code refactor: add generic Cycles node infrastructure. 2016-05-22 17:29:24 +02:00
util_version.h Cleanup string includes after versioning commits 2016-04-13 09:45:32 +02:00
util_view.cpp Fix Cycles compile errors with GCC due to double promotion as errors. 2016-05-22 19:17:22 +02:00
util_view.h
util_windows.cpp Fix compilation error on 32 bit Windows 2016-06-06 14:01:49 +02:00
util_windows.h Cycles: Add support of processor groups 2016-06-06 09:14:37 +02:00
util_xml.h