13#include <fmt/format.h>
81 friend VelocityModule;
82 friend MotionBlurModule;
85 static void *debug_scope_render_sample;
86 static void *debug_scope_irradiance_setup;
87 static void *debug_scope_irradiance_sample;
90 bool overlays_enabled_ =
false;
91 bool skip_render_ =
false;
94 std::string info_ =
"";
219 const rcti *output_rect,
220 const rcti *visible_rect,
223 Object *camera_object =
nullptr,
225 View *drw_view_ =
nullptr,
279 template<
typename... Args>
void info_append(
const char *msg, Args &&...args)
281 std::string fmt_msg = fmt::format(fmt::runtime(msg), args...) +
"\n";
283 if (info_ != fmt_msg && !
BLI_str_endswith(info_.c_str(), fmt_msg.c_str())) {
292 std::string fmt_msg = fmt::format(fmt::runtime(
RPT_(msg)), args...) +
"\n";
294 if (info_ != fmt_msg && !
BLI_str_endswith(info_.c_str(), fmt_msg.c_str())) {
301 return info_.c_str();
316 return overlays_enabled_;
364 void render_sample();
369 void update_eval_members();
371 void set_time(
float time);
376 DebugScope(
void *&scope_p,
const char *
name)
378 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
bool DEG_id_type_any_exists(const Depsgraph *depsgraph, short id_type)
@ 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
int recalc_flags(uint64_t last_update) const
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