13#include <fmt/format.h>
76 friend VelocityModule;
77 friend MotionBlurModule;
80 static void *debug_scope_render_sample;
81 static void *debug_scope_irradiance_setup;
82 static void *debug_scope_irradiance_sample;
85 bool overlays_enabled_ =
false;
86 bool skip_render_ =
false;
89 std::string info_ =
"";
212 const rcti *output_rect,
213 const rcti *visible_rect,
216 Object *camera_object =
nullptr,
218 View *drw_view_ =
nullptr,
272 template<
typename... Args>
void info_append(
const char *msg, Args &&...args)
274 info_ += fmt::format(fmt::runtime(msg), args...);
282 std::string fmt_msg = fmt::format(fmt::runtime(
RPT_(msg)), args...) +
"\n";
284 if (info_ != fmt_msg && !
BLI_str_endswith(info_.c_str(), fmt_msg.c_str())) {
291 return info_.c_str();
306 return overlays_enabled_;
370 void render_sample();
375 void update_eval_members();
377 void set_time(
float time);
382 DebugScope(
void *&scope_p,
const char *name)
384 if (scope_p ==
nullptr) {
General operations, lookup, etc. for blender objects.
int bool bool BLI_str_endswith(const char *__restrict str, const char *__restrict end) ATTR_NONNULL(1
#define SET_FLAG_FROM_TEST(value, test, flag)
bool DEG_id_type_any_exists(const Depsgraph *depsgraph, short id_type)
struct ObjectRuntimeHandle ObjectRuntimeHandle
@ V3D_SHADING_SCENE_WORLD_RENDER
@ V3D_SHADING_SCENE_WORLD
@ V3D_SHADING_SCENE_LIGHTS
@ V3D_SHADING_SCENE_LIGHTS_RENDER
void GPU_debug_capture_scope_end(void *scope)
bool GPU_debug_capture_scope_begin(void *scope)
void * GPU_debug_capture_scope_create(const char *name)
BMesh const char void * data
BPy_StructRNA * depsgraph
unsigned long long int uint64_t
VolumeProbeModule volume_probes
bool use_lookdev_overlay() const
void render_frame(RenderEngine *engine, RenderLayer *render_layer, const char *view_name)
bool use_scene_lights() const
bool is_viewport_compositor_enabled
SphereProbeModule sphere_probes
ShaderGroups loaded_shaders
AmbientOcclusion ambient_occlusion
RayTraceModule raytracing
bool use_studio_light() const
void info_append_i18n(const char *msg, Args &&...args)
bool gpencil_engine_enabled() const
SubsurfaceModule subsurface
bool overlays_enabled() const
Object * camera_eval_object
int get_recalc_flags(const ::World &world)
ShaderGroups needed_shaders
void light_bake_irradiance(Object &probe, FunctionRef< void()> context_enable, FunctionRef< void()> context_disable, FunctionRef< bool()> stop, FunctionRef< void(LightProbeGridCacheFrame *, float progress)> result_update)
bool needs_lightprobe_sphere_passes() const
int get_recalc_flags(const ObjectRef &ob_ref)
bool needs_planar_probe_passes() const
void object_sync(ObjectRef &ob_ref, Manager &manager) final
RenderBuffers render_buffers
const RenderLayer * render_layer
const DRWContext * draw_ctx
bool is_viewport_image_render
const RegionView3D * rv3d
blender::StringRefNull name_get() final
void store_metadata(RenderResult *render_result)
void info_append(const char *msg, Args &&...args)
DepthOfField depth_of_field
PlanarProbeModule planar_probes
void draw_viewport_image_render()
static void update_passes(RenderEngine *engine, Scene *scene, ViewLayer *view_layer)
bool is_loaded(ShaderGroups groups) const
bool do_lightprobe_sphere_sync() const
UniformDataModule uniform_data
LightProbeModule light_probes
MotionBlurModule motion_blur
void init_light_bake(Depsgraph *depsgraph, draw::Manager *manager)
Object * camera_orig_object
bool do_planar_probe_sync() const
draw::UniformBuffer< UniformData > UniformDataBuf
T clamp(const T &a, const T &min, const T &max)
VecBase< int32_t, 2 > int2
ObjectRuntimeHandle * runtime