58 rcti visible_rect = rect;
67 bool is_default_border =
BLI_rctf_compare(&scene->r.border, &default_border, 0.0f);
68 bool use_border = scene->r.mode &
R_BORDER;
69 if (!is_default_border && use_border) {
75 rect.
xmin =
floorf(viewborder.
xmin + (scene->r.border.xmin * viewborder_sizex));
76 rect.
ymin =
floorf(viewborder.
ymin + (scene->r.border.ymin * viewborder_sizey));
77 rect.
xmax =
floorf(viewborder.
xmin + (scene->r.border.xmax * viewborder_sizex));
78 rect.
ymax =
floorf(viewborder.
ymin + (scene->r.border.ymax * viewborder_sizey));
90 visible_rect.
xmax = vp_size[0];
91 visible_rect.
ymax = vp_size[1];
92 visible_rect.
xmin = visible_rect.
ymin = 0;
100 size, &rect, &visible_rect,
nullptr,
depsgraph, camera,
nullptr, default_view, v3d, rv3d);
121 reinterpret_cast<EEVEE_Data *
>(vedata)->instance->begin_sync();
126 reinterpret_cast<EEVEE_Data *
>(vedata)->instance->object_sync(
object);
131 reinterpret_cast<EEVEE_Data *
>(vedata)->instance->end_sync();
137 instance->view_update();
167 rcti visible_rect = rect;
169 instance->init(size, &rect, &visible_rect, engine,
depsgraph, camera_original_ob, layer);
170 instance->render_frame(engine, layer, viewname);
188 eevee::Instance::update_passes(engine, scene, view_layer);
216 "BLENDER_EEVEE_NEXT",
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
void BLI_rctf_init(struct rctf *rect, float xmin, float xmax, float ymin, float ymax)
BLI_INLINE float BLI_rctf_size_x(const struct rctf *rct)
BLI_INLINE float BLI_rctf_size_y(const struct rctf *rct)
bool BLI_rctf_compare(const struct rctf *rect_a, const struct rctf *rect_b, float limit)
#define STRNCPY(dst, src)
char DRWViewportEmptyList
#define DRW_VIEWPORT_DATA_SIZE(ty)
const rcti * ED_region_visible_rect(ARegion *region)
void ED_view3d_calc_camera_border(const Scene *scene, const Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, const RegionView3D *rv3d, bool no_shift, rctf *r_viewborder)
void GPU_framebuffer_viewport_reset(GPUFrameBuffer *framebuffer)
int GPU_texture_height(const GPUTexture *texture)
int GPU_texture_width(const GPUTexture *texture)
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object instance
A running instance of the engine.
void init(const int2 &output_res, const rcti *output_rect, const rcti *visible_rect, RenderEngine *render, Depsgraph *depsgraph, Object *camera_object=nullptr, const RenderLayer *render_layer=nullptr, const DRWView *drw_view=nullptr, const View3D *v3d=nullptr, const RegionView3D *rv3d=nullptr)
void store_metadata(RenderResult *render_result)
void draw_viewport_image_render()
static void module_free()
const Depsgraph * depsgraph
bool DRW_state_is_viewport_image_render()
DefaultFramebufferList * DRW_viewport_framebuffer_list_get()
const float * DRW_viewport_size_get()
DefaultTextureList * DRW_viewport_texture_list_get()
void DRW_render_to_image(RenderEngine *engine, Depsgraph *depsgraph)
const DRWContextState * DRW_context_state_get()
const DRWView * DRW_view_default_get()
void DRW_view_set_active(const DRWView *view)
static void eevee_engine_free()
static void eevee_cache_init(void *vedata)
static void eevee_view_update(void *vedata)
static const DrawEngineDataSize eevee_data_size
static void eevee_instance_free(void *instance)
static void eevee_cache_finish(void *vedata)
static void eevee_render_update_passes(RenderEngine *engine, Scene *scene, ViewLayer *view_layer)
static void eevee_cache_populate(void *vedata, Object *object)
DrawEngineType draw_engine_eevee_next_type
static void eevee_store_metadata(void *vedata, RenderResult *render_result)
static void eevee_render_to_image(void *vedata, RenderEngine *engine, RenderLayer *layer, const rcti *)
static void eevee_draw_scene(void *vedata)
RenderEngineType DRW_engine_viewport_eevee_next_type
static void eevee_engine_init(void *vedata)
void RE_GetViewPlane(Render *re, rctf *r_viewplane, rcti *r_disprect)
Object * RE_GetCamera(Render *re)
VecBase< int32_t, 2 > int2
const char * RE_GetActiveRenderView(Render *re)
GPUFrameBuffer * default_fb
DRWViewportEmptyList * fbl
DRWViewportEmptyList * txl
DrawEngineType * engine_type
DRWViewportEmptyList * psl
DRWViewportEmptyList * stl
eevee::Instance * instance