Cycles Hair: Strand Minimum Pixel Size
authorStuart Broadfoot <gbroadfoot@hotmail.com>
Mon, 15 Apr 2013 21:38:31 +0000 (21:38 +0000)
committerStuart Broadfoot <gbroadfoot@hotmail.com>
Mon, 15 Apr 2013 21:38:31 +0000 (21:38 +0000)
commit638b084f824bc345468bc8e02422b5da65a641a7
tree0e5e9cd1bcdc09492ac6c5966dcc2b7c28b5f96b
parentceb61eb14d86132522e38c238bf249dbeb84b237
Cycles Hair: Strand Minimum Pixel Size

Code is added to restrict the pixel size of strands in cycles. It works best with ribbon primitives and a preset for these is included. It uses distance dependent expansion of the strands and then stochastic strand removal to give a fading. To prevent a slowdown for triangle mesh objects in the BVH an extra visibility flag has been added. It is also only applied for camera rays.

The strand width settings are also changed, so that the particle size is not included in the width calculation. Instead there is a separate particle system parameter for width scaling.
17 files changed:
intern/cycles/blender/addon/properties.py
intern/cycles/blender/addon/ui.py
intern/cycles/blender/blender_curves.cpp
intern/cycles/bvh/bvh.cpp
intern/cycles/kernel/kernel_bvh.h
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_shader.h
intern/cycles/kernel/kernel_types.h
intern/cycles/kernel/svm/svm_geometry.h
intern/cycles/kernel/svm/svm_types.h
intern/cycles/render/camera.cpp
intern/cycles/render/camera.h
intern/cycles/render/curves.cpp
intern/cycles/render/curves.h
intern/cycles/render/nodes.cpp
intern/cycles/render/session.cpp
source/blender/nodes/shader/nodes/node_shader_hair_info.c