Blender V5.0
draw_curves.cc File Reference

Contains procedural GPU hair drawing methods. More...

#include "BLT_translation.hh"
#include "DNA_curves_types.h"
#include "BLI_math_base.h"
#include "BKE_attribute.hh"
#include "BKE_curves.hh"
#include "GPU_batch.hh"
#include "GPU_capabilities.hh"
#include "GPU_material.hh"
#include "GPU_shader.hh"
#include "GPU_texture.hh"
#include "GPU_vertex_buffer.hh"
#include "DRW_gpu_wrapper.hh"
#include "DRW_render.hh"
#include "draw_cache_impl.hh"
#include "draw_common.hh"
#include "draw_context_private.hh"
#include "draw_curves_defines.hh"
#include "draw_curves_private.hh"
#include "draw_hair_private.hh"
#include "draw_shader.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::draw

Typedefs

using blender::draw::CurvesInfosBuf = UniformBuffer<CurvesInfos>

Functions

void blender::draw::DRW_curves_init (DRWData *drw_data=nullptr)
void blender::draw::DRW_curves_begin_sync (DRWData *drw_data)
void blender::draw::DRW_curves_module_free (draw::CurvesModule *module)
static int blender::draw::attribute_index_in_material (const GPUMaterial *gpu_material, const StringRef name, bool is_curve_length=false, bool is_curve_intercept=false)
void blender::draw::DRW_curves_update (draw::Manager &manager)
gpu::VertBufblender::draw::curves_pos_buffer_get (Object *object)
static std::optional< StringRefblender::draw::get_first_uv_name (const bke::AttributeAccessor &attributes)
static bool blender::draw::set_attribute_type (const GPUMaterial *gpu_material, const StringRef name, CurvesInfosBuf &curves_infos, const bool is_point_domain)
template<typename PassT>
void blender::draw::curves_bind_resources_implementation (PassT &sub_ps, CurvesModule &module, CurvesEvalCache &cache, const int face_per_segment, GPUMaterial *gpu_material, gpu::VertBufPtr &indirection_buf, const std::optional< StringRef > uv_name)
void blender::draw::curves_bind_resources (PassMain::Sub &sub_ps, CurvesModule &module, CurvesEvalCache &cache, const int face_per_segment, GPUMaterial *gpu_material, gpu::VertBufPtr &indirection_buf, const std::optional< StringRef > active_uv_name)
template<typename PassT>
gpu::Batch * blender::draw::curves_sub_pass_setup_implementation (PassT &sub_ps, const Scene *scene, Object *ob, const char *&r_error, GPUMaterial *gpu_material=nullptr)
gpu::Batch * blender::draw::curves_sub_pass_setup (PassMain::Sub &ps, const Scene *scene, Object *ob, const char *&r_error, GPUMaterial *gpu_material=nullptr)

Detailed Description

Contains procedural GPU hair drawing methods.

Definition in file draw_curves.cc.