|
Blender V4.3
|
#include "util/color.h"Go to the source code of this file.
Classes | |
| struct | PatchHandle |
Typedefs | |
| typedef CCL_NAMESPACE_BEGIN struct PatchHandle | PatchHandle |
Based on code from OpenSubdiv.
Definition in file kernel/geom/patch.h.
| typedef CCL_NAMESPACE_BEGIN struct PatchHandle PatchHandle |
| ccl_device_inline void patch_eval_adjust_boundary_weights | ( | uint | bits, |
| ccl_private float * | s, | ||
| ccl_private float * | t ) |
Definition at line 120 of file kernel/geom/patch.h.
References ccl_device_inline, and ccl_private.
Referenced by patch_eval_basis().
| ccl_device_inline void patch_eval_basis | ( | KernelGlobals | kg, |
| ccl_private const PatchHandle * | handle, | ||
| float | u, | ||
| float | v, | ||
| float | weights[PATCH_MAX_CONTROL_VERTS], | ||
| float | weights_du[PATCH_MAX_CONTROL_VERTS], | ||
| float | weights_dv[PATCH_MAX_CONTROL_VERTS] ) |
Definition at line 206 of file kernel/geom/patch.h.
References ccl_device_inline, ccl_private, kernel_data_fetch, l, patch_eval_adjust_boundary_weights(), patch_eval_bspline_weights(), patch_eval_depth(), patch_eval_normalize_coords(), PATCH_MAX_CONTROL_VERTS, and v.
Referenced by patch_eval_control_verts().
| ccl_device_inline void patch_eval_bspline_weights | ( | float | t, |
| ccl_private float * | point, | ||
| ccl_private float * | deriv ) |
Definition at line 98 of file kernel/geom/patch.h.
References ccl_device_inline, ccl_private, and point.
Referenced by patch_eval_basis().
| ccl_device_inline int patch_eval_control_verts | ( | KernelGlobals | kg, |
| int | object, | ||
| int | patch, | ||
| float | u, | ||
| float | v, | ||
| int | channel, | ||
| int | indices[PATCH_MAX_CONTROL_VERTS], | ||
| float | weights[PATCH_MAX_CONTROL_VERTS], | ||
| float | weights_du[PATCH_MAX_CONTROL_VERTS], | ||
| float | weights_dv[PATCH_MAX_CONTROL_VERTS] ) |
Definition at line 245 of file kernel/geom/patch.h.
References PatchHandle::array_index, ccl_device_inline, indices, kernel_assert, patch_eval_basis(), patch_eval_indices(), patch_map_find_patch(), PATCH_MAX_CONTROL_VERTS, and v.
Referenced by patch_eval_float(), patch_eval_float2(), patch_eval_float3(), patch_eval_float4(), and patch_eval_uchar4().
| ccl_device_inline int patch_eval_depth | ( | uint | patch_bits | ) |
Definition at line 151 of file kernel/geom/patch.h.
References ccl_device_inline.
Referenced by patch_eval_basis(), and patch_eval_param_fraction().
| ccl_device float patch_eval_float | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| int | offset, | ||
| int | patch, | ||
| float | u, | ||
| float | v, | ||
| int | channel, | ||
| ccl_private float * | du, | ||
| ccl_private float * | dv ) |
Definition at line 267 of file kernel/geom/patch.h.
References ccl_device, ccl_private, indices, kernel_data_fetch, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, ShaderData, and v.
Referenced by subd_triangle_attribute_float().
| ccl_device float2 patch_eval_float2 | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| int | offset, | ||
| int | patch, | ||
| float | u, | ||
| float | v, | ||
| int | channel, | ||
| ccl_private float2 * | du, | ||
| ccl_private float2 * | dv ) |
Definition at line 308 of file kernel/geom/patch.h.
References ccl_device, ccl_private, indices, kernel_data_fetch, make_float2(), patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, ShaderData, and v.
Referenced by subd_triangle_attribute_float2().
| ccl_device float3 patch_eval_float3 | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| int | offset, | ||
| int | patch, | ||
| float | u, | ||
| float | v, | ||
| int | channel, | ||
| ccl_private float3 * | du, | ||
| ccl_private float3 * | dv ) |
Definition at line 347 of file kernel/geom/patch.h.
References ccl_device, ccl_private, indices, kernel_data_fetch, make_float3(), patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, ShaderData, and v.
Referenced by subd_triangle_attribute_float3().
| ccl_device float4 patch_eval_float4 | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| int | offset, | ||
| int | patch, | ||
| float | u, | ||
| float | v, | ||
| int | channel, | ||
| ccl_private float4 * | du, | ||
| ccl_private float4 * | dv ) |
Definition at line 388 of file kernel/geom/patch.h.
References ccl_device, ccl_private, indices, kernel_data_fetch, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, ShaderData, v, and zero_float4().
Referenced by subd_triangle_attribute_float4().
| ccl_device_inline int patch_eval_indices | ( | KernelGlobals | kg, |
| ccl_private const PatchHandle * | handle, | ||
| int | channel, | ||
| int | indices[PATCH_MAX_CONTROL_VERTS] ) |
Definition at line 189 of file kernel/geom/patch.h.
References ccl_device_inline, ccl_private, indices, kernel_data_fetch, and PATCH_MAX_CONTROL_VERTS.
Referenced by patch_eval_control_verts().
| ccl_device_inline void patch_eval_normalize_coords | ( | uint | patch_bits, |
| ccl_private float * | u, | ||
| ccl_private float * | v ) |
Definition at line 169 of file kernel/geom/patch.h.
References ccl_device_inline, ccl_private, float, frac(), patch_eval_param_fraction(), and v.
Referenced by patch_eval_basis().
| ccl_device_inline float patch_eval_param_fraction | ( | uint | patch_bits | ) |
Definition at line 156 of file kernel/geom/patch.h.
References ccl_device_inline, float, and patch_eval_depth().
Referenced by patch_eval_normalize_coords().
| ccl_device float4 patch_eval_uchar4 | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| int | offset, | ||
| int | patch, | ||
| float | u, | ||
| float | v, | ||
| int | channel, | ||
| ccl_private float4 * | du, | ||
| ccl_private float4 * | dv ) |
Definition at line 427 of file kernel/geom/patch.h.
References ccl_device, ccl_private, color_srgb_to_linear_v4(), color_uchar4_to_float4(), indices, kernel_data_fetch, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, ShaderData, v, and zero_float4().
Referenced by subd_triangle_attribute_float4().
| ccl_device_inline PatchHandle patch_map_find_patch | ( | KernelGlobals | kg, |
| int | object, | ||
| int | patch, | ||
| float | u, | ||
| float | v ) |
Definition at line 51 of file kernel/geom/patch.h.
References PatchHandle::array_index, kernel_assert, kernel_data_fetch, object_patch_map_offset(), PatchHandle::patch_index, PATCH_MAP_NODE_INDEX_MASK, PATCH_MAP_NODE_IS_LEAF, PATCH_MAP_NODE_IS_SET, patch_map_resolve_quadrant(), v, and PatchHandle::vert_index.
Referenced by patch_eval_control_verts().
| ccl_device_inline int patch_map_resolve_quadrant | ( | float | median, |
| ccl_private float * | u, | ||
| ccl_private float * | v ) |
Definition at line 19 of file kernel/geom/patch.h.
References ccl_device_inline, ccl_private, and v.
Referenced by patch_map_find_patch().