blender/intern/cycles/render
Mai Lavelle e7ea1ae78c Cycles microdisplacement: Improved automatic bump mapping
Object coordinates can now be used in the displacement shader and will give
correct results, where as before bump mapping was calculated from the displace
positions and resulted in incorrect shading.

This works by evaluating the shader in two parts, first bump then surface, and
setting the shader state to match what it would be if the surface was
undisplaced for the bump shader evaluation. Currently only `P` is set as if
undisplaced, but other shader variables could be set as well, such as `I` or
`time`. Since these aren't set to anything meaningful for displacement I left
them out of this patch, we can decide what to do with them separately.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D2156
2016-09-01 22:45:49 -04:00
..
attribute.cpp Cycles microdisplacement: Support for Catmull-Clark subdivision via OpenSubdiv 2016-08-07 11:13:11 -04:00
attribute.h Cycles microdisplacement: Support for Catmull-Clark subdivision via OpenSubdiv 2016-08-07 11:13:11 -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 unit tests for supported constant folding rules. 2016-08-01 18:53:20 +03:00
constant_fold.h Cycles: constant fold add/mul type nodes with known 0 and 1 arguments. 2016-07-31 02:34:34 +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 Cycles microdisplacement: Improved automatic bump mapping 2016-09-01 22:45:49 -04:00
graph.h Cycles: add ConstantFolder class for constant folding boilerplate. 2016-07-18 22:54:30 +02:00
image.cpp Revert "Cycles: Use half storage for 16bit files (e.g. 16bit pngs) as well." 2016-08-15 01:01:43 +02:00
image.h Cycles: Change code order for Image Data Types. 2016-08-11 22:30:03 +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 Fix T49010: Portals don't work in recent Blender versions 2016-08-03 12:38:25 +02:00
light.h Cycles: De-duplicate more checks around light emisive meshes 2016-07-28 12:28:31 +02:00
mesh_displace.cpp Cycles microdisplacement: Move displacement options from mesh to material settings 2016-08-07 14:15:20 -04:00
mesh_subdivision.cpp Cycles: Fix crash when empty mesh has subdivision 2016-08-24 10:39:00 -04:00
mesh.cpp Cycles: Store undisplaced coordinates for meshes when needed 2016-09-01 22:45:29 -04:00
mesh.h Cycles: Store undisplaced coordinates for meshes when needed 2016-09-01 22:45:29 -04:00
nodes.cpp Fix T49136: full constant Curves with zero Fac input crashes in assert. 2016-08-22 11:11:45 +03:00
nodes.h Cycles: constant folding for RGB/Vector Curves and Color Ramp. 2016-07-31 02:18:23 +02:00
object.cpp Fix T49163: let Cycles only hide particles with missing motion data, not regular objects. 2016-08-28 21:26:03 +02:00
object.h Fix T49163: let Cycles only hide particles with missing motion data, not regular objects. 2016-08-28 21:26:03 +02:00
osl.cpp Cycles microdisplacement: Improved automatic bump mapping 2016-09-01 22:45:49 -04: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: Add single channel texture support for OpenCL. 2016-08-14 20:21:08 +02:00
session.cpp Cycles microdisplacement: Allow kernels to be built without patch evaluation 2016-08-15 11:13:18 -04:00
session.h Cycles: Use explicit qualifier for single-argument constructors 2016-05-11 16:51:14 +02:00
shader.cpp Cycles microdisplacement: Improved automatic bump mapping 2016-09-01 22:45:49 -04:00
shader.h Cycles: remove duplicate shader storage 2016-09-01 22:44:42 -04:00
sobol.cpp Fix #29528: crash adding subsurf modifier in a particular scene with viewport render. 2011-12-08 21:55:35 +00:00
sobol.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm.cpp Cycles microdisplacement: Improved automatic bump mapping 2016-09-01 22:45:49 -04:00
svm.h Cycles microdisplacement: Improved automatic bump mapping 2016-09-01 22:45:49 -04: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