Blender V4.3
gpencil_shader_fx.cc File Reference
#include "DNA_camera_types.h"
#include "DNA_gpencil_legacy_types.h"
#include "DNA_shader_fx_types.h"
#include "DNA_view3d_types.h"
#include "BKE_gpencil_legacy.h"
#include "BLI_link_utils.h"
#include "BLI_memblock.h"
#include "DRW_render.hh"
#include "BKE_camera.h"
#include "gpencil_engine.h"

Go to the source code of this file.

Classes

struct  gpIterVfxData
 

Functions

static bool effect_is_active (ShaderFxData *fx, bool is_edit, bool is_viewport)
 
static DRWShadingGroupgpencil_vfx_pass_create (const char *name, DRWState state, gpIterVfxData *iter, GPUShader *sh, GPUSamplerState sampler=GPUSamplerState::internal_sampler())
 
static void gpencil_vfx_blur (BlurShaderFxData *fx, Object *ob, gpIterVfxData *iter)
 
static void gpencil_vfx_colorize (ColorizeShaderFxData *fx, Object *, gpIterVfxData *iter)
 
static void gpencil_vfx_flip (FlipShaderFxData *fx, Object *, gpIterVfxData *iter)
 
static void gpencil_vfx_rim (RimShaderFxData *fx, Object *ob, gpIterVfxData *iter)
 
static void gpencil_vfx_pixelize (PixelShaderFxData *fx, Object *ob, gpIterVfxData *iter)
 
static void gpencil_vfx_shadow (ShadowShaderFxData *fx, Object *ob, gpIterVfxData *iter)
 
static void gpencil_vfx_glow (GlowShaderFxData *fx, Object *, gpIterVfxData *iter)
 
static void gpencil_vfx_wave (WaveShaderFxData *fx, Object *ob, gpIterVfxData *iter)
 
static void gpencil_vfx_swirl (SwirlShaderFxData *fx, Object *, gpIterVfxData *iter)
 
void gpencil_vfx_cache_populate (GPENCIL_Data *vedata, Object *ob, GPENCIL_tObject *tgp_ob, const bool is_edit_mode)
 

Function Documentation

◆ effect_is_active()

static bool effect_is_active ( ShaderFxData * fx,
bool is_edit,
bool is_viewport )
static

◆ gpencil_vfx_blur()

◆ gpencil_vfx_cache_populate()

void gpencil_vfx_cache_populate ( GPENCIL_Data * vedata,
Object * ob,
GPENCIL_tObject * tgp_ob,
const bool is_edit_mode )

Definition at line 588 of file gpencil_shader_fx.cc.

References GPENCIL_PrivateData::color_layer_tx, GPENCIL_PrivateData::color_object_tx, GPENCIL_tObject::do_mat_holdout, DRW_shgroup_call_procedural_triangles(), DRW_shgroup_create_sub(), DRW_shgroup_state_disable(), DRW_shgroup_state_enable(), DRW_shgroup_uniform_int_copy(), DRW_STATE_BLEND_ADD_FULL, DRW_STATE_BLEND_MUL, DRW_STATE_WRITE_COLOR, effect_is_active(), eShaderFxType_Blur, eShaderFxType_Colorize, eShaderFxType_Flip, eShaderFxType_Glow, eShaderFxType_Pixel, eShaderFxType_Rim, eShaderFxType_Shadow, eShaderFxType_Swirl, eShaderFxType_Wave, GPENCIL_Data::fbl, GPENCIL_tObject::first, GPENCIL_FramebufferList::gpencil_fb, GPENCIL_shader_fx_composite_get(), gpencil_vfx_blur(), gpencil_vfx_colorize(), gpencil_vfx_flip(), gpencil_vfx_glow(), gpencil_vfx_pass_create(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), GPENCIL_PrivateData::is_viewport, GPENCIL_FramebufferList::layer_fb, LISTBASE_FOREACH, GPENCIL_FramebufferList::object_fb, GPENCIL_StorageList::pd, gpIterVfxData::pd, GPENCIL_PrivateData::reveal_layer_tx, GPENCIL_PrivateData::reveal_object_tx, Object::shader_fx, GPENCIL_PrivateData::simplify_fx, gpIterVfxData::source_color_tx, gpIterVfxData::source_fb, gpIterVfxData::source_reveal_tx, state, GPENCIL_Data::stl, gpIterVfxData::target_color_tx, gpIterVfxData::target_fb, gpIterVfxData::target_reveal_tx, gpIterVfxData::tgp_ob, GPENCIL_PrivateData::use_layer_fb, GPENCIL_PrivateData::use_object_fb, and GPENCIL_tObject::vfx.

Referenced by GPENCIL_cache_populate().

◆ gpencil_vfx_colorize()

◆ gpencil_vfx_flip()

◆ gpencil_vfx_glow()

◆ gpencil_vfx_pass_create()

◆ gpencil_vfx_pixelize()

◆ gpencil_vfx_rim()

◆ gpencil_vfx_shadow()

◆ gpencil_vfx_swirl()

◆ gpencil_vfx_wave()