Blender  V2.93
Macros | Functions | Variables
image_engine.c File Reference
#include "DRW_render.h"
#include "BKE_image.h"
#include "BKE_main.h"
#include "BKE_object.h"
#include "DNA_camera_types.h"
#include "DNA_screen_types.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "ED_image.h"
#include "GPU_batch.h"
#include "image_engine.h"
#include "image_private.h"

Go to the source code of this file.

Macros

#define IMAGE_DRAW_FLAG_SHOW_ALPHA   (1 << 0)
 
#define IMAGE_DRAW_FLAG_APPLY_ALPHA   (1 << 1)
 
#define IMAGE_DRAW_FLAG_SHUFFLING   (1 << 2)
 
#define IMAGE_DRAW_FLAG_DEPTH   (1 << 3)
 
#define IMAGE_DRAW_FLAG_DO_REPEAT   (1 << 4)
 
#define IMAGE_DRAW_FLAG_USE_WORLD_POS   (1 << 5)
 

Functions

static void image_cache_image_add (DRWShadingGroup *grp, Image *image, ImBuf *ibuf)
 
static void space_image_gpu_texture_get (Image *image, ImageUser *iuser, ImBuf *ibuf, GPUTexture **r_gpu_texture, bool *r_owns_texture, GPUTexture **r_tex_tile_data)
 
static void space_node_gpu_texture_get (Image *image, ImageUser *iuser, ImBuf *ibuf, GPUTexture **r_gpu_texture, bool *r_owns_texture, GPUTexture **r_tex_tile_data)
 
static void image_gpu_texture_get (Image *image, ImageUser *iuser, ImBuf *ibuf, GPUTexture **r_gpu_texture, bool *r_owns_texture, GPUTexture **r_tex_tile_data)
 
static void image_cache_image (IMAGE_Data *vedata, Image *image, ImageUser *iuser, ImBuf *ibuf)
 
Engine Callbacks
static void IMAGE_engine_init (void *ved)
 
static void IMAGE_cache_init (void *ved)
 
static void IMAGE_cache_populate (void *UNUSED(vedata), Object *UNUSED(ob))
 
static void image_draw_finish (IMAGE_Data *ved)
 
static void IMAGE_draw_scene (void *ved)
 
static void IMAGE_engine_free (void)
 

Variables

static const DrawEngineDataSize IMAGE_data_size = DRW_VIEWPORT_DATA_SIZE(IMAGE_Data)
 
DrawEngineType draw_engine_image_type
 

Detailed Description

Draw engine to draw the Image/UV editor

Definition in file image_engine.c.

Macro Definition Documentation

◆ IMAGE_DRAW_FLAG_APPLY_ALPHA

#define IMAGE_DRAW_FLAG_APPLY_ALPHA   (1 << 1)

Definition at line 45 of file image_engine.c.

◆ IMAGE_DRAW_FLAG_DEPTH

#define IMAGE_DRAW_FLAG_DEPTH   (1 << 3)

Definition at line 47 of file image_engine.c.

◆ IMAGE_DRAW_FLAG_DO_REPEAT

#define IMAGE_DRAW_FLAG_DO_REPEAT   (1 << 4)

Definition at line 48 of file image_engine.c.

◆ IMAGE_DRAW_FLAG_SHOW_ALPHA

#define IMAGE_DRAW_FLAG_SHOW_ALPHA   (1 << 0)

Definition at line 44 of file image_engine.c.

◆ IMAGE_DRAW_FLAG_SHUFFLING

#define IMAGE_DRAW_FLAG_SHUFFLING   (1 << 2)

Definition at line 46 of file image_engine.c.

◆ IMAGE_DRAW_FLAG_USE_WORLD_POS

#define IMAGE_DRAW_FLAG_USE_WORLD_POS   (1 << 5)

Definition at line 49 of file image_engine.c.

Function Documentation

◆ image_cache_image()

static void image_cache_image ( IMAGE_Data vedata,
Image image,
ImageUser iuser,
ImBuf ibuf 
)
static

◆ image_cache_image_add()

static void image_cache_image_add ( DRWShadingGroup grp,
Image image,
ImBuf ibuf 
)
static

◆ IMAGE_cache_init()

static void IMAGE_cache_init ( void *  ved)
static

◆ IMAGE_cache_populate()

static void IMAGE_cache_populate ( void *  UNUSEDvedata,
Object UNUSEDob 
)
static

Definition at line 374 of file image_engine.c.

◆ image_draw_finish()

static void image_draw_finish ( IMAGE_Data ved)
static

◆ IMAGE_draw_scene()

static void IMAGE_draw_scene ( void *  ved)
static

◆ IMAGE_engine_free()

static void IMAGE_engine_free ( void  )
static

Definition at line 420 of file image_engine.c.

References IMAGE_shader_free().

◆ IMAGE_engine_init()

static void IMAGE_engine_init ( void *  ved)
static

◆ image_gpu_texture_get()

static void image_gpu_texture_get ( Image image,
ImageUser iuser,
ImBuf ibuf,
GPUTexture **  r_gpu_texture,
bool *  r_owns_texture,
GPUTexture **  r_tex_tile_data 
)
static

◆ space_image_gpu_texture_get()

static void space_image_gpu_texture_get ( Image image,
ImageUser iuser,
ImBuf ibuf,
GPUTexture **  r_gpu_texture,
bool *  r_owns_texture,
GPUTexture **  r_tex_tile_data 
)
static

◆ space_node_gpu_texture_get()

static void space_node_gpu_texture_get ( Image image,
ImageUser iuser,
ImBuf ibuf,
GPUTexture **  r_gpu_texture,
bool *  r_owns_texture,
GPUTexture **  r_tex_tile_data 
)
static

Definition at line 147 of file image_engine.c.

References BKE_image_get_gpu_texture(), and NULL.

Referenced by image_gpu_texture_get().

Variable Documentation

◆ draw_engine_image_type

DrawEngineType draw_engine_image_type
Initial value:
= {
NULL,
NULL,
N_("UV/Image"),
NULL,
NULL,
NULL,
NULL,
NULL,
}
#define N_(msgid)
static void IMAGE_cache_init(void *ved)
Definition: image_engine.c:329
static void IMAGE_draw_scene(void *ved)
Definition: image_engine.c:403
static void IMAGE_cache_populate(void *UNUSED(vedata), Object *UNUSED(ob))
Definition: image_engine.c:374
static const DrawEngineDataSize IMAGE_data_size
Definition: image_engine.c:427
static void IMAGE_engine_init(void *ved)
Definition: image_engine.c:314
static void IMAGE_engine_free(void)
Definition: image_engine.c:420

Definition at line 429 of file image_engine.c.

Referenced by drw_engines_enable_editors(), and DRW_engines_register().

◆ IMAGE_data_size

const DrawEngineDataSize IMAGE_data_size = DRW_VIEWPORT_DATA_SIZE(IMAGE_Data)
static

Definition at line 427 of file image_engine.c.