71 switch (
object.type) {
121 switch (
object.type) {
124 if (
const std::optional<bke::AttributeMetaData> meta_data =
125 mesh->attributes().lookup_meta_data(
".viewer"))
137 if (
const std::optional<bke::AttributeMetaData> meta_data =
138 pointcloud->
attributes().lookup_meta_data(
".viewer"))
151 Curve *curve =
static_cast<Curve *
>(
object.data);
154 if (
const std::optional<bke::AttributeMetaData> meta_data =
155 curves.attributes().lookup_meta_data(
".viewer"))
170 if (
const std::optional<bke::AttributeMetaData> meta_data =
171 curves.attributes().lookup_meta_data(
".viewer"))
174 bool is_point_domain;
176 curves_id,
".viewer", &is_point_domain);
196 const auto &instances =
198 if (
const std::optional<blender::bke::AttributeMetaData> meta_data =
199 instances.attributes()->lookup_meta_data(
".viewer"))
Low-level operations for curves.
CustomData interface, see also DNA_customdata_types.h.
#define CD_TYPE_AS_MASK(_type)
#define CD_MASK_PROP_QUATERNION
#define CD_MASK_PROP_FLOAT4X4
#define DRW_PASS_CREATE(pass, state)
#define DRW_shgroup_call_obmat(shgroup, geom, obmat)
#define DRW_shgroup_call(shgroup, geom, ob)
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a color
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its and value channels Color Retrieve a color attribute
struct GPUShader GPUShader
std::optional< AttributeAccessor > attributes() const final
local_group_size(16, 16) .push_constant(Type texture
blender::gpu::Batch * DRW_cache_curve_edge_wire_viewer_attribute_get(Object *ob)
blender::gpu::Batch * DRW_cache_curve_edge_wire_get(Object *ob)
blender::gpu::Batch * DRW_cache_mesh_surface_get(Object *ob)
blender::gpu::Batch * DRW_cache_mesh_loose_edges_get(Object *ob)
blender::gpu::Batch * DRW_cache_mesh_surface_viewer_attribute_get(Object *ob)
DupliObject * DRW_object_get_dupli(const Object *)
DRWShadingGroup * DRW_shgroup_create(GPUShader *shader, DRWPass *pass)
void DRW_shgroup_uniform_float_copy(DRWShadingGroup *shgroup, const char *name, const float value)
void DRW_shgroup_buffer_texture(DRWShadingGroup *shgroup, const char *name, blender::gpu::VertBuf *vertex_buffer)
DRWShadingGroup * DRW_shgroup_create_sub(DRWShadingGroup *shgroup)
void DRW_shgroup_buffer_texture_ref(DRWShadingGroup *shgroup, const char *name, blender::gpu::VertBuf **vertex_buffer)
void DRW_shgroup_uniform_vec4_copy(DRWShadingGroup *shgroup, const char *name, const float *value)
void DRW_shgroup_uniform_bool_copy(DRWShadingGroup *shgroup, const char *name, const bool value)
void DRW_draw_pass(DRWPass *pass)
@ DRW_STATE_DEPTH_LESS_EQUAL
struct @157336070235062372277311340362362342103123126032::@262166344314164341202215145112231240022370055142 batch
gpu::VertBuf ** DRW_curves_texture_for_evaluated_attribute(Curves *curves, const char *name, bool *r_is_point_domain)
DRWShadingGroup * DRW_shgroup_curves_create_sub(Object *object, DRWShadingGroup *shgrp, GPUMaterial *gpu_material)
DRWShadingGroup * DRW_shgroup_pointcloud_create_sub(Object *object, DRWShadingGroup *shgrp_parent, GPUMaterial *gpu_material)
gpu::VertBuf ** DRW_pointcloud_evaluated_attribute(PointCloud *pointcloud, const char *name)
GPUShader * OVERLAY_shader_uniform_color()
GPUShader * OVERLAY_shader_uniform_color_pointcloud()
GPUShader * OVERLAY_shader_viewer_attribute_curve()
GPUShader * OVERLAY_shader_viewer_attribute_pointcloud()
GPUShader * OVERLAY_shader_viewer_attribute_curves()
GPUShader * OVERLAY_shader_viewer_attribute_mesh()
static bool attribute_type_supports_viewer_overlay(const eCustomDataType data_type)
static void populate_cache_for_geometry(Object &object, OVERLAY_PrivateData &pd, const float opacity)
void OVERLAY_viewer_attribute_draw(OVERLAY_Data *vedata)
void OVERLAY_viewer_attribute_cache_populate(OVERLAY_Data *vedata, Object *object)
static void populate_cache_for_instance(Object &object, OVERLAY_PrivateData &pd, const DupliObject &dupli_object, const float opacity)
void OVERLAY_viewer_attribute_cache_init(OVERLAY_Data *vedata)
ColorSceneLinear4f< eAlpha::Premultiplied > ColorGeometry4f
const struct Curves * curve_eval
const blender::bke::GeometrySet * preview_base_geometry
int preview_instance_index
const GeometryComponent * get_component(GeometryComponent::Type component_type) const
OVERLAY_StorageList * stl
DRWShadingGroup * viewer_attribute_instance_grp
DRWShadingGroup * viewer_attribute_pointcloud_grp
DRWShadingGroup * viewer_attribute_curve_grp
DRWShadingGroup * viewer_attribute_instance_pointcloud_grp
DRWShadingGroup * viewer_attribute_mesh_grp
DRWShadingGroup * viewer_attribute_curves_grp
float viewer_attribute_opacity
const GeometryComponent * get_component(GeometryComponent::Type component_type) const