50 #define GPENCIL_PIXEL_FACTOR 2000.0f
53 #define GPENCIL_VBO_BLOCK_SIZE 128
55 #define GP_MAX_MASKBITS 256
71 #define GP_STROKE_ALIGNMENT_STROKE 1
72 #define GP_STROKE_ALIGNMENT_OBJECT 2
73 #define GP_STROKE_ALIGNMENT_FIXED 3
74 #define GP_STROKE_ALIGNMENT 0x3
75 #define GP_STROKE_OVERLAP (1 << 2)
76 #define GP_STROKE_TEXTURE_USE (1 << 3)
77 #define GP_STROKE_TEXTURE_STENCIL (1 << 4)
78 #define GP_STROKE_TEXTURE_PREMUL (1 << 5)
79 #define GP_STROKE_DOTS (1 << 6)
80 #define GP_STROKE_HOLDOUT (1 << 7)
81 #define GP_FILL_HOLDOUT (1 << 8)
82 #define GP_FILL_TEXTURE_USE (1 << 10)
83 #define GP_FILL_TEXTURE_PREMUL (1 << 11)
84 #define GP_FILL_TEXTURE_CLIP (1 << 12)
85 #define GP_FILL_GRADIENT_USE (1 << 13)
86 #define GP_FILL_GRADIENT_RADIAL (1 << 14)
88 #define GPENCIL_LIGHT_BUFFER_LEN 128
101 #define GP_LIGHT_TYPE_POINT 0.0
102 #define GP_LIGHT_TYPE_SPOT 1.0
103 #define GP_LIGHT_TYPE_SUN 2.0
104 #define GP_LIGHT_TYPE_AMBIENT 3.0
#define BLI_STATIC_ASSERT_ALIGN(st, align)
struct Depsgraph Depsgraph
#define GP_MATERIAL_BUFFER_LEN
struct GPUFrameBuffer GPUFrameBuffer
struct GPUShader GPUShader
struct GPUTexture GPUTexture
const Depsgraph * depsgraph
struct GPENCIL_Data GPENCIL_Data
struct GPUShader * GPENCIL_shader_fx_colorize_get(void)
void gpencil_vfx_cache_populate(GPENCIL_Data *vedata, Object *ob, GPENCIL_tObject *tgp_ob)
void GPENCIL_antialiasing_draw(struct GPENCIL_Data *vedata)
struct GPUShader * GPENCIL_shader_layer_blend_get(void)
struct GPUShader * GPENCIL_shader_fx_composite_get(void)
GPENCIL_tLayer * gpencil_layer_cache_get(GPENCIL_tObject *tgp_ob, int number)
void gpencil_material_resources_get(GPENCIL_MaterialPool *first_pool, int mat_id, struct GPUTexture **r_tex_stroke, struct GPUTexture **r_tex_fill, struct GPUUniformBuf **r_ubo_mat)
struct GPENCIL_tVfx GPENCIL_tVfx
void gpencil_light_pool_populate(GPENCIL_LightPool *lightpool, Object *ob)
struct GPENCIL_tObject GPENCIL_tObject
void GPENCIL_engine_init(void *vedata)
struct GPENCIL_FramebufferList GPENCIL_FramebufferList
void GPENCIL_antialiasing_init(struct GPENCIL_Data *vedata)
struct GpencilBatchCache * gpencil_batch_cache_get(struct Object *ob, int cfra)
GPENCIL_ViewLayerData * GPENCIL_view_layer_data_ensure(void)
struct GPUShader * GPENCIL_shader_mask_invert_get(void)
void GPENCIL_cache_init(void *vedata)
void GPENCIL_cache_finish(void *vedata)
GPENCIL_LightPool * gpencil_light_pool_add(GPENCIL_PrivateData *pd)
struct GPENCIL_ViewLayerData GPENCIL_ViewLayerData
void GPENCIL_cache_populate(void *vedata, struct Object *ob)
GPENCIL_tLayer * gpencil_layer_cache_add(GPENCIL_PrivateData *pd, const Object *ob, const bGPDlayer *gpl, const bGPDframe *gpf, GPENCIL_tObject *tgp_ob)
struct gpMaterial gpMaterial
struct GPENCIL_MaterialPool GPENCIL_MaterialPool
struct GPUShader * GPENCIL_shader_fx_shadow_get(void)
struct GPENCIL_PassList GPENCIL_PassList
struct GPENCIL_tLayer GPENCIL_tLayer
void gpencil_light_pool_free(void *storage)
struct GPUShader * GPENCIL_shader_fx_transform_get(void)
void GPENCIL_shader_free(void)
#define GPENCIL_LIGHT_BUFFER_LEN
GPENCIL_LightPool * gpencil_light_pool_create(GPENCIL_PrivateData *pd, Object *ob)
void GPENCIL_render_init(struct GPENCIL_Data *ved, struct RenderEngine *engine, struct RenderLayer *render_layer, const struct Depsgraph *depsgraph, const rcti *rect)
struct GPENCIL_StorageList GPENCIL_StorageList
void gpencil_material_pool_free(void *storage)
struct GPUShader * GPENCIL_shader_fx_rim_get(void)
struct GPUShader * GPENCIL_shader_fx_pixelize_get(void)
struct GPUShader * GPENCIL_shader_fx_blur_get(void)
void gpencil_object_cache_sort(GPENCIL_PrivateData *pd)
struct GPENCIL_LightPool GPENCIL_LightPool
DrawEngineType draw_engine_gpencil_type
struct GPENCIL_TextureList GPENCIL_TextureList
GPENCIL_MaterialPool * gpencil_material_pool_create(GPENCIL_PrivateData *pd, Object *ob, int *ofs)
struct GPUShader * GPENCIL_shader_antialiasing(int stage)
void gpencil_light_ambient_add(GPENCIL_LightPool *lightpool, const float color[3])
struct GPUShader * GPENCIL_shader_geometry_get(void)
void GPENCIL_draw_scene(void *vedata)
void GPENCIL_render_to_image(void *vedata, struct RenderEngine *engine, struct RenderLayer *render_layer, const rcti *rect)
struct GPUShader * GPENCIL_shader_fx_glow_get(void)
struct GPUShader * GPENCIL_shader_depth_merge_get(void)
struct GPENCIL_PrivateData GPENCIL_PrivateData
GPENCIL_tObject * gpencil_object_cache_add(GPENCIL_PrivateData *pd, Object *ob)
struct GPENCIL_TextureList * txl
struct GPENCIL_PassList * psl
struct GPENCIL_StorageList * stl
struct GPENCIL_FramebufferList * fbl
struct GPUFrameBuffer * smaa_weight_fb
struct GPUFrameBuffer * render_fb
struct GPUFrameBuffer * smaa_edge_fb
struct GPUFrameBuffer * snapshot_fb
struct GPUFrameBuffer * mask_fb
struct GPUFrameBuffer * gpencil_fb
struct GPUFrameBuffer * object_fb
struct GPUFrameBuffer * layer_fb
gpLight light_data[GPENCIL_LIGHT_BUFFER_LEN]
struct GPUUniformBuf * ubo
struct GPUUniformBuf * ubo
struct GPENCIL_MaterialPool * next
gpMaterial mat_data[GP_MATERIAL_BUFFER_LEN]
struct DRWPass * mask_invert_ps
struct DRWPass * smaa_weight_ps
struct DRWPass * merge_depth_ps
struct DRWPass * composite_ps
struct DRWPass * smaa_resolve_ps
struct DRWPass * smaa_edge_ps
float object_bound_mat[4][4]
GPENCIL_LightPool * last_light_pool
struct BLI_memblock * gp_vfx_pool
GPUTexture * scene_depth_tx
struct bGPDstroke * sbuffer_stroke
struct BLI_memblock * gp_layer_pool
GPUTexture * color_object_tx
GPENCIL_LightPool * shadeless_light_pool
GPUTexture * smaa_weight_tx
struct bGPDlayer * sbuffer_layer
struct ViewLayer * view_layer
bool snapshot_buffer_dirty
struct GPENCIL_PrivateData::@212 sbuffer_tobjects
struct BLI_memblock * gp_maskbit_pool
struct BLI_memblock * gp_object_pool
float vertex_paint_opacity
float fade_gp_object_opacity
float v3d_single_color[3]
GPENCIL_LightPool * global_light_pool
float fade_3d_object_opacity
struct BLI_memblock * gp_material_pool
struct GPENCIL_PrivateData::@211 tobjects_infront
struct GPENCIL_PrivateData::@211 tobjects
GPUFrameBuffer * scene_fb
GPUTexture * smaa_edge_tx
bool use_multiedit_lines_only
GPUTexture * reveal_layer_tx
struct bGPdata * sbuffer_gpd
GPUTexture * color_layer_tx
struct BLI_memblock * gp_light_pool
GPENCIL_MaterialPool * last_material_pool
GPUTexture * reveal_object_tx
struct GPENCIL_PrivateData * pd
struct GPUTexture * snapshot_reveal_tx
struct GPUTexture * smaa_area_tx
struct GPUTexture * snapshot_depth_tx
struct GPUTexture * snapshot_color_tx
struct GPUTexture * smaa_search_tx
struct GPUTexture * render_depth_tx
struct GPUTexture * render_color_tx
struct GPUTexture * dummy_texture
struct BLI_memblock * gp_vfx_pool
struct BLI_memblock * gp_material_pool
struct BLI_memblock * gp_maskbit_pool
struct BLI_memblock * gp_light_pool
struct BLI_memblock * gp_layer_pool
struct BLI_memblock * gp_object_pool
DRWShadingGroup * base_shgrp
BLI_bitmap * mask_invert_bits
struct GPENCIL_tLayer * next
struct GPENCIL_tObject::@210 vfx
struct GPENCIL_tObject::@209 layers
struct GPENCIL_tObject * next
GPUFrameBuffer ** target_fb
struct GPENCIL_tVfx * next
float fill_uv_transform[3][2]