Blender V4.3
blender::ed::greasepencil::image_render Namespace Reference

Classes

struct  RegionViewData
 

Functions

RegionViewData region_init (ARegion &region, const int2 &win_size)
 
void region_reset (ARegion &region, const RegionViewData &data)
 
GPUOffScreenimage_render_begin (const int2 &win_size)
 
Imageimage_render_end (Main &bmain, GPUOffScreen *buffer)
 
void compute_view_matrices (const ViewContext &view_context, const Scene &scene, const int2 &win_size, const float2 &zoom, const float2 &offset)
 
void set_view_matrix (const RegionView3D &rv3d)
 
void clear_view_matrix ()
 
void set_projection_matrix (const RegionView3D &rv3d)
 
void clear_projection_matrix ()
 
void draw_dot (const float4x4 &transform, const float3 &position, const float point_size, const ColorGeometry4f &color)
 
void draw_polyline (const float4x4 &transform, const IndexRange indices, Span< float3 > positions, const VArray< ColorGeometry4f > &colors, const bool cyclic, const float line_width)
 
static GPUUniformBuf * create_shader_ubo (const RegionView3D &rv3d, const int2 &win_size, const Object &object, const eGPDstroke_Caps cap_start, const eGPDstroke_Caps cap_end, const bool is_fill_stroke)
 
static void draw_grease_pencil_stroke (const float4x4 &transform, const RegionView3D &rv3d, const int2 &win_size, const Object &object, const IndexRange indices, Span< float3 > positions, const VArray< float > &radii, const VArray< ColorGeometry4f > &colors, const bool cyclic, const eGPDstroke_Caps cap_start, const eGPDstroke_Caps cap_end, const bool fill_stroke, const float radius_scale)
 
static void draw_dots (const float4x4 &transform, const IndexRange indices, Span< float3 > positions, const VArray< float > &radii, const VArray< ColorGeometry4f > &colors, const float radius_scale)
 
void draw_circles (const float4x4 &transform, const IndexRange indices, Span< float3 > centers, const VArray< float > &radii, const VArray< ColorGeometry4f > &colors, const float2 &viewport_size, const float line_width, const bool fill)
 
void draw_lines (const float4x4 &transform, IndexRange indices, Span< float3 > start_positions, Span< float3 > end_positions, const VArray< ColorGeometry4f > &colors, float line_width)
 
void draw_grease_pencil_strokes (const RegionView3D &rv3d, const int2 &win_size, const Object &object, const bke::greasepencil::Drawing &drawing, const float4x4 &transform, const IndexMask &strokes_mask, const VArray< ColorGeometry4f > &colors, const bool use_xray, const float radius_scale)
 

Variables

constexpr const bool enable_debug_gpu_capture = true
 
constexpr const float min_stroke_thickness = 0.05f
 

Function Documentation

◆ clear_projection_matrix()

void blender::ed::greasepencil::image_render::clear_projection_matrix ( )

◆ clear_view_matrix()

void blender::ed::greasepencil::image_render::clear_view_matrix ( )

◆ compute_view_matrices()

void blender::ed::greasepencil::image_render::compute_view_matrices ( const ViewContext & view_context,
const Scene & scene,
const int2 & win_size,
const float2 & zoom,
const float2 & offset )

Set up the view matrix for world space rendering.

Parameters
win_sizeSize of the render window.
zoomZoom factor to render a smaller or larger part of the view.
offsetOffset of the view relative to the overall size.

Definition at line 126 of file grease_pencil_image_render.cc.

References ViewContext::depsgraph, ED_view3d_update_viewmat(), ED_view3d_viewplane_get(), orthographic_m4(), perspective_m4(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), ViewContext::region, ViewContext::rv3d, ViewContext::v3d, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ create_shader_ubo()

static GPUUniformBuf * blender::ed::greasepencil::image_render::create_shader_ubo ( const RegionView3D & rv3d,
const int2 & win_size,
const Object & object,
const eGPDstroke_Caps cap_start,
const eGPDstroke_Caps cap_end,
const bool is_fill_stroke )
static

◆ draw_circles()

◆ draw_dot()

void blender::ed::greasepencil::image_render::draw_dot ( const float4x4 & transform,
const float3 & position,
float point_size,
const ColorGeometry4f & color )

◆ draw_dots()

◆ draw_grease_pencil_stroke()

static void blender::ed::greasepencil::image_render::draw_grease_pencil_stroke ( const float4x4 & transform,
const RegionView3D & rv3d,
const int2 & win_size,
const Object & object,
const IndexRange indices,
Span< float3 > positions,
const VArray< float > & radii,
const VArray< ColorGeometry4f > & colors,
const bool cyclic,
const eGPDstroke_Caps cap_start,
const eGPDstroke_Caps cap_end,
const bool fill_stroke,
const float radius_scale )
static

◆ draw_grease_pencil_strokes()

◆ draw_lines()

void blender::ed::greasepencil::image_render::draw_lines ( const float4x4 & transform,
IndexRange indices,
Span< float3 > start_positions,
Span< float3 > end_positions,
const VArray< ColorGeometry4f > & colors,
float line_width )

◆ draw_polyline()

void blender::ed::greasepencil::image_render::draw_polyline ( const float4x4 & transform,
IndexRange indices,
Span< float3 > positions,
const VArray< ColorGeometry4f > & colors,
bool cyclic,
float line_width )

◆ image_render_begin()

◆ image_render_end()

◆ region_init()

RegionViewData blender::ed::greasepencil::image_render::region_init ( ARegion & region,
const int2 & win_size )

Set up region to match the render buffer size.

Definition at line 44 of file grease_pencil_image_render.cc.

References data.

◆ region_reset()

void blender::ed::greasepencil::image_render::region_reset ( ARegion & region,
const RegionViewData & data )

Restore original region size after rendering.

Definition at line 59 of file grease_pencil_image_render.cc.

◆ set_projection_matrix()

void blender::ed::greasepencil::image_render::set_projection_matrix ( const RegionView3D & rv3d)

◆ set_view_matrix()

void blender::ed::greasepencil::image_render::set_view_matrix ( const RegionView3D & rv3d)

Definition at line 187 of file grease_pencil_image_render.cc.

References GPU_matrix_set, and RegionView3D::viewmat.

Referenced by draw_grease_pencil_strokes().

Variable Documentation

◆ enable_debug_gpu_capture

const bool blender::ed::greasepencil::image_render::enable_debug_gpu_capture = true
constexpr

Definition at line 42 of file grease_pencil_image_render.cc.

Referenced by image_render_begin(), and image_render_end().

◆ min_stroke_thickness

const float blender::ed::greasepencil::image_render::min_stroke_thickness = 0.05f
constexpr

Definition at line 284 of file grease_pencil_image_render.cc.

Referenced by draw_dots(), and draw_grease_pencil_stroke().