37 const rcti *output_rect,
58 update_eval_members();
66 void Instance::set_time(
float time)
70 update_eval_members();
73 void Instance::update_eval_members()
116 if (!is_renderable_type || (!partsys_is_visible && !object_is_visible)) {
130 if (object_is_visible) {
159 void Instance::object_sync_render(
void *instance_,
200 void Instance::render_sample()
226 this->render_sample();
234 if (pass_type == 0) {
243 std::cout <<
"read " << pass_name << std::endl;
268 std::stringstream ss;
General operations, lookup, etc. for blender objects.
#define LISTBASE_FOREACH(type, var, list)
void BLI_mutex_lock(ThreadMutex *mutex)
void BLI_mutex_unlock(ThreadMutex *mutex)
struct Depsgraph Depsgraph
struct ViewLayer * DEG_get_evaluated_view_layer(const struct Depsgraph *graph)
struct Object * DEG_get_evaluated_object(const struct Depsgraph *depsgraph, struct Object *object)
struct Scene * DEG_get_evaluated_scene(const struct Depsgraph *graph)
ID and Library types, which are fundamental for sdna.
#define EEVEE_RENDER_PASS_MAX_BIT
@ eModifierType_ParticleSystem
float * read_pass(eViewLayerEEVEEPassType pass_type)
static const char * pass_to_render_pass_name(eViewLayerEEVEEPassType pass_type)
void init(const int2 &full_extent, const rcti *output_rect)
eViewLayerEEVEEPassType enabled_passes_get() const
A running instance of the engine.
void draw_viewport(DefaultFramebufferList *dfbl)
Object * camera_eval_object
RenderBuffers render_buffers
const RenderLayer * render_layer
bool gpencil_engine_enabled
void object_sync(Object *ob)
void render_frame(RenderLayer *render_layer, const char *view_name)
const RegionView3D * rv3d
void init(const int2 &output_res, const rcti *output_rect, RenderEngine *render, Depsgraph *depsgraph, const LightProbe *light_probe_=nullptr, Object *camera_object=nullptr, const RenderLayer *render_layer=nullptr, const DRWView *drw_view=nullptr, const View3D *v3d=nullptr, const RegionView3D *rv3d=nullptr)
Object * camera_orig_object
int64_t queued_shaders_count
bool finished_viewport() const
void init(const Scene *scene)
bool do_render_sync() const
ObjectHandle & sync_object(Object *ob)
void sync_gpencil(Object *ob, ObjectHandle &ob_handle)
void sync_mesh(Object *ob, ObjectHandle &ob_handle)
void sync_curves(Object *ob, ObjectHandle &ob_handle, ModifierData *modifier_data=nullptr)
const Depsgraph * depsgraph
void DRW_render_instance_buffer_finish(void)
bool DRW_object_is_renderable(const Object *ob)
int DRW_object_visibility_in_active_context(const Object *ob)
const DRWContextState * DRW_context_state_get(void)
void DRW_cache_restart(void)
void DRW_render_set_time(RenderEngine *engine, Depsgraph *depsgraph, int frame, float subframe)
void DRW_viewport_request_redraw(void)
void DRW_render_object_iter(void *vedata, RenderEngine *engine, struct Depsgraph *depsgraph, void(*callback)(void *vedata, Object *ob, RenderEngine *engine, struct Depsgraph *depsgraph))
MINLINE float fractf(float a)
RenderPass * RE_pass_find_by_name(RenderLayer *rl, const char *name, const char *viewname)
struct Object * object_edit
ThreadMutex update_render_passes_mutex