Blender
V3.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 | ||
) |
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 204 of file kernel/geom/patch.h.
References kernel_data_fetch, l, patch_eval_adjust_boundary_weights(), patch_eval_bspline_weights(), patch_eval_depth(), patch_eval_normalize_coords(), t, 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 96 of file kernel/geom/patch.h.
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 243 of file kernel/geom/patch.h.
References PatchHandle::array_index, indices, kernel_assert, patch_eval_basis(), patch_eval_indices(), patch_map_find_patch(), 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 149 of file kernel/geom/patch.h.
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 265 of file kernel/geom/patch.h.
References indices, kernel_data_fetch, offset, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, 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 302 of file kernel/geom/patch.h.
References indices, kernel_data_fetch, make_float2, offset, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, 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 339 of file kernel/geom/patch.h.
References indices, kernel_data_fetch, make_float3, offset, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, 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 376 of file kernel/geom/patch.h.
References indices, kernel_data_fetch, offset, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, 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 187 of file kernel/geom/patch.h.
References indices, and kernel_data_fetch.
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 167 of file kernel/geom/patch.h.
References float(), CCL_NAMESPACE_BEGIN::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 154 of file kernel/geom/patch.h.
References 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 413 of file kernel/geom/patch.h.
References color_srgb_to_linear_v4(), color_uchar4_to_float4(), indices, kernel_data_fetch, offset, patch_eval_control_verts(), PATCH_MAX_CONTROL_VERTS, 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 50 of file kernel/geom/patch.h.
References PatchHandle::array_index, kernel_assert, kernel_data_fetch, node, 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 18 of file kernel/geom/patch.h.
References v.
Referenced by patch_map_find_patch().