Blender V4.3
draw_curves.cc File Reference

Contains procedural GPU hair drawing methods. More...

#include "BLI_string_utils.hh"
#include "BLI_utildefines.h"
#include "DNA_curves_types.h"
#include "BKE_attribute.hh"
#include "BKE_curves.hh"
#include "BKE_customdata.hh"
#include "GPU_batch.hh"
#include "GPU_capabilities.hh"
#include "GPU_compute.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_curves_private.hh"
#include "draw_hair_private.hh"
#include "draw_manager_c.hh"
#include "draw_shader.hh"

Go to the source code of this file.

Classes

struct  blender::draw::CurvesEvalCall
 
struct  blender::draw::CurvesUniformBufPool
 

Namespaces

namespace  blender
 
namespace  blender::draw
 

Typedefs

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

Functions

static void blender::draw::drw_curves_ensure_dummy_vbo ()
 
void blender::draw::DRW_curves_init (DRWData *drw_data)
 
void blender::draw::DRW_curves_ubos_pool_free (CurvesUniformBufPool *pool)
 
static void blender::draw::drw_curves_cache_shgrp_attach_resources (DRWShadingGroup *shgrp, CurvesEvalCache *cache, gpu::VertBuf *point_buf)
 
static void blender::draw::drw_curves_cache_update_compute (CurvesEvalCache *cache, const int curves_num, gpu::VertBuf *output_buf, gpu::VertBuf *input_buf)
 
static void blender::draw::drw_curves_cache_update_compute (CurvesEvalCache *cache)
 
static CurvesEvalCacheblender::draw::drw_curves_cache_get (Curves &curves, GPUMaterial *gpu_material, int subdiv, int thickness_res)
 
gpu::VertBufblender::draw::DRW_curves_pos_buffer_get (Object *object)
 
static int blender::draw::attribute_index_in_material (GPUMaterial *gpu_material, const char *name)
 
DRWShadingGroupblender::draw::DRW_shgroup_curves_create_sub (Object *object, DRWShadingGroup *shgrp, GPUMaterial *gpu_material)
 
void blender::draw::DRW_curves_update ()
 
void blender::draw::DRW_curves_free ()
 
void blender::draw::curves_init ()
 
static CurvesEvalCacheblender::draw::curves_cache_get (Curves &curves, GPUMaterial *gpu_material, int subdiv, int thickness_res)
 
gpu::VertBufblender::draw::curves_pos_buffer_get (Scene *scene, Object *object)
 
void blender::draw::curves_update (Manager &manager)
 
void blender::draw::curves_free ()
 
template<typename PassT >
gpu::Batch * blender::draw::curves_sub_pass_setup_implementation (PassT &sub_ps, const Scene *scene, Object *ob, GPUMaterial *gpu_material)
 
gpu::Batch * blender::draw::curves_sub_pass_setup (PassMain::Sub &ps, const Scene *scene, Object *ob, GPUMaterial *gpu_material=nullptr)
 

Variables

static gpu::VertBufblender::draw::g_dummy_vbo = nullptr
 
static DRWPassblender::draw::g_tf_pass
 
static PassSimpleblender::draw::g_pass = nullptr
 

Detailed Description

Contains procedural GPU hair drawing methods.

Definition in file draw_curves.cc.