blender/intern/cycles/render
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
..
attribute.cpp Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
attribute.h Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
background.cpp Fix Cycles debug build assert on some platforms, tighten checks to avoid this in the future. 2016-06-12 17:35:15 +02:00
background.h Code refactor: minor node and node type utility functions and changes. 2016-05-29 20:30:16 +02:00
bake.cpp Fix T46207: Slow OpenCL GPU bake and blown out baking Cycles render 2016-05-31 17:48:42 +02:00
bake.h Fix T46550: Cycles combined baking black in some cases. 2016-02-06 21:02:02 +01:00
buffers.cpp Code refactor: nodify Cycles background and film. 2016-05-22 17:29:25 +02:00
buffers.h Code refactor: nodify Cycles background and film. 2016-05-22 17:29:25 +02:00
camera.cpp Fix Cycles debug build assert on some platforms, tighten checks to avoid this in the future. 2016-06-12 17:35:15 +02:00
camera.h Code refactor: minor node and node type utility functions and changes. 2016-05-29 20:30:16 +02:00
CMakeLists.txt Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
constant_fold.cpp Cycles: add ConstantFolder class for constant folding boilerplate. 2016-07-18 22:54:30 +02:00
constant_fold.h Cycles: add ConstantFolder class for constant folding boilerplate. 2016-07-18 22:54:30 +02:00
curves.cpp Cycles: Code cleanup, prepare for strict C++ flags 2015-03-27 18:23:31 +05:00
curves.h Code refactor: modify mesh storage to use arrays rather than vectors, separate some arrays. 2016-05-28 18:31:00 +02:00
film.cpp Code refactor: minor node and node type utility functions and changes. 2016-05-29 20:30:16 +02:00
film.h Code refactor: nodify Cycles background and film. 2016-05-22 17:29:25 +02:00
graph.cpp Fix another Cycles OSL script node issue with shaders using bump. 2016-07-21 04:40:28 +02:00
graph.h Cycles: add ConstantFolder class for constant folding boilerplate. 2016-07-18 22:54:30 +02:00
image.cpp Fix use of uninitialized variable in Cycles OpenCL image textures. 2016-07-02 21:54:49 +02:00
image.h Fix Cycles OpenCL not taking Extend and Clip extension types into account. 2016-07-01 23:48:31 +02:00
integrator.cpp Cycles: Fix wrong size of sobol texture 2016-07-14 11:26:20 +02:00
integrator.h Code refactor: minor node and node type utility functions and changes. 2016-05-29 20:30:16 +02:00
light.cpp Cycles: Fix missing mesh flags update when tweaking shaders 2016-07-28 12:37:44 +02:00
light.h Cycles: De-duplicate more checks around light emisive meshes 2016-07-28 12:28:31 +02:00
mesh_displace.cpp Code refactor: modify mesh storage to use arrays rather than vectors, separate some arrays. 2016-05-28 18:31:00 +02:00
mesh_subdivision.cpp Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
mesh.cpp Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
mesh.h Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
nodes.cpp Fix use of uninitialized variable in Cycles, mostly harmless. 2016-07-29 03:29:02 +02:00
nodes.h Cycles: Style, placement of asteric in pointers 2016-07-27 14:10:09 +02:00
object.cpp Cleanup: comment blocks 2016-07-15 02:39:45 +10:00
object.h Cycles: Ignore zero size instances in BVH 2016-06-06 09:23:53 +02:00
osl.cpp Cycles: Fix unhandled enumerator in OSL switch 2016-06-13 10:15:39 +02:00
osl.h Cycles: nodify shader nodes 2016-06-11 20:32:24 +02:00
particles.cpp Code refactor: modify mesh storage to use arrays rather than vectors, separate some arrays. 2016-05-28 18:31:00 +02:00
particles.h Code refactor: modify mesh storage to use arrays rather than vectors, separate some arrays. 2016-05-28 18:31:00 +02:00
scene.cpp Cycles: add support for motion blurring of fluid meshes. 2016-07-18 22:40:08 +02:00
scene.h Cycles microdisplacement: ngons and attributes for subdivision meshes 2016-07-29 03:36:30 -04:00
session.cpp Code refactor: modify mesh storage to use arrays rather than vectors, separate some arrays. 2016-05-28 18:31:00 +02:00
session.h Cycles: Use explicit qualifier for single-argument constructors 2016-05-11 16:51:14 +02:00
shader.cpp Cycles: nodify shader nodes 2016-06-11 20:32:24 +02:00
shader.h Code refactor: nodify Cycles shader and lights. 2016-05-22 17:29:25 +02:00
sobol.cpp
sobol.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm.cpp Cycles: Fix wrong order of light manager update tag 2016-07-28 12:31:01 +02:00
svm.h Code refactor: make ShaderNode match Node a bit more, reusing types and enums. 2016-05-28 15:49:15 +02:00
tables.cpp Cycles: Fix two small memory leaks and deduplicate table freeing 2016-05-08 17:44:03 +02:00
tables.h Cycles: Fix two small memory leaks and deduplicate table freeing 2016-05-08 17:44:03 +02:00
tile.cpp Cycles: Resumable render implementation for Cycles 2016-03-30 16:02:27 +02:00
tile.h Cycles: Resumable render implementation for Cycles 2016-03-30 16:02:27 +02:00